D3D12DDI_TEXTURE_BARRIER_0088 結構 (d3d12umddi.h)
D3D12DDI_TEXTURE_BARRIER_0088結構描述紋理的存取轉換。
語法
typedef struct D3D12DDI_TEXTURE_BARRIER_0088 {
D3D12DDI_BARRIER_SYNC SyncBefore;
D3D12DDI_BARRIER_SYNC SyncAfter;
D3D12DDI_BARRIER_ACCESS AccessBefore;
D3D12DDI_BARRIER_ACCESS AccessAfter;
D3D12DDI_BARRIER_LAYOUT LayoutBefore;
D3D12DDI_BARRIER_LAYOUT LayoutAfter;
D3D12DDI_HRESOURCE hResource;
D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 Subresources;
D3D12DDI_TEXTURE_BARRIER_FLAGS_0088 Flags;
} D3D12DDI_TEXTURE_BARRIER_0088;
成員
SyncBefore
D3D12DDI_BARRIER_SYNC值,指定執行屏障之前必須先完成之所有先前 GPU 工作的同步處理範圍。
SyncAfter
D3D12DDI_BARRIER_SYNC值,指定所有後續 GPU 工作的同步處理範圍,必須等到屏障執行完成為止。
AccessBefore
D3D12DDI_BARRIER_ACCESS值,指定屏障執行之前紋理的存取狀態。
AccessAfter
D3D12DDI_BARRIER_ACCESS值,指定完成屏障執行時紋理的存取狀態。
LayoutBefore
D3D12DDI_BARRIER_LAYOUT值,指定屏障執行之前的紋理配置。
LayoutAfter
D3D12DDI_BARRIER_LAYOUT值,指定完成屏障執行時紋理的配置。
hResource
使用屏障之紋理資源的句柄。
Subresources
D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 結構,指定要阻礙的紋理子資源範圍。
Flags
指定選擇性旗 標的D3D12DDI_TEXTURE_BARRIER_FLAGS_0088 值。
備註
如需一般資訊 ,請參閱增強的屏障 。
同步處理
圖形處理器的設計目的是盡可能平行執行工作。 相依於先前 GPU 工作的任何 GPU 工作都必須同步處理,才能存取相依數據。 SyncBefore 和 SyncAfter 值是邏輯位欄位遮罩,可識別要同步處理的任何工作。
在執行屏障之前,屏障必須等候所有上述命令 SyncBefore 範圍完成。 同樣地,屏障必須封鎖所有後續 的 SyncAfter 範圍,直到屏障完成為止。
版面配置轉換
紋理子資源可以針對各種訪問方法使用不同的版面配置。 例如,當做轉譯目標或深度樣板使用時,通常會壓縮紋理,而且通常會取消壓縮著色器讀取或複製命令。 紋理屏障會使用 LayoutBefore 和 LayoutAfter 來描述版面配置轉換。
只有紋理需要版面配置轉換,因此它們只會在此數據結構中表示。
LayoutBefore 和 LayoutAfter 都必須與執行屏障的佇列類型相容。 例如,計算佇列無法將子資源轉換成或移出 D3D12_BARRIER_LAYOUT_RENDER_TARGET。
為了提供定義完善的屏障順序,完成一連串屏障之後子資源的配置是序列中最後的 LayoutAfter 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 11 (WDDM 3.0) |
標頭 | d3d12umddi.h |
另請參閱
D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088