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 値。
注釈
一般的な情報については、「 強化されたバリア 」を参照してください。
Synchronization
グラフィックス プロセッサは、できるだけ多くの作業を並列で実行するように設計されています。 以前の GPU 作業に依存するすべての GPU 作業は、依存データにアクセスする前に同期する必要があります。 SyncBefore と SyncAfter の値は、同期する作業を識別する論理ビットフィールド マスクです。
バリアは、上記のすべてのコマンド SyncBefore スコープが完了するまで待機してから、バリアを実行する必要があります。 同様に、バリアは、バリアが完了するまで、後続のすべての SyncAfter スコープをブロックする必要があります。
レイアウトの切り替え
テクスチャ サブリソースでは、さまざまなアクセス方法に異なるレイアウトを使用できます。 たとえば、テクスチャはレンダー ターゲットまたは深度ステンシルとして使用される場合に圧縮されることが多く、シェーダーの読み取りまたはコピー コマンドでは圧縮されていないことがよくあります。 テクスチャ バリアでは 、LayoutBefore と LayoutAfter を使用してレイアウトの切り替えを記述します。
レイアウトの切り替えはテクスチャにのみ必要であるため、このデータ構造でのみ表されます。
LayoutBefore と LayoutAfter はどちらも、バリアを実行するキューの種類と互換性がある必要があります。 たとえば、コンピューティング キューでは、サブリソースを D3D12_BARRIER_LAYOUT_RENDER_TARGET に移行したり、 D3D12_BARRIER_LAYOUT_RENDER_TARGETから切り替えたりすることはできません。
バリアの順序を明確に定義するために、バリアのシーケンスを完了した後のサブリソースのレイアウトは、シーケンスの最後の LayoutAfter です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 11 (WDDM 3.0) |
Header | d3d12umddi.h |
こちらもご覧ください
D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088