ハードウェアの階層
階層 1 から階層 3 のハードウェア レベルでは、パイプラインで使用可能なリソースが増えます。
ハードウェア依存の制限
パイプラインで使用可能なリソース | 階層 1 | 階層 2 | 階層 3 |
---|---|---|---|
機能レベル | 11.0+ | 11.0+ | 11.1+ |
レンダリングに使用される定数バッファー ビュー (CBV)、シェーダー リソース ビュー (SRV)、または順序指定されていないアクセス ビュー (UAV) ヒープ内の記述子の最大数 | 1,000,000 | 1,000,000 | 1,000,000+ |
シェーダー ステージごとのすべての記述子テーブル内の定数バッファー ビューの最大数 | 14 | 14 | 完全なヒープ |
シェーダー ステージごとのすべての記述子テーブル内のシェーダー リソース ビューの最大数 | 128 | 完全なヒープ | 完全なヒープ |
すべてのステージにわたるすべての記述子テーブル内の順序指定されていないアクセス ビューの最大数 | 機能レベル 11.1+ に対して 64 機能レベル 11 に対して 8 |
64 | 完全なヒープ |
シェーダー ステージごとのすべての記述子テーブル内のサンプラーの最大数 | 16 | 2048 | 2048 |
太字エントリでは、以前の階層の大幅な改善が強調表示されます。
すべてのヒープに適用される階層 1 ハードウェアと、CBV および UAV ヒープに適用される階層 2 ハードウェアには追加の制限があります。つまり、ルート署名で記述子テーブルによってカバーされるすべての記述子ヒープ エントリが、シェーダー (恐らく分岐によって) が記述子を必要としなくても、シェーダーが実行されるまでに記述子に設定される必要があります。 階層 3 のハードウェアには、このような制限はありません。 この制限の軽減策の 1 つとして、Null 記述子をしっかりと使用します。
一定の制限
シェーダーの表示できる記述子ヒープ内のサンプラーの最大数は 2048 です。
ライブ ルート署名全体の一意の静的サンプラーの最大数は 2032 です (独自のサンプラーが必要なドライバーでは 16 が残ります)。