Skip to main content
Réglages remplaçables des paramètres de lancement de l’objet d’état de pipeline de calcul.

Syntaxe

Membres

Flags
Type : D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETER_FLAGS
Les indicateurs de contrôle déterminent quelle partie des paramètres de lancement est remplacée. LDSSize
Type : UINT
Taille LDS remplacée. Cette valeur contrôle la quantité de mémoire LDS allouée pour chaque groupe de threads. La plage valide est de 0 à 128 (l’unité est de 128 DWORD). Les groupes de threads peuvent allouer au maximum 64 Ko, quel que soit le mode CU/WPG. NumThreadZ
Type : UINT
Nombre de threads dans la dimension Z du groupe. Maximum 2048 (voir les remarques ci-dessous). NumThreadX
Type : UINT
Nombre de threads dans la dimension X du groupe. Maximum 2048 (voir les remarques ci-dessous). NumThreadY
Type : UINT
Nombre de threads dans la dimension Y du groupe. Maximum 2048 (voir les remarques ci-dessous).

Remarques

Cette structure est utilisée dans l’API de liste de commandes SetComputeShaderLaunchParametersX et comme valeur d’argument indirect lors de l’utilisation de l’API au moyen du type d’argument D3D12XBOX_INDIRECT_ARGUMENT_TYPE_COMPUTE_SHADER_LAUNCH_PARAMETERSX (voir D3D12_INDIRECT_ARGUMENT_TYPE) en exécution indirecte.

Mode WGP et mode CU

La mémoire partagée de groupe (LDS) peut fonctionner selon deux modes différents sur les consoles XBOX Series. Chaque WGP dispose de 128 Ko de mémoire LDS, qui peut être divisée en deux (mode CU) ou traitée comme une seule mémoire partagée (mode WGP). En mode CU, chacune des unités de calcul (contenant chacune 2 SIMD) d’un WGP se voit attribuer des vagues appartenant à des groupes de threads différents. Chaque CU a accès à 64 Ko de mémoire LDS au moyen d’un bus dédié, ce qui permet un transfert de données total de 2 * 128 = 256 octets/cycle d’horloge. Les vagues de chaque CU partagent un pool physique de 256 Ko pour les VGPR. En mode WPG, les 4 SIMD d’un WGP se voient attribuer des vagues du même groupe de threads. Les 128 Ko de mémoire LDS sont accessibles comme un seul pool, mais l’accès passe par un seul des bus physiques présents, ce qui signifie que le débit de transfert de données est limité à 128 octets/cycle d’horloge. Les vagues partagent un pool physique de 512 Ko pour les VGPR.

Tailles des groupes de threads

Sur les consoles XBOX Series, la taille maximale d’un groupe de threads est de 32 vagues, quelle que soit la largeur de vague. Cela signifie qu’un nuanceur de calcul compilé en wave-64 (par défaut) prend en charge des tailles de groupe de threads allant jusqu’à 2048 threads (NumThreadX * NumThreadY * NumThreadZ), alors que le même nuanceur compilé en wave-32 ne prend en charge que des groupes allant jusqu’à 1024 threads. Vous pouvez activer la compilation wave-32 en définissant la définition __XBOX_ENABLE_WAVE32 à 1.

Configuration requise

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

Voir aussi

d3d12_xs
Last modified on October 6, 2026