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

関連項目

コア列挙

ルート署名バージョン 1.1