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 工作都必須同步處理,才能存取相依數據。 SyncBeforeSyncAfter 值是邏輯位欄位遮罩,可識別要同步處理的任何工作。

在執行屏障之前,屏障必須等候所有上述命令 SyncBefore 範圍完成。 同樣地,屏障必須封鎖所有後續 的 SyncAfter 範圍,直到屏障完成為止。

版面配置轉換

紋理子資源可以針對各種訪問方法使用不同的版面配置。 例如,當做轉譯目標或深度樣板使用時,通常會壓縮紋理,而且通常會取消壓縮著色器讀取或複製命令。 紋理屏障會使用 LayoutBeforeLayoutAfter 來描述版面配置轉換。

只有紋理需要版面配置轉換,因此它們只會在此數據結構中表示。

LayoutBeforeLayoutAfter 都必須與執行屏障的佇列類型相容。 例如,計算佇列無法將子資源轉換成或移出 D3D12_BARRIER_LAYOUT_RENDER_TARGET

為了提供定義完善的屏障順序,完成一連串屏障之後子資源的配置是序列中最後的 LayoutAfter

規格需求

需求
最低支援的用戶端 Windows 11 (WDDM 3.0)
標頭 d3d12umddi.h

另請參閱

D3D12DDI_BARRIER_ACCESS

D3D12DDI_BARRIER_LAYOUT

D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088

D3D12DDI_BARRIER_SYNC

D3D12DDI_TEXTURE_BARRIER_FLAGS_0088

D3D12DDIARG_BARRIER_0088

PFND3D12DDI_BARRIER_0088