ハードウェア機能レベル
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.1 ハードウェア に対する DXGI 形式のサポートの
- Direct3D 機能レベル 12.0 ハードウェア の DXGI 形式サポートの
- Direct3D 機能レベル 11.1 ハードウェア に対する DXGI 形式のサポートの
- Direct3D 機能レベル 11.0 ハードウェア の DXGI 形式のサポートを する
- Direct3D 10Level9 形式の ハードウェア サポート
- Direct3D 10.1 形式の ハードウェア サポート
- Direct3D 10 形式の ハードウェア サポート
関連トピック
-
Direct3D 12 について