Syntaxe
Membres
FlagsType : 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’argumentD3D12XBOX_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.hPlateformes prises en charge : consoles XBOX Series
