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 : voidRemarques
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-
Lancement d’un nuanceur de maillage seul avec un pointeur de charge utile transmis manuellement
-
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.libPlateformes prises en charge : consoles XBOX Series
