> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETERS

> Paramètres de remplacement des paramètres de lancement de l'objet d'état de pipeline de calcul.

Paramètres substituables des paramètres de lancement de l'objet d'état de pipeline de calcul.

## Syntaxe

```cpp theme={null}
typedef struct D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETERS
{
    union
    {
        struct
        {
            UINT Flags          :  7;
            UINT LDSSize        :  9;
            UINT NumThreadZ     : 16;
        };
        UINT Dword0;
    };
    union
    {
        struct
        {
             UINT NumThreadX    : 16;
             UINT NumThreadY    : 16;
        };
        UINT Dword1;
    };
} D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETERS;
```

### Membres

*Flags*\
Type : [D3D12XBOX\_COMPUTE\_SHADER\_LAUNCH\_PARAMETER\_FLAGS](/fr/reference/graphics/d3d12_xs/enums/d3d12xbox_compute_shader_launch_param_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](/fr/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_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](/fr/reference/graphics/d3d12_xs/enums/d3d12_indirect_argument_type_xs)) en exécution indirecte.

### Mode WGP et mode CU

<a id="wgp_vs_cu_mode" />

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](/fr/reference/graphics/d3d12_xs/d3d12_xs_members)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr/nda/nda-topic-directory.md)
- [SetComputeRootShaderResourceView](/fr/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputerootshaderresourceview_public.md)
- [D3D12_SHADER_BYTECODE](/fr/reference/graphics/d3d12/structs/d3d12_shader_bytecode_public.md)
- [D3D12_COMPUTE_PIPELINE_STATE_DESC](/fr/reference/graphics/d3d12/structs/d3d12_compute_pipeline_state_desc_public.md)
- [D3D12_ROOT_PARAMETER](/fr/reference/graphics/d3d12/structs/d3d12_root_parameter_public.md)
