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

# D3D12XBOX_SYNC_FLAGS (XBOX Series 主機)

> 指定在數個同步處理 API 中指示同步處理作業的旗標。

指定在 [SyncTopOfPipeX](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_synctopofpipex)、[SyncBottomOfPipeX](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_syncbottomofpipex)、[Write32BitValueBottomOfPipe2X](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_write32bitvaluebottomofpipe2x)、[Write64BitValueBottomOfPipe2X](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_write64bitvaluebottomofpipe2x)、[Signal2X](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12CommandQueue/methods/id3d12commandqueue_signal2x) 和 [WaitX](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12CommandQueue/methods/id3d12commandqueue_waitx) 中指示同步處理作業的旗標。

## 語法

```cpp theme={null}
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  
```

## 常數

| 常數 | 描述 |
| - | - |
| D3D12XBOX\_SYNC\_FLAG\_NONE | 無旗標。 |
| D3D12XBOX\_SYNC\_FLAG\_ICACHE\_INVALIDATE | 使著色器指令快取中的快取行失效 (預設為所有行)。ICACHE 是著色器程式快取。 |
| D3D12XBOX\_SYNC\_FLAG\_ICACHE\_RANGE | 僅使著色器指令快取中落在指定範圍內的快取行失效。ICACHE 是著色器程式快取。 |
| D3D12XBOX\_SYNC\_FLAG\_ICACHE\_MARGIN | 僅使著色器指令快取中位於指定範圍開頭的快取行，以及位於指定範圍結尾的快取行失效 (亦稱為 FIRST\_LAST)。ICACHE 是著色器程式快取。 |
| D3D12XBOX\_SYNC\_FLAG\_KCACHE\_INVALIDATE | 使著色器純量常數快取中的所有快取行失效。 |
| D3D12XBOX\_SYNC\_FLAG\_VCACHE\_INVALIDATE | 使著色器向量快取 (亦稱為 GL0/TCP) 中的所有快取行失效。 |
| D3D12XBOX\_SYNC\_FLAG\_MCACHE\_INVALIDATE | 使中繼資料快取中的所有快取行失效。MCACHE 是供著色器存取壓縮色彩及深度/樣板資源的中繼資料快取。 |
| D3D12XBOX\_SYNC\_FLAG\_MCACHE\_WRITEBACK | 排清中繼資料快取中的所有快取行。MCACHE 是供著色器存取壓縮色彩及深度/樣板資源的中繼資料快取。 |
| D3D12XBOX\_SYNC\_FLAG\_GL0\_INVALIDATE | 使著色器向量快取 (亦稱為 VCACHE/TCP) 中的所有快取行失效。 |
| D3D12XBOX\_SYNC\_FLAG\_GL1\_INVALIDATE | 使著色器第 1 層快取中的快取行失效 (預設為所有行)。 |
| D3D12XBOX\_SYNC\_FLAG\_GL1\_RANGE | 僅使著色器第 1 層快取中落在指定範圍內的快取行失效。 |
| D3D12XBOX\_SYNC\_FLAG\_GL1\_MARGIN | 僅使著色器第 1 層快取中位於指定範圍開頭的快取行，以及位於指定範圍結尾的快取行失效 (亦稱為 FIRST\_LAST)。 |
| D3D12XBOX\_SYNC\_FLAG\_GL2\_INVALIDATE | 使著色器第 2 層快取中的快取行失效 (預設為所有行)。 |
| D3D12XBOX\_SYNC\_FLAG\_GL2\_INVALIDATE\_UNSHARED | 僅使著色器第 2 層快取中包含非共用資料的快取行失效。 |
| D3D12XBOX\_SYNC\_FLAG\_GL2\_WRITEBACK | 排清著色器第 2 層快取中的快取行 (預設為所有行)。 |
| D3D12XBOX\_SYNC\_FLAG\_GL2\_VOLATILE | 使著色器第 2 層快取中所有標記為 volatile 的快取行失效及/或排清 (忽略 range/margin)。 |
| D3D12XBOX\_SYNC\_FLAG\_GL2\_RANGE | 僅使著色器第 2 層快取中落在指定範圍內的快取行失效及/或排清。 |
| D3D12XBOX\_SYNC\_FLAG\_GL2\_MARGIN | 僅使著色器第 2 層快取中位於指定範圍開頭的快取行，以及位於指定範圍結尾的快取行失效及/或排清 (亦稱為 FIRST\_LAST)。 |
| D3D12XBOX\_SYNC\_FLAG\_BASE\_COHERENCY | 排清快取之前，檢查是否有任何有效的圖形內容正在指定範圍內執行進行中的寫入。 |
| D3D12XBOX\_SYNC\_FLAG\_COLOR\_BLOCK\_COHERENCY | 排清快取之前，檢查指定範圍內是否有任何對 RenderTarget0 到 RenderTarget7 進行中的轉譯。此檢查可確保色彩緩衝區快取的一致性。一致性表示不同記憶體快取中的內容相同。 |
| D3D12XBOX\_SYNC\_FLAG\_DEPTH\_BLOCK\_COHERENCY | 排清快取之前，檢查深度緩衝區或 HTILE 表面是否位於指定範圍內。 |
| D3D12XBOX\_SYNC\_FLAG\_COLOR\_BLOCK\_INVALIDATE | 清除色彩快取中的所有快取行並使其失效。 |
| D3D12XBOX\_SYNC\_FLAG\_DEPTH\_BLOCK\_INVALIDATE | 清除深度快取中的所有快取行並使其失效。 |
| 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 | 確保所有 CS 都已執行完畢，再透過命令處理器 (CP) 處理更多命令。 |
| D3D12XBOX\_SYNC\_FLAG\_VS\_PARTIAL\_FLUSH | 確保所有 VS 都已執行完畢，再透過命令處理器 (CP) 處理更多命令。 |
| D3D12XBOX\_SYNC\_FLAG\_PS\_PARTIAL\_FLUSH | 確保所有 PS 都已執行完畢，再透過命令處理器 (CP) 處理更多命令。 |
| D3D12XBOX\_SYNC\_FLAG\_STREAMOUT\_FLUSH | 排清串流輸出快取。 |
| D3D12XBOX\_SYNC\_FLAG\_PFP\_SYNC\_ME | 將命令處理器 PFP 與 ME 同步。 |
| D3D12XBOX\_SYNC\_FLAG\_SYNC\_CPDMA | 確保所有 CPDMA 交易都已完成，再透過命令處理器 (CP) 處理更多命令。另請參閱 [D3D12XBOX\_SYNC\_CONTROL\_FLAG\_CPDMA\_SELECT\_ENGINE\_PFP](/zh-TW/reference/graphics/d3d12_xs/enums/d3d12xbox_sync_control_flags) |
| D3D12XBOX\_SYNC\_FLAG\_IDLE | 強制 GPU 在執行管線底端排清之後、繼續進行管線頂端失效之前，等候直到 GPU 閒置為止。 |
| D3D12XBOX\_SYNC\_FLAG\_TOP\_MASK | 套用所有管線頂端 (TOP) 旗標。 |
| D3D12XBOX\_SYNC\_FLAG\_BOP\_MASK | 套用所有管線底端 (BOP) 旗標。 |
| D3D12XBOX\_SYNC\_FLAG\_TOP\_COMPUTE\_MASK | 套用所有適用於管線頂端 (TOP) 的計算旗標。 |
| D3D12XBOX\_SYNC\_FLAG\_BOP\_COMPUTE\_MASK | 套用所有適用於管線底端 (BOP) 的計算旗標。 |

