Direct3D の機能レベル

新規および既存のコンピューターでのビデオカードの多様性を処理するために、Microsoft Direct3D 11 では、機能レベルの概念が導入されています。 このトピックでは、Direct3D の機能レベルについて説明します。

各ビデオ カードは、取り付けられている GPU (グラフィックス処理装置) に応じて、特定のレベルの Microsoft DirectX (DX) 機能を実装します。 以前のバージョンの Microsoft Direct3D では、ビデオ カードが実装しているバージョンを検出し、それに応じてアプリケーションをプログラミングすることができました。

Direct3D 11 では、特徴レベルと呼ばれる新しいパラダイムが導入されました。 機能レベルは、明確に定義された GPU 機能のセットです。 たとえば、9 1 の _ 機能レベルは、Microsoft direct3d 9 で実装された機能を実装しています。この機能は、シェーダーモデル ps _ 2 _ xvs _ 2 _ xの機能を公開しますが、11 _ 0 の機能レベルは direct3d 11 で実装された機能を実装します。

デバイスを作成するとき、必要な機能レベルのデバイスの作成を試行できます。 デバイスの作成に成功した場合は、その機能レベルが存在します。失敗した場合は、ハードウェアはその機能レベルをサポートしていません。 低い機能レベルでデバイスを再作成してみることも、アプリケーションの終了を選択することもできます。 デバイスの作成の詳細については、 D3D11CreateDevice 関数を参照してください。

機能レベルを使用すると、Direct3D 9、Microsoft Direct3D 10、または Direct3D 11 用のアプリケーションを開発し、9、10、または11のハードウェアで実行できます (ただし、たとえば、新しい11の機能は、既存の9カードでは実行されません)。 次に、機能レベルのその他の基本的なプロパティをいくつか示します。

  • デバイスの作成を許可する GPU は、その機能レベルを満たすか上回る機能を持ちます。
  • 機能レベルには、以前または下位の機能レベルの機能が必ず含まれます。
  • 機能レベルでは、パフォーマンスは示されず、機能のみ示されます。 パフォーマンスは、ハードウェアの実装によって決まります。
  • Direct3D 11 デバイスを作成するときに、機能レベルを選択します。

特定の機能レベルでハードウェアタイプ以外のデバイスを作成する場合の制限事項については、「 ワープデバイスと参照デバイスの作成に関する制限事項」を参照してください。

設計する機能レベルを決定する際に役立つように、各機能レベルの機能を比較してください。

10Level9 リファレンス 」セクションでは、さまざまな ID3D11Device および である id3d11devicecontext メソッドがさまざまな10level9 機能レベルでどのように動作するかの違いを示します。

バージョン番号の形式

Direct3D のバージョン、シェーダーモデル、および機能レベルには3つの形式があります。

  • Direct3D のバージョンではピリオドが使用される (例: Direct3D 12.0)。
  • シェーダー モデルではピリオドが使用される (例: シェーダー モデル 5.1)。
  • 機能レベルではアンダースコアが使用される (例: 機能レベル 12_0)。

機能レベル 12_2 ~ 93 の機能のサポート

次の機能は、表示されている機能レベルで使用できます。 1 番上の行の見出しは Direct3D 機能レベルです。 左側の列の見出しは機能です。 また 、テーブルの脚注も参照してください。

