Share via


ID3D12GraphicsCommandList4 ::ExecuteMetaCommand, méthode (d3d12.h)

Enregistre l’exécution (ou l’appel) de la méta-commande spécifiée dans une liste de commandes graphiques.

Appelez ID3D12GraphicsCommandList4 ::InitializeMetaCommand avant d’exécuter une meta commande. Pendant l’appel, vous pouvez spécifier des remplacements pour les valeurs de n’importe quel paramètre d’exécution. Vous pouvez exécuter plusieurs méta-commandes sur la même liste de commandes graphiques. Et vous pouvez exécuter la même méta-commande plusieurs fois dans la même liste de commandes.

Avec une capture PIX effectuée à l’aide de méta-commandes, vous pouvez lire cela sur la même configuration matérielle. Mais, de par sa conception, il n’est pas portable pour d’autres GPU.

Syntaxe

void ExecuteMetaCommand(
  [in]           ID3D12MetaCommand *pMetaCommand,
  [in, optional] const void        *pExecutionParametersData,
  [in]           SIZE_T            ExecutionParametersDataSizeInBytes
);

Paramètres

[in] pMetaCommand

Pointeur vers un ID3D12MetaCommand représentant la méta-commande à initialiser.

[in, optional] pExecutionParametersData

Pointeur facultatif vers une structure constante contenant les valeurs des paramètres pour l’exécution de la commande meta.

[in] ExecutionParametersDataSizeInBytes

Une SIZE_T contenant la taille de la structure pointée vers par pExecutionParametersData, si elle est définie, sinon 0.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Votre application est responsable de la configuration des ressources fournies à une méta-commande dans l’état requis selon la spécification de meta command. La spécification de définition de meta command définit l’état de ressource attendu pour chaque paramètre. Votre application est chargée d’insérer des barrières d’affichage d’accès non ordonné (UAV) pour les ressources d’entrée avant que l’algorithme de la méta-commande ne puisse les consommer. Vous êtes également responsable de l’insertion de la barrière UAV pour les ressources de sortie lorsque vous envisagez de les lire.

Lors d’un appel d’algorithme, le pilote peut insérer autant de barrières UAV dans les ressources de sortie que nécessaire pour synchroniser l’utilisation des ressources de sortie dans l’implémentation de l’algorithme. Du point de vue de votre application, vous devez supposer que toutes les ressources sortantes et entrantes sont écrites dans la commande meta, y compris la mémoire de travail.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d12.h

Voir aussi

ID3D12GraphicsCommandList4