Passer au contenu principal
Méthode d’extension permettant un contrôle plus précis des lancements de nuanceurs de maillage (Mesh Shader). Elle permet de lancer soit le nuanceur d’amplification (Amplification Shader), soit le nuanceur de maillage du PSO actuellement lié.

Syntaxe

Paramètres

ThreadGroupCountX   _In_
Type : UINT
Tous les appels de nuanceur de maillage sur XBOX sont unidimensionnels. Ce paramètre spécifie le nombre de groupes de threads à lancer. Flags   _In_
Type : UINT64
Valeur 0 : lancer des groupes de threads de nuanceur de maillage Valeur 1 : lancer des groupes de threads de nuanceur d’amplification IndirectArgsPointer   _In_
Type : UINT64
Pointeur vers les arguments indirects de destination dans lesquels le nuanceur d’amplification doit écrire.
Les enregistrements écrits sont de la forme D3D12XBOX_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH_X.
S’il doit être utilisé dans un appel ExecuteIndirect, le pointeur doit pointer à l’intérieur d’une ressource de mémoire tampon dotée de l’indicateur D3D12XBOX_RESOURCE_FLAG_ALLOW_INDIRECT_BUFFER.
Ce pointeur doit être aligné sur 256 octets et ne peut pas comporter plus de 40 bits définis (l’ABI le décale de 8 bits vers la droite pour en faire une valeur 32 bits avant de le transmettre au nuanceur).
Le pointeur doit être 0 lorsque le nuanceur d’amplification n’est pas sélectionné.
La mémoire tampon doit être suffisamment grande pour contenir ThreadGroupCountX instances de D3D12XBOX_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH_X.
PayloadPointer   _In_
Type : UINT64
Pointeur vers la destination ou la source du stockage de la charge utile du nuanceur de maillage.
Si le nuanceur d’amplification est sélectionné, il pointe vers l’emplacement où la charge utile par groupe de threads est écrite. Le pointeur de charge utile doit être aligné sur 256 octets lorsqu’il est utilisé comme destination (l’ABI le décale de 8 bits vers la droite pour en faire une valeur 32 bits avant de le transmettre au nuanceur).
Si le nuanceur de maillage est sélectionné, il pointe vers la source de la charge utile utilisée dans le nuanceur de maillage. Le pointeur de charge utile doit être aligné sur 16 octets lorsqu’il est utilisé comme source.
Dans les deux cas, la mémoire tampon ne peut pas comporter plus de 40 bits définis.

Valeur de retour

Type : void

Remarques

Lorsqu’un DispatchMesh standard est appelé, le pilote utilise essentiellement cette fonctionnalité, mais fournit la signature de commande ExecuteIndirect et les mémoires tampons temporaires. Voici quelques exemples d’utilisation
  1. Lancement d’un nuanceur de maillage uniquement, avec un pointeur de charge utile transmis manuellement
  2. Lancement d’un nuanceur d’amplification, puis ExecuteIndirect du nuanceur de maillage

Configuration requise

En-tête : d3d12_xs.h Bibliothèque : d3d12_xs.lib
Plateformes prises en charge : consoles XBOX Series

Voir aussi

ID3D12GraphicsCommandList
Dernière modification le 6 octobre 2026