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

# SyncBottomOfPipeX (consoles XBOX Series)

> Executa um conjunto de operações de sincronização na parte inferior do pipeline gráfico.

Executa um conjunto de operações de sincronização na parte inferior do pipeline gráfico.
Essas operações de sincronização são encadeadas no pipeline para serem executadas após a conclusão da operação de draw ou dispatch anterior.

## Sintaxe

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

### Parâmetros

*SyncFlags*   \_In\_\
Tipo: [D3D12XBOX\_SYNC\_FLAGS](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_flags)

Combinação OR bit a bit de sinalizadores *D3D12XBOX\_SYNC\_FLAGS* que definem o conjunto de operações de sincronização a serem executadas.

*ControlFlags*   \_In\_\
Tipo: [D3D12XBOX\_SYNC\_CONTROL\_FLAGS](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags)

Combinação OR bit a bit de sinalizadores *D3D12XBOX\_SYNC\_CONTROL\_FLAGS* que definem um conjunto de modificações de controle de sincronização.

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

Endereço base do intervalo de memória no qual a sincronização será executada.

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

Tamanho, em bytes, do intervalo de memória apontado pelo parâmetro *BaseAddress*.  Para aplicar as operações de sincronização a toda a memória, especifique um valor de *BaseAddress* igual a 0 e um *SizeInBytes* igual a *D3D12XBOX\_FLUSH\_RANGE\_ALL*.

### Valor retornado

Tipo: void

## Comentários

A ordem em que as sincronizações especificadas serão executadas é a seguinte:

* *D3D12XBOX\_SYNC\_FLAG\_SYNC\_CPDMA*
* *D3D12XBOX\_SYNC\_FLAG\_VS\_PARTIAL\_FLUSH*, *D3D12XBOX\_SYNC\_FLAG\_PS\_PARTIAL\_FLUSH* e *D3D12XBOX\_SYNC\_FLAG\_CS\_PARTIAL\_FLUSH*
* *D3D12XBOX\_SYNC\_FLAG\_COLOR\_BLOCK\_DATA\_FLUSH* e *D3D12XBOX\_SYNC\_FLAG\_COLOR\_BLOCK\_META\_FLUSH*
* *D3D12XBOX\_SYNC\_FLAG\_DEPTH\_BLOCK\_DATA\_FLUSH* e *D3D12XBOX\_SYNC\_FLAG\_DEPTH\_BLOCK\_META\_FLUSH*
* *D3D12XBOX\_SYNC\_FLAG\_STREAMOUT\_FLUSH*
* Invalidação e write-backs de GCR (*D3D12XBOX\_SYNC\_FLAG\_nCACHE\_x* e *D3D12XBOX\_SYNC\_FLAG\_GLx*)
* *D3D12XBOX\_SYNC\_FLAG\_IDLE*
* *D3D12XBOX\_SYNC\_FLAG\_PFP\_SYNC\_ME*

Os sinalizadores de controle [D3D12XBOX\_SYNC\_CONTROL\_FLAG\_IDLE\_SELECT\_ENGINE\_PFP](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) e
[D3D12XBOX\_SYNC\_CONTROL\_FLAG\_IDLE\_SELECT\_ENGINE\_CE](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) podem ser usados para especificar quais componentes do processador de comandos (CP)
participarão da operação de ociosidade. No caso de [D3D12XBOX\_SYNC\_FLAG\_SYNC\_CPDMA](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_flags), o analisador de pré-busca (PFP) tem sua própria
fila de CPDMA, separada do microengine (ME); portanto, o sinalizador [D3D12XBOX\_SYNC\_CONTROL\_FLAG\_CPDMA\_SELECT\_ENGINE\_PFP](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) pode
ser usado para aguardar as solicitações de CPDMA em andamento do PFP em vez das do ME. [D3D12XBOX\_SYNC\_FLAG\_PFP\_SYNC\_ME](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_flags) pode ser usado para bloquear
o PFP enquanto aguarda as transações de CPDMA do ME.

## Requisitos

**Cabeçalho:** d3d12\_xs.h

**Biblioteca:** \*\*\*\*.lib
**Plataformas compatíveis**: consoles XBOX Series

## Confira também

[D3D12XBOX\_SYNC\_CONTROL\_FLAGS](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags)\
[D3D12XBOX\_SYNC\_FLAGS](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_flags)\
[ID3D12GraphicsCommandList6](/pt-BR/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/id3d12graphicscommandlist6)\
[SyncTopOfPipeX](/pt-BR/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_synctopofpipex)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [SetPipelineState1 (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_setpipelinestate1_public.md)
- [GetPipelineStackSize (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12stateobjectproperties/methods/id3d12stateobjectproperties_getpipelinestacksize_public.md)
- [SetPipelineStackSize (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12stateobjectproperties/methods/id3d12stateobjectproperties_setpipelinestacksize_public.md)
- [D3D12_RAYTRACING_PIPELINE_FLAGS (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/enums/d3d12_raytracing_pipeline_flags_public.md)
