次の方法で共有


ハードウェア機能レベル

11_0 から 12_1 のハードウェア機能レベルの機能について説明します。

Microsoft Direct3D 11 では、新規および既存のマシンでのビデオ カードの多様性を処理するために、機能レベルの概念が導入されました。 各ビデオ カードは、インストールされているグラフィックス処理装置 (GPU) に応じて、特定のレベルの Microsoft DirectX (DX) 機能を実装します。 機能レベルは、GPU 機能の明確に定義されたセットです。 たとえば、11_0 機能レベルでは、Direct3D 11 で実装された機能が実装されます。

デバイスを作成するときに、要求する機能レベルのデバイスの作成を試みることができます。 デバイスの作成が機能する場合、その機能レベルが存在していなくても、ハードウェアはその機能レベルをサポートしていません。 低い機能レベルでデバイスを再作成するか、アプリケーションを終了することを選択できます。

機能レベルの基本的なプロパティは次のとおりです。

  • すべての Direct3D 12 ドライバーは、機能レベル 11_0 以上になります。
  • デバイスを作成できる GPU は、その機能レベルの機能を満たすか超えています。
  • 機能レベルには、以前または下位の機能レベルの機能が常に含まれます。
  • 機能レベルは、パフォーマンスを示すのではなく、機能のみを意味します。 パフォーマンスはハードウェアの実装に依存します。
  • 機能レベルは、D3D12CreateDevice呼び出すときに選択されます。
  • サポートされている機能の詳細については (特に、次の表 省略可能な とマークされている機能は、ハードウェアが機能をサポートしている可能性がありますが、必須ではないことを意味します)、CheckFeatureSupport呼び出します。

特定の機能レベルでの非ハードウェア タイプ デバイスの作成に関する制限事項については、「WARP および参照デバイスの作成に関する制限事項」を参照してください。 機能レベルの導入の詳細については、Direct3D 機能レベルに関する Direct3D 11 のドキュメントを参照してください。

番号付けシステム

ハードウェア機能レベル API バージョンと同じ ではありません。 たとえば、D3D11.3 API がありますが、11_3 ハードウェア機能レベルはありません。 機能レベルは、D3D_FEATURE_LEVEL 列挙型で定義されます。

3 つの異なる番号付けシステムがあります。

  • Direct3D バージョンでは期間が使用されます。たとえば、Direct3D 12.0 などです。
  • シェーダー モデルではピリオドが使用されます。たとえば、シェーダー モデル 5.1 です。
  • 機能レベルではアンダースコアが使用されます。たとえば、機能レベル 12_0 です。

機能レベルのサポート

Direct3D 機能レベルごとに、次の機能を使用できます。

一番上の行の見出しは Direct3D 機能レベルです。 左側の列の見出しは特徴です。

機能 \ 機能レベル 12_1⁰ 12_0⁰ 11_1¹ 11_0
シェーダー モデル 6.0 6.0 6.0/5.1² 6.0/5.1²
リソース バインド層の Tier2 ² Tier2 ² Tier1 ² Tier1 ²
タイル リソース する Tier2 ² Tier2 ² 随意 随意
保守的なラスター化 Tier1 ² 随意 随意 いいえ
ラスタライザー順序付きビュー する はい 随意 随意 いいえ
最小/最大フィルター はい はい 随意 いいえ
既定のバッファーのマップ 随意 随意 随意 随意
シェーダー指定ステンシル参照値 随意 随意 随意 いいえ
型指定された順序なしアクセス ビューの読み込み 18 形式、さらに省略可能 18 形式、さらに省略可能 3 つの形式、さらに省略可能 3 つの形式、さらに省略可能
ジオメトリ シェーダー する はい はい はい はい
Stream Out はい はい はい はい
DirectCompute/Compute Shader はい はい はい はい
ハル シェーダーとドメイン シェーダー はい はい はい はい
テクスチャ リソース配列 する はい はい はい はい
cubemap リソース配列 する はい はい はい はい
BC1 から BC7 への圧縮 する はい はい はい はい
アルファからカバレッジへの する はい はい はい はい
ロジック操作 (出力マージャー) はい はい はい 随意
ターゲットに依存しないラスター化 はい はい はい いいえ
ForcedSampleCount 1 を使用して複数のレンダー ターゲット (MRT) を する はい はい はい 随意
UAV のみのレンダリング の最大強制サンプル数 16 16 16 8
最大テクスチャ ディメンション 16384 16384 16384 16384
最大キューブマップ ディメンション 16384 16384 16384 16384
最大ボリューム範囲 2048 2048 2048 2048
最大テクスチャ繰り返し 16384 16384 16384 16384
最大異方性 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 2^32 – 1
最大入力スロット数 32 32 32 32
同時レンダー ターゲット 8 8 8 8
オクルージョン クエリ はい はい はい はい
アルファ ブレンドを分離する はい はい はい はい
ミラー 1 回 はい はい はい はい
重なり合う頂点要素 はい はい はい はい
独立した書き込みマスク はい はい はい はい
インスタンス はい はい はい はい

 

  • ⁰ Direct3D 11.3 または Direct3D 12 ランタイムが必要です。
  • ¹ Direct3D 11.1 ランタイムが必要です。
  • ² シェーダー モデル 5.0 では、必要に応じて、倍精度シェーダー、拡張倍精度シェーダー、SAD4 シェーダー命令、および部分精度シェーダーをサポートできます。 使用可能なシェーダー モデル 5.0 オプションを確認するには、ID3D12Device::CheckFeatureSupport呼び出します。 一部の互換性は、実行しているハードウェアによって異なります。シェーダー モデル 5.1 は、使用されている機能レベルに関係なく、DirectX 12 API をサポートするハードウェアでのみサポートされます。 DirectX 11 ハードウェアでは、最大シェーダー モデル 5.0 のみがサポートされます。 DirectX 12 API は、機能レベル 11_0 にのみダウンします。
  • ² 上位レベルはオプションです。
  • 機能レベル 12_0 と 12_1 には、Direct3D 11.3 または Direct3D 12 ランタイムが必要です。
  • 機能レベル 11_1 には、Direct3D 11.1 ランタイムが必要です。
  • 機能レベル 11_0 には、Direct3D 11.0 ランタイムが必要です。

DXGI 形式のハードウェア サポート

DXGI 形式とハードウェア機能の表を表示するには、以下を参照してください。

機能クエリ

Direct3D 12 について