D3D12DDI_BARRIER_ACCESS列挙 (d3d12umddi.h)
D3D12DDI_BARRIER_ACCESS値は、バリアに関するリソース アクセスを指定する次のフィールドのビットごとの OR です。
構文
typedef enum D3D12DDI_BARRIER_ACCESS {
D3D12DDI_BARRIER_ACCESS_COMMON = 0x0,
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET = 0x8,
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
D3D12DDI_BARRIER_ACCESS_PREDICATION = 0x200,
D3D12DDI_BARRIER_ACCESS_COPY_DEST = 0x400,
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE = 0x800,
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
D3D12DDI_BARRIER_ACCESS_NO_ACCESS = 0x80000000
} ;
定数
D3D12DDI_BARRIER_ACCESS_COMMON 値: 0x0 特定の ExecuteCommandLists スコープ内のすべてのリソースに対する既定の初期アクセス。 現在のレイアウトおよびリソース プロパティと互換性のある任意の種類のアクセスをサポートします(1 つ以上の書き込みアクセスを含む)。 D3D12DDI_BARRIER_LAYOUT_COMMONを使用するバッファーとテクスチャの場合、D3D12DDI_BARRIER_ACCESS_COMMONでは同時読み取りアクセスと書き込みアクセスがサポートされます。 AccessAfter として使用する場合、D3D12DDI_BARRIER_ACCESS_COMMONを使用して、リソースを一般的なアクセシビリティに戻すことができます。 誤って使用すると、不要なキャッシュが強制的にフラッシュされる可能性があることに注意してください。 可能な場合は、 AccessAfter を明示的なアクセス ビットに制限する必要があります。 バリア AccessBefore 値としてD3D12DDI_BARRIER_ACCESS_COMMONを使用しないでください。 書き込み後の読み取りまたは書き込み後の危険は、明示的な AccessBefore ビットを使用して処理するのが最適です。 |
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER 値: 0x1 バッファー リソースには、現在の実行キューの頂点バッファーとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER 値: 0x2 バッファー リソースには、現在の実行キューの定数バッファーとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER 値: 0x4 バッファー リソースには、現在の実行キューのインデックス バッファーとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET 値: 0x8 リソースには、レンダー ターゲットとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS 値: 0x10 リソースには、順序付けられていないアクセス リソースとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE 値: 0x20 リソースには、書き込み可能な深度/ステンシル リソースとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ 値: 0x40 リソースには、読み取り専用の深度/ステンシル リソースとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE 値: 0x80 リソースにはシェーダー リソースとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT 値: 0x100 バッファーにはストリーム出力ターゲットとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT 値: 0x200 バッファーには、間接引数バッファーとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_PREDICATION 値: 0x200 バッファーには、事前設定バッファーとしてアクセスできます。 D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT でエイリアス化されます。 |
D3D12DDI_BARRIER_ACCESS_COPY_DEST 値: 0x400 リソースにはコピー先としてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE 値: 0x800 リソースにはコピー ソースとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST 値: 0x1000 リソースには、解決先としてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE 値: 0x2000 リソースには、解決ソースとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ 値: 0x4000 リソースには、レイ トレーシング アクセラレーション構造として読み取り用にアクセスできます。 リソースは、 D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTUREの初期状態を使用して作成されている必要があります。 |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE 値: 0x8000 リソースは、レイ トレーシング アクセラレーション構造として書き込み用にアクセスできます。 リソースは、 D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTUREの初期状態を使用して作成されている必要があります。 |
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE 値: 0x10000 リソースには、シェーディング レート ソースとしてアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ 値: 0x20000 リソースは、ビデオ デコード キュー内の読み取り専用アクセスにアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE 値: 0x40000 リソースには、ビデオ デコード キュー内の書き込みアクセスにアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ 値: 0x80000 リソースは、ビデオ プロセス キュー内の読み取り専用アクセスにアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE 値: 0x100000 リソースには、ビデオ プロセス キュー内の書き込みアクセスにアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ 値: 0x200000 リソースは、ビデオ エンコード キュー内の読み取り専用アクセスにアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE 値: 0x400000 リソースには、ビデオ エンコード キュー内の書き込みアクセスにアクセスできます。 |
D3D12DDI_BARRIER_ACCESS_NO_ACCESS 値: 0x80000000 読み取りまたは書き込みでは、リソースにアクセスできません。 サブリソース アクセスが D3D12DDI_BARRIER_ACCESS_NO_ACCESSに移行されたら、同じ ExecuteCommandLists スコープで を使用する前に 、AccessBefore を D3D12DDI_BARRIER_ACCESS_NO_ACCESS に設定したバリアによって再アクティブ化する必要があります。 D3D12DDI_BARRIER_ACCESS_NO_ACCESS は、 D3D12DDI_BARRIER_SYNC_NONE または D3D12DDI_BARRIER_SYNC_SPLITと組み合わせてのみ使用できます。 D3D12DDI_BARRIER_ACCESS_NO_ACCESS を他のアクセス ビットと共に設定することはできません。 D3D12DDI_BARRIER_ACCESS_NO_ACCESS は、後続のバリアまたは次の ECL スコープまで、リソースへのアクセスが想定されていないことを示します。 この値は、サブリソースが十分に長い時間必要ない場合にバリアのエイリアシングに役立ちます。この値は、読み取りキャッシュからサブリソースを消去するのが理にかなっています。 また、ExecuteCommandLists スコープの終了前に、リソースに対する最後の動作としてレイアウト切り替えを開始する場合にも役立ちます。 SyncAfter がD3D12DDI_BARRIER_SYNC_NONEされている場合は、AccessAfter をD3D12DDI_BARRIER_ACCESS_NO_ACCESSする必要があります。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 11 (WDDM 3.0) |
Header | d3d12umddi.h |