Skip to main content
Méthode d’extension permettant un contrôle plus précis des lancements de nuanceurs de maillage (Mesh Shader). Il est possible de lancer soit le nuanceur d’amplification, soit le nuanceur de maillage du PSO actuellement lié.

Syntaxe

Paramètres

ThreadGroupCountX   _In_
Type : UINT
Toutes les invocations de nuanceur de maillage sur XBOX sont unidimensionnelles. 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 écrit.
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 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 dans une valeur de 32 bits avant de le transmettre au nuanceur).
Le pointeur doit être 0 lorsque le nuanceur d’amplification n’est pas sélectionné.
Le tampon doit être suffisamment grand 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 de chaque 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 dans une valeur de 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, le tampon ne peut pas comporter plus de 40 bits définis.

Valeur de retour

Type : void

Remarques

Lorsqu’un DispatchMesh ordinaire est appelé, le pilote utilise essentiellement cette fonctionnalité, mais fournit la signature de commande ExecuteIndirect et les tampons temporaires. Voici quelques exemples d’utilisation
  1. Lancement d’un nuanceur de maillage seul avec un pointeur de charge utile transmis manuellement
  2. Lancement d’un nuanceur d’amplification, puis exécution indirecte (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
Last modified on October 6, 2026