D3D12DDI_BARRIER_LAYOUT列舉 (d3d12umddi.h)
D3D12DDI_BARRIER_LAYOUT值描述 D3D12 子資源針對紋理屏障所使用的可能版面配置。 版面配置僅適用於紋理資源。
Syntax
typedef enum D3D12DDI_BARRIER_LAYOUT {
D3D12DDI_BARRIER_LAYOUT_UNDEFINED,
D3D12DDI_BARRIER_LAYOUT_COMMON,
D3D12DDI_BARRIER_LAYOUT_PRESENT,
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET,
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE,
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ,
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE,
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST,
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE
} ;
常數
D3D12DDI_BARRIER_LAYOUT_UNDEFINED 提供子資源配置變更的支援,其中先前的配置不相關或未定義。 一般而言,這會用於 full-subresource 或 full-resource Clear、Discard 和 Copy 命令。 配置轉換, 且 LayoutBefore 和 LayoutAfter 都設定為 D3D12_BARRIER_LAYOUT_UNDEFINED 表示僅限記憶體存取的屏障。 許多讀取/寫入作業都支援 D3D12_BARRIER_LAYOUT_COMMON。 特別是,複製命令可以使用 D3D12_BARRIER_LAYOUT_COMMON 或 D3D12_BARRIER_LAYOUT_COPY寫入紋理。 僅限記憶體存取的屏障可用來排清對紋理的複製寫入,而不需變更紋理配置。 |
D3D12DDI_BARRIER_LAYOUT_COMMON 這是 D3D12_RESOURCE_STATE_COMMON所使用的配置。 具有此配置的子資源可在任何佇列類型中讀取,而不需要變更版面配置。 它們也可以寫入為任何佇列類型中的複製目的地。 交換鏈結呈現需要後端緩衝區正在使用 D3D12_BARRIER_LAYOUT_COMMON。 |
D3D12DDI_BARRIER_LAYOUT_PRESENT D3D12_BARRIER_LAYOUT_COMMON的別名。 |
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ 提供任何只讀存取 (的支援,例如:SHADER_RESOURCE、COPY_SOURCE) 。 這個值應該只用於需要多個並行讀取存取權的紋理,因為這可能不是更明確的讀取配置。 |
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET 符合 D3D12_RESOURCE_STATE_RENDER_TARGET所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS 符合 D3D12_RESOURCE_STATE_UNORDERED_ACCESS所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE 符合 D3D12_RESOURCE_STATE_DEPTH_WRITE所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ 符合 D3D12_RESOURCE_STATE_DEPTH_READ所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE 符合 D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE 和 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE 符合 D3D12_RESOURCE_STATE_COPY_SOURCE所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_COPY_DEST 符合 D3D12_RESOURCE_STATE_COPY_DEST所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE 符合 D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST 符合 D3D12DDI_RESOURCE_STATE_RESOLVE_DEST所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE 符合 D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ 符合 D3D12_RESOURCE_STATE_VIDEO_DECODE_READ所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE 符合 D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ 符合 D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE 符合 D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ 符合 D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE 符合 D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE所使用的配置。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON 僅支援直接佇列上的常見 (障礙) 使用量。 此值比較一般 D3D12DDI_BARRIER_LAYOUT_COMMON更理想。 只能在直接佇列的屏障中使用。 請注意,這無法用於 Present。 D3D12_BARRIER_LAYOUT_COMMON (也稱為 D3D12_BARRIER_LAYOUT_PRESENT) 仍是簡報所需的版面配置。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ 與 D3D12_BARRIER_LAYOUT_GENERIC_READ 相同,但直接佇列特有的優化除外。 只能在直接佇列的屏障中使用。 此外, D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ 也支援只讀深度、陰影速率來源,以及解析直接佇列上的來源存取。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS 與 D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS相同, 但直接佇列的特定優化除外。 只能在直接佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE 與 D3D12_BARRIER_LAYOUT_SHADER_RESOURCE相同, 但直接佇列特有的優化除外。 只能在直接佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE 與 D3D12_BARRIER_LAYOUT_COPY_SOURCE 相同,但直接佇列的特定優化除外。 只能在直接佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST 與 D3D12_BARRIER_LAYOUT_COPY_DEST相同, 但直接佇列特有的優化除外。 只能在直接佇列的屏障中使用。 在直接佇列中具有下一個存取權的資源上,可能會對某些版面配置轉換造成昂貴且不必要的解壓縮。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON 僅支持計算佇列上的常見 (障礙) 使用量。 可能比較一般 D3D12_BARRIER_LAYOUT_COMMON更理想。 只能在計算佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ 與 D3D12_BARRIER_LAYOUT_GENERIC_READ相同, 但計算佇列的特定優化除外。 只能在計算佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS 與 D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS相同, 但計算佇列的特定優化除外。 只能在計算佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE 與 D3D12_BARRIER_LAYOUT_SHADER_RESOURCE相同, 但計算佇列的特定優化除外。 只能在計算佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE 與 D3D12_BARRIER_LAYOUT_COPY_SOURCE相同, 但計算佇列的特定優化除外。 只能在計算佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST 與 D3D12_BARRIER_LAYOUT_COPY_DEST相同, 但計算佇列的特定優化除外。 只能在計算佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON 僅支持視訊佇列上常見的 (障礙) 使用量。 可能比較一般 D3D12_BARRIER_LAYOUT_COMMON更理想。 只能在視訊佇列的屏障中使用。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE 支持內部轉譯的舊版資源狀態。 沒有增強的屏障 API 會對應至此值。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE 支持內部轉譯的舊版資源狀態。 沒有增強的屏障 API 會對應至此值。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST 支持內部轉譯的舊版資源狀態。 沒有增強的屏障 API 會對應至此值。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE 支持內部轉譯的舊版資源狀態。 沒有增強的屏障 API 會對應至此值。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE 支持內部轉譯的舊版資源狀態。 沒有增強的屏障 API 會對應至此值。 |
備註
不論存取類型為何,緩衝區資源都只有線性配置。
資源配置必須與執行配置轉換的佇列類型相容。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 11 (WDDM 3.0) |
標頭 | d3d12umddi.h |