Sintaxe
typedef enum D3D12XBOX_SYNC_FLAGS : UINT
{
D3D12XBOX_SYNC_FLAG_NONE = 0x00000000,
D3D12XBOX_SYNC_FLAG_ICACHE_INVALIDATE = 0x00000001,
D3D12XBOX_SYNC_FLAG_ICACHE_RANGE = 0x00000002,
D3D12XBOX_SYNC_FLAG_ICACHE_MARGIN = 0x00000003,
D3D12XBOX_SYNC_FLAG_KCACHE_INVALIDATE = 0x00000080,
D3D12XBOX_SYNC_FLAG_VCACHE_INVALIDATE = 0x00000100,
D3D12XBOX_SYNC_FLAG_MCACHE_INVALIDATE = 0x00000020,
D3D12XBOX_SYNC_FLAG_MCACHE_WRITEBACK = 0x00000010,
D3D12XBOX_SYNC_FLAG_GL0_INVALIDATE = D3D12XBOX_SYNC_FLAG_VCACHE_INVALIDATE,
D3D12XBOX_SYNC_FLAG_GL1_INVALIDATE = 0x00000200,
D3D12XBOX_SYNC_FLAG_GL1_RANGE = 0x00000008,
D3D12XBOX_SYNC_FLAG_GL1_MARGIN = 0x0000000C,
D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE = 0x00004000,
D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE_UNSHARED = 0x00000400,
D3D12XBOX_SYNC_FLAG_GL2_WRITEBACK = 0x00008000,
D3D12XBOX_SYNC_FLAG_GL2_VOLATILE = 0x00000800,
D3D12XBOX_SYNC_FLAG_GL2_RANGE = 0x00001000,
D3D12XBOX_SYNC_FLAG_GL2_MARGIN = 0x00001800,
D3D12XBOX_SYNC_FLAG_BASE_COHERENCY = 0x01000000,
D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_COHERENCY = 0x40000000,
D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_COHERENCY = 0x20000000,
D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_INVALIDATE = 0x02000000,
D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_INVALIDATE = 0x04000000,
D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_DATA_FLUSH = 0x00040000,
D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_DATA_FLUSH = 0x00080000,
D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_META_FLUSH = 0x08000000,
D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_META_FLUSH = 0x10000000,
D3D12XBOX_SYNC_FLAG_CS_PARTIAL_FLUSH = 0x00100000,
D3D12XBOX_SYNC_FLAG_VS_PARTIAL_FLUSH = 0x00200000,
D3D12XBOX_SYNC_FLAG_PS_PARTIAL_FLUSH = 0x00400000,
D3D12XBOX_SYNC_FLAG_STREAMOUT_FLUSH = 0x00800000,
D3D12XBOX_SYNC_FLAG_PFP_SYNC_ME = 0x00000040,
D3D12XBOX_SYNC_FLAG_SYNC_CPDMA = 0x00020000,
D3D12XBOX_SYNC_FLAG_IDLE = 0x80000000,
D3D12XBOX_SYNC_FLAG_TOP_MASK = D3D12XBOX_SYNC_FLAG_ICACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_ICACHE_RANGE | D3D12XBOX_SYNC_FLAG_ICACHE_MARGIN | D3D12XBOX_SYNC_FLAG_KCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_VCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_MCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_MCACHE_WRITEBACK | D3D12XBOX_SYNC_FLAG_GL1_INVALIDATE | D3D12XBOX_SYNC_FLAG_GL1_RANGE | D3D12XBOX_SYNC_FLAG_GL1_MARGIN | D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE | D3D12XBOX_SYNC_FLAG_GL2_WRITEBACK | D3D12XBOX_SYNC_FLAG_GL2_VOLATILE | D3D12XBOX_SYNC_FLAG_GL2_MARGIN | D3D12XBOX_SYNC_FLAG_GL2_RANGE | D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE_UNSHARED | D3D12XBOX_SYNC_FLAG_BASE_COHERENCY | D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_COHERENCY | D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_COHERENCY | D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_INVALIDATE | D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_INVALIDATE | D3D12XBOX_SYNC_FLAG_PFP_SYNC_ME | D3D12XBOX_SYNC_FLAG_IDLE,
D3D12XBOX_SYNC_FLAG_BOP_MASK = D3D12XBOX_SYNC_FLAG_VCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_MCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_MCACHE_WRITEBACK | D3D12XBOX_SYNC_FLAG_GL1_INVALIDATE | D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE | D3D12XBOX_SYNC_FLAG_GL2_WRITEBACK | D3D12XBOX_SYNC_FLAG_GL2_VOLATILE | D3D12XBOX_SYNC_FLAG_GL2_RANGE | D3D12XBOX_SYNC_FLAG_GL2_MARGIN | D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE_UNSHARED | D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_DATA_FLUSH | D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_DATA_FLUSH | D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_META_FLUSH | D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_META_FLUSH | D3D12XBOX_SYNC_FLAG_CS_PARTIAL_FLUSH | D3D12XBOX_SYNC_FLAG_VS_PARTIAL_FLUSH | D3D12XBOX_SYNC_FLAG_PS_PARTIAL_FLUSH | D3D12XBOX_SYNC_FLAG_STREAMOUT_FLUSH | D3D12XBOX_SYNC_FLAG_IDLE,
D3D12XBOX_SYNC_FLAG_TOP_COMPUTE_MASK = D3D12XBOX_SYNC_FLAG_ICACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_ICACHE_RANGE | D3D12XBOX_SYNC_FLAG_ICACHE_MARGIN | D3D12XBOX_SYNC_FLAG_KCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_VCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_MCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_MCACHE_WRITEBACK | D3D12XBOX_SYNC_FLAG_GL1_INVALIDATE | D3D12XBOX_SYNC_FLAG_GL1_RANGE | D3D12XBOX_SYNC_FLAG_GL1_MARGIN | D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE | D3D12XBOX_SYNC_FLAG_GL2_WRITEBACK | D3D12XBOX_SYNC_FLAG_GL2_VOLATILE | D3D12XBOX_SYNC_FLAG_GL2_RANGE | D3D12XBOX_SYNC_FLAG_GL2_MARGIN | D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE_UNSHARED | D3D12XBOX_SYNC_FLAG_IDLE,
D3D12XBOX_SYNC_FLAG_BOP_COMPUTE_MASK = D3D12XBOX_SYNC_FLAG_VCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_MCACHE_INVALIDATE | D3D12XBOX_SYNC_FLAG_MCACHE_WRITEBACK | D3D12XBOX_SYNC_FLAG_GL1_INVALIDATE | D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE | D3D12XBOX_SYNC_FLAG_GL2_WRITEBACK | D3D12XBOX_SYNC_FLAG_GL2_VOLATILE | D3D12XBOX_SYNC_FLAG_GL2_RANGE | D3D12XBOX_SYNC_FLAG_GL2_MARGIN | D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE_UNSHARED | D3D12XBOX_SYNC_FLAG_CS_PARTIAL_FLUSH | D3D12XBOX_SYNC_FLAG_IDLE,
} D3D12XBOX_SYNC_FLAGS
Constantes
| Constante | Descrição |
|---|---|
| D3D12XBOX_SYNC_FLAG_NONE | Nenhum sinalizador. |
| D3D12XBOX_SYNC_FLAG_ICACHE_INVALIDATE | Invalida linhas de cache no cache de instruções do sombreador (todas as linhas por padrão). ICACHE é o cache de programas de sombreador. |
| D3D12XBOX_SYNC_FLAG_ICACHE_RANGE | Invalida somente as linhas de cache no cache de instruções do sombreador que estão dentro do intervalo especificado. ICACHE é o cache de programas de sombreador. |
| D3D12XBOX_SYNC_FLAG_ICACHE_MARGIN | Invalida somente a linha de cache no cache de instruções do sombreador no início do intervalo especificado e a linha de cache no final do intervalo especificado (também conhecido como FIRST_LAST). ICACHE é o cache de programas de sombreador. |
| D3D12XBOX_SYNC_FLAG_KCACHE_INVALIDATE | Invalida todas as linhas de cache no cache de constantes escalares do sombreador. |
| D3D12XBOX_SYNC_FLAG_VCACHE_INVALIDATE | Invalida todas as linhas de cache no cache vetorial do sombreador (também conhecido como GL0/TCP). |
| D3D12XBOX_SYNC_FLAG_MCACHE_INVALIDATE | Invalida todas as linhas de cache no cache de metadados. MCACHE é o cache de metadados para acesso do sombreador a recursos compactados de cor e de profundidade/estêncil. |
| D3D12XBOX_SYNC_FLAG_MCACHE_WRITEBACK | Libera todas as linhas de cache no cache de metadados. MCACHE é o cache de metadados para acesso do sombreador a recursos compactados de cor e de profundidade/estêncil. |
| D3D12XBOX_SYNC_FLAG_GL0_INVALIDATE | Invalida todas as linhas de cache no cache vetorial do sombreador (também conhecido como VCACHE/TCP). |
| D3D12XBOX_SYNC_FLAG_GL1_INVALIDATE | Invalida linhas de cache no cache de nível 1 do sombreador (todas as linhas por padrão). |
| D3D12XBOX_SYNC_FLAG_GL1_RANGE | Invalida somente as linhas de cache no cache de nível 1 do sombreador que estão dentro do intervalo especificado. |
| D3D12XBOX_SYNC_FLAG_GL1_MARGIN | Invalida somente a linha de cache no cache de nível 1 do sombreador no início do intervalo especificado e a linha de cache no final do intervalo especificado (também conhecido como FIRST_LAST). |
| D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE | Invalida linhas de cache no cache de nível 2 do sombreador (todas as linhas por padrão). |
| D3D12XBOX_SYNC_FLAG_GL2_INVALIDATE_UNSHARED | Invalida somente as linhas de cache no cache de nível 2 do sombreador que contêm dados não compartilhados. |
| D3D12XBOX_SYNC_FLAG_GL2_WRITEBACK | Libera linhas de cache no cache de nível 2 do sombreador (todas as linhas por padrão). |
| D3D12XBOX_SYNC_FLAG_GL2_VOLATILE | Invalida e/ou libera todas as linhas de cache no cache de nível 2 do sombreador marcadas como voláteis (intervalo/margem ignorados). |
| D3D12XBOX_SYNC_FLAG_GL2_RANGE | Invalida e/ou libera somente as linhas de cache no cache de nível 2 do sombreador que estão dentro do intervalo especificado. |
| D3D12XBOX_SYNC_FLAG_GL2_MARGIN | Invalida e/ou libera somente a linha de cache no cache de nível 2 do sombreador no início do intervalo especificado e a linha de cache no final do intervalo especificado (também conhecido como FIRST_LAST). |
| D3D12XBOX_SYNC_FLAG_BASE_COHERENCY | Antes de liberar os caches, verifica se algum contexto gráfico válido está executando gravações em andamento dentro do intervalo especificado. |
| D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_COHERENCY | Antes de liberar o cache, verifica se há alguma renderização em andamento em RenderTarget0 a RenderTarget7 dentro do intervalo especificado. Essa verificação garante a coerência do cache do buffer de cor. Coerência significa que o conteúdo em diferentes caches de memória é o mesmo. |
| D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_COHERENCY | Antes de liberar os caches, verifica se o buffer de profundidade ou a superfície HTILE estão no intervalo especificado. |
| D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_INVALIDATE | Limpa e invalida todas as linhas de cache no cache de cor. |
| D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_INVALIDATE | Limpa e invalida todas as linhas de cache no cache de profundidade. |
| D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_DATA_FLUSH | Libera os dados do Color Block. |
| D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_DATA_FLUSH | Libera os dados do Depth Block. |
| D3D12XBOX_SYNC_FLAG_COLOR_BLOCK_META_FLUSH | Libera os metadados do Color Block. |
| D3D12XBOX_SYNC_FLAG_DEPTH_BLOCK_META_FLUSH | Libera os metadados do Depth Block. |
| D3D12XBOX_SYNC_FLAG_CS_PARTIAL_FLUSH | Garante que todos os CSs tenham concluído a execução antes de processar mais comandos por meio do processador de comandos (CP). |
| D3D12XBOX_SYNC_FLAG_VS_PARTIAL_FLUSH | Garante que todos os VSs tenham concluído a execução antes de processar mais comandos por meio do processador de comandos (CP). |
| D3D12XBOX_SYNC_FLAG_PS_PARTIAL_FLUSH | Garante que todos os PSs tenham concluído a execução antes de processar mais comandos por meio do processador de comandos (CP). |
| D3D12XBOX_SYNC_FLAG_STREAMOUT_FLUSH | Libera os caches de saída de fluxo (stream-out). |
| D3D12XBOX_SYNC_FLAG_PFP_SYNC_ME | Sincroniza o PFP do processador de comandos com o ME. |
| D3D12XBOX_SYNC_FLAG_SYNC_CPDMA | Garante que todas as transações CPDMA tenham sido concluídas antes de processar mais comandos por meio do processador de comandos (CP). Confira também D3D12XBOX_SYNC_CONTROL_FLAG_CPDMA_SELECT_ENGINE_PFP |
| D3D12XBOX_SYNC_FLAG_IDLE | Força a GPU a aguardar até que fique ociosa depois de executar as liberações do final do pipeline e antes de prosseguir com a invalidação do início do pipeline. |
| D3D12XBOX_SYNC_FLAG_TOP_MASK | Aplica todos os sinalizadores de início do pipeline (TOP). |
| D3D12XBOX_SYNC_FLAG_BOP_MASK | Aplica todos os sinalizadores de final do pipeline (BOP). |
| D3D12XBOX_SYNC_FLAG_TOP_COMPUTE_MASK | Aplica todos os sinalizadores de computação destinados ao início do pipeline (TOP). |
| D3D12XBOX_SYNC_FLAG_BOP_COMPUTE_MASK | Aplica todos os sinalizadores de computação destinados ao final do pipeline (BOP). |
Comentários
Essa enumeração é usada pelos seguintes itens de API:- Essa enumeração é retornada indiretamente por ResourceBarrierX (por meio da estrutura D3D12XBOX_RESOURCE_BARRIER_SUMMARY_ACTIONS.
- Essa enumeração é passada para SyncTopOfPipeX.
- Essa enumeração é passada para SyncBottomOfPipeX.
- Essa enumeração é passada para Write32BitValueBottomOfPipe2X.
- Essa enumeração é passada para Write64BitValueBottomOfPipe2X.
- Essa enumeração é passada indiretamente para Signal2X.
- Essa enumeração é passada indiretamente para WaitX.