機能\機能レベル 12 _ 28 12 _ 10 12 _ 00 11 _ 11 11_0 10 _ 1 10 _ 0 9 _ 37
シェーダーモデル (D3D11) 該当なし 5.02 5.02 5.02 5.02 4.x 4.0 2.0 (4 _ 0 _ レベル _ 9 _ 3) [ vs _ 2 _ a/ps _ 2 _ x ] 5
シェーダーモデル (D3D12) 6.5 5.12 5.12 5.12 5.12 該当なし 該当なし 該当なし
タイルリソース Tier3 Tier26 Tier26 オプション 省略可能 × いいえ いいえ
保守的なラスター化 Tier3 Tier16 オプション 省略可能 × いいえ いいえ いいえ
ラスタライザーの順序ビュー はい はい 省略可能 省略可能 × いいえ いいえ いいえ
最小/最大フィルター はい はい はい 省略可能 × いいえ いいえ いいえ
既定バッファーのマップ 該当なし 省略可能 オプション オプション 省略可能 × いいえ いいえ
シェーダー指定されたステンシル参照値 オプション オプション オプション 省略可能 × いいえ いいえ いいえ
型指定されていないアクセスのビュー読み込み 18 個の形式、および追加オプション 18 個の形式、および追加オプション 18 個の形式、および追加オプション 3 個の形式、および追加オプション 3 個の形式、および追加オプション いいえ いいえ いいえ
ジオメトリ シェーダー はい はい はい はい はい はい はい いいえ
ストリーム出力 はい はい はい はい はい はい はい いいえ
DirectCompute/計算シェーダー はい はい はい はい はい 省略可能 オプション 該当なし
機能の \ 機能レベル 12 _ 28 12 _ 10 12 _ 00 11 _ 11 11 _ 0 10 _ 1 10 _ 0 9 _ 37
ハル シェーダーおよびドメイン シェーダー はい はい はい はい はい いいえ いいえ いいえ
テクスチャ リソース配列 はい はい はい はい はい はい はい いいえ
キューブマップ リソース配列 はい はい はい はい はい はい いいえ いいえ
BC4/BC5 圧縮 はい はい はい はい はい はい はい いいえ
BC6H/BC7 圧縮 はい はい はい はい はい いいえ いいえ いいえ
Alpha-to-coverage はい はい はい はい はい はい はい いいえ
拡張形式 (BGRA など) はい はい はい はい はい 省略可能 オプション はい
10 ビット XR ハイカラー形式 はい はい はい はい はい 省略可能 オプション 該当なし
論理操作 (出力マージャー) はい はい はい はい 省略可能1 省略可能1 省略可能1 No
ターゲットに依存しないラスター化 はい はい はい はい いいえ いいえ いいえ いいえ
ForcedSampleCount 1 による複数のレンダー ターゲット (MRT) はい はい はい はい 省略可能1 省略可能1 省略可能1 No
UAV スロット 階層化された 9 64 64 64 8 1 1 N/A
機能 \ レベル 12 _ 28 12 _ 10 12 _ 00 11 _ 11 11 _ 0 10 _ 1 10 _ 0 9 _ 37
すべてのステージのUAV はい はい はい はい いいえ いいえ いいえ 該当なし
UAV 専用レンダリングの最大強制サンプル カウント 16 16 16 16 8 該当なし 該当なし 該当なし
定数バッファー のオフセットと部分的な更新 はい はい はい はい 省略可能1 省略可能1 省略可能1 1
16ビット/ピクセル (bpp) 形式 はい はい はい はい 省略可能1 省略可能1 省略可能1 省略可能1
最大テクスチャ次元 16384 16384 16384 16384 16384 8192 8192 4096
最大キューブマップ次元 16384 16384 16384 16384 16384 8192 8192 4096
最大ボリューム範囲 2048 2048 2048 2048 2048 2048 2048 256
最大テクスチャ反復 16384 16384 16384 16384 16384 8192 8192 8192
最大異方性 16 16 16 16 16 16 16 16
最大プリミティブ カウント 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 1048575
最大頂点インデックス 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 1048575
最大入力スロット 32 32 32 32 32 32 16 16
同時レンダー ターゲット 8 8 8 8 8 8 8 4
オクルージョン クエリ はい はい はい はい はい はい はい はい
機能 \ レベル 12 _ 28 12 _ 10 12 _ 00 11 _ 11 11 _ 0 10 _ 1 10 _ 0 9 _ 37
個別アルファ ブレンド はい はい はい はい はい はい はい はい
1 回のミラー はい はい はい はい はい はい はい はい
頂点要素のオーバーラップ はい はい はい はい はい はい はい はい
非依存書き込みマスク はい はい はい はい はい はい はい はい
インスタンス化 はい はい はい はい はい はい はい い 7
Nonpowers-of-2 条件付き3 いいえ いいえ いいえ いいえ いいえ いいえ いいえ はい
無条件に 2 の非パワー4 はい はい はい はい はい はい はい いいえ

機能レベル 9_2 および 9_1 の機能サポート

一覧表示されている機能レベルでは、次の機能を使用できます。 1 番上の行の見出しは Direct3D 機能レベルです。 左側の列の見出しは機能です。 テーブルの 「脚注」も参照してください

