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

# SyncTopOfPipeX (consoles XBOX Series)

> Exécute un ensemble d'opérations de synchronisation au haut du pipeline graphique.

Exécute un ensemble d'opérations de synchronisation au haut du pipeline graphique.
Ces opérations de synchronisation sont lancées par le processeur de commandes du GPU.
Le processeur de commandes du GPU se bloque ensuite jusqu'à ce que les opérations de synchronisation soient terminées.

## Syntaxe

```cpp theme={null}
void SyncTopOfPipeX(  
         D3D12XBOX_SYNC_FLAGS SyncFlags,  
         D3D12XBOX_SYNC_CONTROL_FLAGS ControlFlags,  
         D3D12_GPU_VIRTUAL_ADDRESS BaseAddress,  
         SIZE_T SizeInBytes  
)  
```

### Paramètres

*SyncFlags*   \_In\_\
Type : [D3D12XBOX\_SYNC\_FLAGS](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_flags)

Combinaison d'opérations OR au niveau du bit d'indicateurs *D3D12XBOX\_SYNC\_FLAGS* qui définissent l'ensemble des opérations de synchronisation à effectuer.

*ControlFlags*   \_In\_\
Type : [D3D12XBOX\_SYNC\_CONTROL\_FLAGS](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags)

Combinaison d'opérations OR au niveau du bit d'indicateurs *D3D12XBOX\_SYNC\_CONTROL\_FLAGS* qui définissent un ensemble de modifications du contrôle de la synchronisation.

*BaseAddress*   \_In\_\
Type : D3D12\_GPU\_VIRTUAL\_ADDRESS

Adresse de base de la plage de mémoire sur laquelle effectuer la synchronisation.

*SizeInBytes*   \_In\_\
Type : SIZE\_T

Taille, en octets, de la plage de mémoire pointée par le paramètre *BaseAddress*.  Pour appliquer les opérations de synchronisation à toute la mémoire, spécifiez une valeur *BaseAddress* de 0 et une valeur *SizeInBytes* de *D3D12XBOX\_FLUSH\_RANGE\_ALL*.

### Valeur renvoyée

Type : void

## Remarques

Les synchronisations spécifiées sont exécutées dans l'ordre suivant :

* *D3D12XBOX\_SYNC\_FLAG\_SYNC\_CPDMA*
* *D3D12XBOX\_SYNC\_FLAG\_PFP\_SYNC\_ME*
* *D3D12XBOX\_SYNC\_FLAG\_IDLE*
* *D3D12XBOX\_SYNC\_FLAG\_BASE\_COHERENCY*, *D3D12XBOX\_SYNC\_FLAG\_COLOR\_BLOCK\_COHERENCY* et *D3D12XBOX\_SYNC\_FLAG\_DEPTH\_BLOCK\_COHERENCY*
* *D3D12XBOX\_SYNC\_FLAG\_COLOR\_BLOCK\_INVALIDATE* et *D3D12XBOX\_SYNC\_FLAG\_DEPTH\_BLOCK\_INVALIDATE*
* Invalidation et réécritures GCR (*D3D12XBOX\_SYNC\_FLAG\_nCACHE\_x* et *D3D12XBOX\_SYNC\_FLAG\_GLx*)

Les indicateurs de contrôle [D3D12XBOX\_SYNC\_CONTROL\_FLAG\_TOP\_SELECT\_ENGINE\_PFP](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) et
[D3D12XBOX\_SYNC\_CONTROL\_FLAG\_TOP\_SELECT\_ENGINE\_CE](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) peuvent être utilisés pour spécifier quels composants du
processeur de commandes (CP) sont bloqués jusqu'à ce que les opérations de synchronisation spécifiées soient terminées. De plus, les indicateurs
[D3D12XBOX\_SYNC\_CONTROL\_FLAG\_IDLE\_SELECT\_ENGINE\_PFP](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) et
[D3D12XBOX\_SYNC\_CONTROL\_FLAG\_IDLE\_SELECT\_ENGINE\_CE](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) peuvent être utilisés pour contrôler quels composants du
CP participent à l'opération d'inactivité. Dans le cas de [D3D12XBOX\_SYNC\_FLAG\_SYNC\_CPDMA](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_flags), l'analyseur de prérécupération (PFP) possède
sa propre file d'attente CPDMA, distincte de celle du micromoteur (ME); l'indicateur [D3D12XBOX\_SYNC\_CONTROL\_FLAG\_CPDMA\_SELECT\_ENGINE\_PFP](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags)
peut donc être utilisé pour attendre les demandes CPDMA en cours du PFP plutôt que celles du ME. [D3D12XBOX\_SYNC\_FLAG\_PFP\_SYNC\_ME](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) peut être
utilisé pour bloquer le PFP pendant l'attente des transactions CPDMA du ME.

## Configuration requise

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

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

## Voir aussi

[D3D12XBOX\_SYNC\_CONTROL\_FLAGS](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags)\
[D3D12XBOX\_SYNC\_FLAGS](/fr-CA/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_flags)\
[ID3D12GraphicsCommandList6](/fr-CA/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/id3d12graphicscommandlist6)\
[SyncBottomOfPipeX](/fr-CA/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_syncbottomofpipex)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [NDA topic directory - live Microsoft Learn links](/nda/nda-topic-directory.md)
- [Top failing test cases](/publishing/certification/xr-top-failing.md)
- [SetPipelineState1 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_setpipelinestate1_public.md)
