語法
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 |
| 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 間接傳回 (透過 D3D12XBOX_RESOURCE_BARRIER_SUMMARY_ACTIONS 結構。
- 此列舉會傳入 SyncTopOfPipeX。
- 此列舉會傳入 SyncBottomOfPipeX。
- 此列舉會傳入 Write32BitValueBottomOfPipe2X。
- 此列舉會傳入 Write64BitValueBottomOfPipe2X。
- 此列舉會間接傳入 Signal2X。
- 此列舉會間接傳入 WaitX。