## 備註

下列 API 項目會使用此列舉:

* 此列舉會由 [ResourceBarrierX](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_resourcebarrierx) 間接傳回 (透過 [D3D12XBOX\_RESOURCE\_BARRIER\_SUMMARY\_ACTIONS](/zh-TW/reference/graphics/d3d12_xs/structs/d3d12xbox_resource_barrier_summary_actions) 結構。
* 此列舉會傳入 [SyncTopOfPipeX](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_synctopofpipex)。
* 此列舉會傳入 [SyncBottomOfPipeX](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_syncbottomofpipex)。
* 此列舉會傳入 [Write32BitValueBottomOfPipe2X](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_write32bitvaluebottomofpipe2x)。
* 此列舉會傳入 [Write64BitValueBottomOfPipe2X](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_write64bitvaluebottomofpipe2x)。
* 此列舉會間接傳入 [Signal2X](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12CommandQueue/methods/id3d12commandqueue_signal2x)。
* 此列舉會間接傳入 [WaitX](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12CommandQueue/methods/id3d12commandqueue_waitx)。

## 需求

**標頭:** d3d12\_xs.h
**支援的平台**: XBOX Series 主機

## 另請參閱

[d3d12\_xs](/zh-TW/reference/graphics/d3d12_xs/d3d12_xs_members)


## Related topics

- [D3D12_EXPORT_FLAGS (XBOX Series consoles)](/reference/graphics/d3d12/enums/d3d12_export_flags_public.md)
- [D3D12_RAYTRACING_INSTANCE_FLAGS (XBOX Series consoles)](/reference/graphics/d3d12/enums/d3d12_raytracing_instance_flags_public.md)
- [D3D12_COMMAND_LIST_FLAGS (XBOX Series consoles)](/reference/graphics/d3d12/enums/d3d12_command_list_flags_public.md)
- [D3D12_RAYTRACING_GEOMETRY_FLAGS (XBOX Series consoles)](/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_flags_public.md)
- [D3D12_COMMAND_LIST_FLAGS (consolas XBOX Series)](/es/reference/graphics/d3d12/enums/d3d12_command_list_flags_public.md)
