Passer au contenu principal
Paramètres substituables 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 de remplacement. Cette valeur contrôle la quantité de mémoire LDS allouée pour chaque groupe de threads. La plage valide est 0 - 128 (l’unité est 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 (consultez les remarques ci-dessous). NumThreadX
Type : UINT
Nombre de threads dans la dimension X du groupe. Maximum 2048 (consultez les remarques ci-dessous). NumThreadY
Type : UINT
Nombre de threads dans la dimension Y du groupe. Maximum 2048 (consultez 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 via le type d’argument D3D12XBOX_INDIRECT_ARGUMENT_TYPE_COMPUTE_SHADER_LAUNCH_PARAMETERSX (consultez 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 soit divisée en deux (mode CU), soit traitée comme une mémoire partagée unique (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 via un bus dédié, ce qui permet un transfert de données total de 2 * 128 = 256 octets/cycle. 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 pool unique, 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. 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), tandis 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 macro __XBOX_ENABLE_WAVE32 sur 1.

Configuration requise

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

Voir aussi

d3d12_xs
Dernière modification le 6 octobre 2026