はじめに

新型のコンピューターや既存のコンピューターに組み込まれているさまざまなビデオ カードに対処するために、Direct3D 11 では機能レベルという概念を導入しました。それぞれのビデオ カードは、コンピューターに搭載されている GPU に応じて、特定のレベルの Direct3D 機能を実装します。以前のバージョンの Direct3D では、ビデオ カードが Direct3D のどのバージョンに対応しているかを確認し、そのバージョンに応じてアプリケーションをプログラムする方法がとられていました。

Direct3D 11 では、機能レベルという新しいパラダイムが導入されました。各機能レベルは明確に定義された GPU 機能のセットです。たとえば、機能レベル 9_1 では、Direct3D バージョン 9.1 が実装している機能が実装され、機能レベル 11_0 では、Direct3D 11 が実装している機能が実装されます。

機能レベルの導入により、デバイスを作成するときに、必要な機能レベルに対応するデバイスの作成を試すことができるようになりました。デバイスを正常に作成できれば、その機能レベルが存在しています。作成できない場合、その機能レベルは目的のハードウェアでサポートされていません。それより下の機能レベルでデバイスの作成を再試行するか、アプリケーションの終了を選択します。「D3D11CreateDevice」を参照してください。

機能レベルを使用して、Direct3D 9、Direct3D 10、または Direct3D 11 のいずれか向けのアプリケーションを開発し、そのアプリケーションを 9、10、または 11 のハードウェアで実行できます (当然、いくつかの例外はあります。たとえば、11 の新機能は 9 などの既存のバージョンのカードでも動作します)。以下に、各機能レベルのその他の基本的なプロパティをいくつか示します。

  • デバイスの作成が可能な GPU は、そのデバイスの機能レベル以上のレベルの機能に対応しています。
  • 個々の機能レベルは、そのレベルより前の機能レベルまたは下位の機能レベルの機能を備えています。
  • 機能レベルはパフォーマンスを示すものではなく、機能のみを示します。パフォーマンスはハードウェアの実装に依存します。
  • Direct3D11 デバイスを作成する際は、必ずいずれかの機能レベルを選択する必要があります。

設計で採用する機能レベルの決定に役立つように、各機能レベルの機能の比較を次に示します。

各機能レベルの概要

次の表に、使用可能な機能を機能レベル別に示します。

11_0 10_1 10_0 9_3 9_2 9_1
シェーダー モデル 5.0 4.x 4.0 2.0 (4_0_level_9_3) 2.0 (4_0_level_9_1) 2.0 (4_0_level_9_1)
ジオメトリ シェーダー あり あり あり なし なし なし
ストリーム出力 あり あり あり なし なし なし
コンピュート シェーダー あり オプション オプション なし なし なし
ハル シェーダーとドメイン シェーダー あり なし なし なし なし なし
テクスチャー リソース配列 あり あり あり なし なし なし
キューブマップ リソース配列 あり あり なし なし なし なし
BC4/BC5 圧縮 あり あり あり なし なし なし
BC6H/BC7 圧縮 あり なし なし なし なし なし
アルファトゥカバレッジ あり あり あり なし なし なし
拡張フォーマット* (BGRA など) あり オプション オプション あり あり あり
10 ビット XR ハイカラー フォーマット あり オプション オプション 該当せず 該当せず 該当せず
最大テクスチャー サイズ 16384 8192 8192 4096 2048 2048
最大キューブマップ サイズ 16384 8192 8192 4096 512 512
最大ボリューム範囲 2048 2048 2048 256 256 256
テクスチャーの最大繰り返し回数 16384 8192 8192 8192 2048 128
最大異方性 16 16 16 16 16 2
最大プリミティブ カウント 2^32 2^32 2^32 1048575 1048575 65535
同時レンダリング ターゲット数 8 8 8 4 1 1
オクルージョン クエリ あり あり あり あり あり なし
個別のアルファ ブレンディング あり あり あり あり あり なし
Mirror Once あり あり あり あり あり なし
頂点要素のオーバーラップ あり あり あり あり あり なし
独立した書き込みマスク あり あり あり あり なし なし
Instancing あり あり あり あり なし なし

関連項目

ダウンレベルのハードウェア上の Direct3D 11, Direct3D 10 フォーマットに対するハードウェア サポート, Direct3D 10.1 フォーマットに対するハードウェア サポート, Direct3D 11 フォーマットに対するハードウェア サポート