ハードウェアの機能レベル
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 機能レベルで、次の機能を使用できます。
1 番上の行の見出しは 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 個の形式、および追加オプション |
ジオメトリ シェーダー | はい | はい | はい | はい |
ストリーム出力 | はい | はい | はい | はい |
DirectCompute/計算シェーダー | はい | はい | はい | はい |
ハル シェーダーおよびドメイン シェーダー | はい | はい | はい | はい |
テクスチャ リソース配列 | はい | はい | はい | はい |
キューブマップ リソース配列 | はい | はい | はい | はい |
BC1 から BC7 への圧縮 | はい | はい | はい | はい |
Alpha-to-coverage | はい | はい | はい | はい |
論理操作 (出力マージャー) | はい | はい | はい | 省略可能 |
ターゲットに依存しないラスター化 | はい | はい | はい | いいえ |
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 形式のハードウェア サポート
関連トピック