機能\機能レベル 9 _ 2 9 _ 1
シェーダー モデル (D3D11) 2.0 (4 _ 0 _ レベル _ 9 _ 1) 2.0 (4 _ 0 _ レベル _ 9 _ 1)
シェーダー モデル (D3D12) 該当なし 該当なし
タイル リソース いいえ いいえ
保守的なラスター化 いいえ いいえ
ラスタライザーの順序ビュー いいえ いいえ
最小/最大フィルター いいえ いいえ
既定バッファーのマップ いいえ いいえ
シェーダー指定されたステンシル参照値 いいえ いいえ
型指定されていないアクセス ビューの読み込み いいえ いいえ
ジオメトリ シェーダー いいえ いいえ
ストリーム出力 いいえ いいえ
DirectCompute/計算シェーダー 該当なし 該当なし
ハル シェーダーおよびドメイン シェーダー いいえ いいえ
テクスチャ リソース配列 いいえ いいえ
キューブマップ リソース配列 いいえ いいえ
BC4/BC5 圧縮 いいえ いいえ
機能 \ レベル 9 _ 2 9 _ 1
BC6H/BC7 圧縮 いいえ いいえ
Alpha-to-coverage いいえ いいえ
拡張形式 (BGRA など) はい はい
10 ビット XR ハイカラー形式 該当なし 該当なし
論理操作 (出力マージャー) いいえ いいえ
ターゲットに依存しないラスター化 いいえ いいえ
ForcedSampleCount 1 による複数のレンダー ターゲット (MRT) いいえ いいえ
UAV スロット 該当なし 該当なし
すべてのステージのUAV 該当なし 該当なし
UAV 専用レンダリングの最大強制サンプル カウント 該当なし 該当なし
定数バッファー のオフセットと部分的な更新 1 1
16 ビット/ピクセル (bpp) 形式 省略可能1 省略可能1
最大テクスチャ次元 2048 2048
最大キューブマップ次元 512 512
最大ボリューム範囲 256 256
最大テクスチャ反復 2048 128
機能 \ レベル 9 _ 2 9 _ 1
最大異方性 16 2
最大プリミティブ カウント 1048575 65,535
最大頂点インデックス 1048575 65534
最大入力スロット 16 16
同時レンダー ターゲット 1 1
オクルージョン クエリ はい いいえ
個別アルファ ブレンド はい いいえ
1 回のミラー はい いいえ
頂点要素のオーバーラップ はい いいえ
非依存書き込みマスク いいえ いいえ
インスタンス化 いいえ いいえ
Nonpowers-of-2 条件付き3 はい はい
無条件に 2 の非パワー4 いいえ いいえ

テーブルの脚注

0 Direct3D 11.3 または Direct3D 12 ランタイムが必要です。

1 Direct3D 11.1 ランタイムが必要です。

2 シェーダー モデル 5.0 以上では、必要に応じて、倍精度シェーダー、拡張倍精度シェーダー 、SAD4 シェーダー命令、および部分精度シェーダーをサポートできます。 DirectX 11 で使用できるシェーダー モデル 5.0 オプションを確認するには 、ID3D11Device::CheckFeatureSupportを呼び出します。 一部の互換性は、実行しているハードウェアによって異なります。 シェーダー モデル 5.1 以上は、使用されている機能レベルに関係なく、DirectX 12 API でのみサポートされます。 DirectX 11 では、シェーダー モデル 5.0 までのみサポートされます。 DirectX 12 API は機能レベル 11_0 にのみ対応します。

3 機能レベル 9 _ 1、9 2、9 3 では、ディスプレイ デバイスは、2 つの条件下で 2 の機能ではない次元を持つ _ _ 2-D テクスチャの使用をサポートします。 まず、各テクスチャに対して 1 つの MIP マップ レベルのみを作成できます。2 つ目の場合、テクスチャのラップ サンプラー モードは許可されません (つまり 、D3D11 _ SAMPLER _ DESCの AddressU、AddressV、AddressW メンバーを D3D11 _ TEXTURE ADDRESS _ _ WRAPに設定することはできません)。

4 機能レベル 10 _ 0、10 _ 1、11 0 では、ディスプレイ デバイスは無条件に 2 次元テクスチャの使用をサポートします。2 次元のテクスチャは _ 2 つの機能ではありません。

5 頂点シェーダー 2a(256 命令、32 一時レジスタ、深度 4 の静的フロー制御、深度 24 の動的フロー制御、D3DVS20CAPS _ PREDICATION)。 512 命令を含むピクセル シェーダー 2x、 32 一時レジスタ、深度 4 の静的フロー制御、深度 24 の動的フロー制御、D3DPS20CAPS _ ARBITRARYSWIZZLE、D3DPS20CAPS _ GRADIENTINSTRUCTIONS、D3DPS20CAPS _ PREDICATION、D3DPS20CAPS _ NODEPENDENTREADLIMIT、D3DPS20CAPS _ NOTEXINSTRUCTIONLIMIT。

6 より 高いレベルは省略可能です。

7機能レベル 9_3 では、サポートされているレンダリング メソッドは、Draw、DrawIndexed、および DrawIndexInstanced のみです。 また、機能レベル 9_3 では、ポイント リストのレンダリングは、描画 を使用したレンダリングでのみサポート されます

8 Windows 11 でサポートされます。

9 Direct3D 12 API では、CBV/SRV/UAV ヒープ内の記述子の数に制限があります。 詳細 については、「ハードウェア層」 を参照してください。 別に、リソース バインド層 に基づくすべてのステージのすべての記述子テーブル内の UAV の数 には制限があります

さまざまなハードウェア機能レベルでの形式のサポートの詳細については、以下を参照してください。