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
バリアを実行する前に完了する必要がある、上記のすべての GPU 作業の同期スコープを指定する D3D12DDI_BARRIER_SYNC 値。
SyncAfter
バリアの実行が完了するまで待機する必要がある後続のすべての GPU 作業の同期スコープを指定する D3D12DDI_BARRIER_SYNC 値。
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