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) |
ヘッダー | d3d12umddi.h |