記述子テーブルの使用

記述子ヒープ内でそれぞれ範囲を特定する記述子テーブルは、コマンドの一覧で現在のルート署名によって定義されたスロットでバインドされます。

シェーダーは、記述子テーブルを構成する記述子によって参照されるリソースを特定できます。 その他のリソースのバインド (インデックス バッファー、頂点バッファー、ストリーム出力バッファー、レンダー ターゲット、深度ステンシル) は、記述子ではなくコマンドの一覧上で直接実行されます。 まとめ

次のリソース参照では、同じ記述子テーブルとヒープを共有できます。

  • シェーダー リソース ビュー
  • 順序指定されていないアクセス ビュー
  • 定数バッファー ビュー

次のリソース参照は、独自の記述子ヒープ内にある必要があります。

  • サンプラー

次のリソースは、記述子テーブルまたはヒープに配置されていないが、コマンドの一覧を使用して直接バインドされます。

  • インデックス バッファー
  • 頂点バッファー
  • ストリーム出力バッファー
  • レンダー ターゲット
  • 深度ステンシル ビュー

記述子テーブルのインデックス作成

シェーダーは、記述子テーブルの境界を超えて、シェーダー内の特定の呼び出しサイトから、動的にインデックス作成できません。 ただし、記述子テーブル内の記述子の選択は、同じ記述子タイプの範囲内のシェーダー コードで動的にインデックス付けできます (SRV の連続した領域全体でのインデックス作成など)。

記述子テーブル