> ## 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.

# SetComputeShaderLaunchParametersX (consoles XBOX Series)

> Remplacement sélectif des paramètres de lancement de l'objet d'état de pipeline de calcul.

Remplacement sélectif des paramètres de lancement de l'objet d'état de pipeline de calcul.

## Syntaxe

```cpp theme={null}
void SetComputeShaderLaunchParametersX(
         const D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETERS* pLaunchParameters  
)
```

### Paramètres

*pLaunchParameters*   \_In\_opt\_\
Type : [D3D12XBOX\_COMPUTE\_SHADER\_LAUNCH\_PARAMETERS\*](/fr/reference/graphics/d3d12_xs/structs/d3d12xbox_compute_shader_launch_params)

Pointeur vers les paramètres de lancement du compute shader à remplacer dans l'objet d'état de pipeline.

### Valeur de retour

Type : void

Aucune valeur de retour.

## Remarques

Permet de remplacer de manière sélective la taille LDS, la taille des groupes de threads et les paramètres de mode WGP/CU des paramètres de lancement de l'objet d'état de pipeline de calcul actuellement défini. Cette fonction vous permet de modifier les paramètres de façon légère, ce qui convient aux cas d'usage dans lesquels vous ne pouvez pas construire de manière statique toutes les permutations nécessaires des objets d'état de pipeline de calcul.

Cette fonction peut également être utilisée pour des dispatchs indirects à l'aide du 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)) sur la file d'attente de commandes graphiques.

<Info>
  Vous devez appeler `SetPipelineState` (ou utiliser l'argument `D3D12XBOX_INDIRECT_ARGUMENT_TYPE_PIPELINE_STATE` correspondant pour le définir de manière indirecte) avec un objet d'état de pipeline de calcul avant d'utiliser cette fonction. Les paramètres restent remplacés jusqu'à ce que vous définissiez un nouvel objet d'état de pipeline de calcul ou que le pilote effectue une opération (comme un effacement ou une décompression de ressource) qui réinitialise par ailleurs l'objet d'état de pipeline de calcul actuellement défini.
</Info>

<Info>
  Lorsque vous remplacez la taille des groupes de threads, votre shader ne peut pas s'appuyer sur les valeurs système `SV_DispatchThreadID` ou `SV_GroupIndex`, car elles sont calculées à partir de la taille de groupe spécifiée lors de la compilation du shader (attribut HLSL `[numthreads(XSize, YSize, ZSize)]` sur le point d'entrée du shader). La seule exception à cette limitation est lorsque le shader a été compilé à l'origine en tant que groupe de threads 1D et que vous ne modifiez que cette même dimension, ce qui vous permet de continuer à utiliser `SV_GroupIndex`.
</Info>

<Info>
  Si votre shader a été compilé avec une taille de groupe de threads inférieure ou égale à la taille de vague sous-jacente, le compilateur de shaders peut supprimer par optimisation tous les appels que vous effectuez à `GroupMemoryBarrier[WithGroupSync]`. Si ces conditions s'appliquent et que vous avez l'intention d'étendre la taille du groupe au-delà d'une seule vague, vous devez vous assurer que le shader est compilé avec une taille de groupe `numthreads` supérieure à une seule vague afin d'empêcher cette optimisation. Nous vous recommandons de définir `numthreads` dans le shader sur la taille de groupe maximale avec laquelle vous prévoyez de l'exécuter.
</Info>

## Configuration requise

**En-tête :** d3d12\_xs.h

**Bibliothèque :** d3d12\_xs.lib\
**Plateformes prises en charge :** consoles XBOX Series

## Voir aussi

[ID3D12GraphicsCommandList6](/fr/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/id3d12graphicscommandlist6)


## 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)
- [SetComputeRootSignature](/fr/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputerootsignature_public.md)
- [Pourquoi les Mesh Shaders ?](/fr/build/core-features/graphics/newfeatures/ms/ms-why.md)
- [SetComputeRoot32BitConstants](/fr/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputeroot32bitconstants_public.md)
