D3D12_DESCRIPTOR_RANGE_FLAGS列挙 (d3d12.h)
ルート署名 1.1 の説明で記述子と参照するデータの両方の揮発性を指定します。これにより、ドライバーの最適化が可能になります。
構文
typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS {
D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000
} ;
定数
D3D12_DESCRIPTOR_RANGE_FLAG_NONE 値: 0 既定の動作。 記述子は静的であり、既定の前提条件はデータに対して行われます (SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE、UAV: DATA_VOLATILE)。 |
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE 値: 0x1 これが唯一のフラグセットである場合、記述子は揮発性であり、データに関する既定の想定が行われます (SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE、UAV: DATA_VOLATILE)。 このフラグをDATA_VOLATILEと組み合わせると、記述子とデータの両方が揮発性になり、ルート署名バージョン 1.0 と同等になります。 このフラグをDATA_STATIC_WHILE_SET_AT_EXECUTEと組み合わせると、記述子は揮発性になります。 これにより、コマンド リストの実行中に変更することはできません。そのため、実行中にルート記述子テーブルを介して設定されている間、データが静的であるという追加の宣言を組み合わせることは有効です。基になる記述子は、データが静的であると約束されているよりも長い間、実質的に静的です。 |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE 値: 0x2 記述子は静的で、データは揮発性です。 |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE 値: 0x4 記述子は静的で、データは実行時に設定されている間は静的です。 |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC 値: 0x8 記述子とデータのどちらも静的です。 これにより、ドライバーの最適化の可能性が最大になります。 |
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS 値: 0x10000 静的記述子 ( D3D12_DESCRIPTOR_RANGE_FLAG_NONE を参照) と同じ利点を提供します。ただし、ドライバーは、境界チェックを維持する必要があり、ルート記述子に制約がないため、最適化としてバッファーをルート記述子に昇格することはできません。 |
解説
この列挙型は、 D3D12_DESCRIPTOR_RANGE1 構造体によって使用されます。
記述子によって参照されるデータのみの揮発性を指定するには、 D3D12_ROOT_DESCRIPTOR_FLAGSを参照してください。
要件
Header | d3d12.h |