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

# DispatchX (famille XBOX One)

> Exécute une liste de commandes à partir d'un groupe de threads.

Exécute une liste de commandes à partir d'un groupe de threads.

## Syntaxe

```cpp theme={null}
void DispatchX(  
         UINT ThreadGroupCountX,  
         UINT ThreadGroupCountY,  
         UINT ThreadGroupCountZ,  
         D3D12XBOX_DISPATCH_FLAGS Flags  
)  
```

### Paramètres

*ThreadGroupCountX*   \_In\_<br />Type : UINT

Nombre de groupes distribués dans la dimension x. Doit être inférieur ou égal à D3D12\_CS\_DISPATCH\_MAX\_THREAD\_GROUPS\_PER\_DIMENSION (65535).

*ThreadGroupCountY*   \_In\_<br />Type : UINT

Nombre de groupes distribués dans la dimension y. Doit être inférieur ou égal à D3D12\_CS\_DISPATCH\_MAX\_THREAD\_GROUPS\_PER\_DIMENSION (65535).

*ThreadGroupCountZ*   \_In\_<br />Type : UINT

Nombre de groupes distribués dans la dimension z. Doit être inférieur ou égal à D3D12\_CS\_DISPATCH\_MAX\_THREAD\_GROUPS\_PER\_DIMENSION (65535). Au niveau de fonctionnalité 10, la valeur de ThreadGroupCountZ doit être 1.

*Flags*   \_In\_<br />Type : [D3D12XBOX\_DISPATCH\_FLAGS](/fr/reference/graphics/d3d12_x/enums/d3d12xbox_dispatch_flags)

Indicateurs de contrôle de cette opération, sous forme de combinaison d'opérations OR au niveau du bit de constantes d'énumération **D3D12XBOX\_DISPATCH\_FLAGS**.

### Valeur de retour

Type : void

## Remarques

Utilisez cette méthode pour spécifier directement les paramètres de l'initiateur de distribution. Si le nuanceur utilise Ordered Append, vous devez définir **D3D12XBOX\_DISPATCH\_FLAG\_ENABLE\_ORDERED\_APPEND** sur la distribution pour éviter de bloquer le GPU.

Appelez cette méthode pour exécuter des commandes dans un [nuanceur de calcul](https://learn.microsoft.com/en-us/windows/desktop/direct3d11/direct3d-11-advanced-stages-compute-shader). Au sein d'un groupe de threads, un nuanceur de calcul peut s'exécuter sur de nombreux threads en parallèle. Pour indexer un thread particulier au sein d'un groupe de threads, utilisez un vecteur 3D spécifié sous la forme (x,y,z).

Pour l'illustration suivante, supposons que le groupe de threads compte 50 threads et que la taille du groupe soit (5,5,2). Un thread unique est identifié dans un groupe de 50 threads à l'aide du vecteur (4,1,1).

Figure 1. Illustration d'un thread unique au sein d'un groupe de 50 threads

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/nda/d3d11_thread_group_1.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=67cef6acd160adffad7dd767063bd8b4" alt="Diagramme d'un vecteur pour un thread unique dans un groupe de threads." width="240" height="137" data-path="images/nda/d3d11_thread_group_1.png" />

L'illustration suivante montre la relation entre les paramètres passés à Dispatch (ou DispatchX), Dispatch(5,3,2), les valeurs spécifiées dans l'attribut *numthreads*, numthreads(10,8,3), et les valeurs passées au nuanceur de calcul pour les valeurs système liées aux threads : SV\_GroupIndex, SV\_DispatchThreadID, SV\_GroupThreadID et SV\_GroupID.

Figure 2.  Relation entre Dispatch (ou DispatchX), les groupes de threads et les threads

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/nda/threadgroupids.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=2da22e8b2a470f74686450e1aa768b3b" alt="Diagramme qui montre les relations entre les paramètres fournis aux méthodes Dispatch et DispatchX pour le nombre de groupes de threads et les groupes de threads individuels, ainsi que la relation entre un groupe de threads et ses threads individuels, afin d'illustrer la façon dont sont identifiées les différentes valeurs système liées aux threads passées au nuanceur de calcul." width="666" height="615" data-path="images/nda/threadgroupids.png" />

Il s'agit de la version propre à XBOX de la méthode Dispatch. Pour plus d'informations sur la version générique Direct3d 12 de la méthode, consultez [Dispatch](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-dispatch).

## Configuration requise

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

**Bibliothèque :** d3d12\_x.lib

**Plateformes prises en charge :** famille XBOX One

## Voir aussi

[ID3D12GraphicsCommandList](/fr/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/id3d12graphicscommandlist)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr/nda/nda-topic-directory.md)
- [Dispatch](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_dispatch_public.md)
- [Documentation de développement de jeux XBOX](/fr-CA/index.md)
- [IGameInputDispatcher::Dispatch](/reference/input/gameinput/interfaces/IGameInputDispatcher/methods/igameinputdispatcher_dispatch.md)
