ついに GeForce GTX400/500 (Fermi) 世代の GPU が Direct3D 12 に対応したようです。2年間待ちました。手持ちの GeForce GTX560 Ti で早速プログラムを走らせてみましたが問題なく動いています。
・PC Watch: NVIDIAの最新ドライバでFermi世代のGPUがDirectX 12対応に
FeatureLevel は 11_0 なので基本的な機能は Kepler 世代と大きな違いはないようです。ただし ResourceBinding Tire が 1 なので、Shader から一度に参照できるリソースの個数に上限があります。低レベル API のメリットの一つがリソース数制限の撤廃ですが、Tier 1 の場合は D3D11 と変わらないことになります。
詳細は下記ページよりどうぞ。表に GeForce GTX 560 Ti を追加しました。
・Direct3D 12 (DirectX 12) Windows 詳細
これで GeForce は Direct3D 11 世代の GPU がすべて DirectX12 対応となりました。なお Fermi は Vulkan には対応していないようです。
Direct3D 11 世代 GPU の対応 API まとめ↓ (Vulkan は Windows の場合のみ)
GPU | FL | Tier | D3D12 | Vulkan | Metal | GL |
---|---|---|---|---|---|---|
GeForce GTX 400/500 (Fermi) | 11_0 | 1 | Y | N | N | 4.5 |
GeForce GTX 600/700 (Kepler) | 11_0 | 2 | Y | Y | Y | 4.5 |
GeForce GTX 750 (Maxwell1) | 11_0 | 2 | Y | Y | Y | 4.5 |
GeForce GTX 900 (Maxwell2) | 12_1 | 2 | Y | Y | Y | 4.5 |
GeForce GTX 1000 (Pascal) | 12_1 | 2 | Y | Y | Y | 4.5 |
RADEON HD 5000 | 11_0 | – | N | N | N | 4.5 |
RADEON HD 6000 | 11_0 | – | N | N | N | 4.5 |
RADEON HD 7000 (GCN 1.0) | 11_1 | 3 | Y | Y | Y | 4.5 |
RADEON Rn 200/300 (GCN 1.1) | 12_0 | 3 | Y | Y | Y | 4.5 |
RADEON R9 285/380 (GCN 1.2) | 12_0 | 3 | Y | Y | Y | 4.5 |
RADEON RX 400/500 (GCN Polaris) | 12_0 | 3 | Y | Y | Y | 4.5 |
Intel HD Graphics (Gen 7) Ivy Bridge | 11_0 | – | N | N | Y | 4.0 |
Intel HD Graphics (Gen 7.5) Haswell | 11_1 | 1 | Y | N | Y | 4.3 |
Intel HD Graphics (Gen 8) Broadwell | 11_1 | 1 | Y | N | Y | 4.4 |
Intel HD Graphics (Gen 9) Skylake | 12_1 | 3 | Y | Y | Y | 4.4 |
・FL = Feature Level
D3D11 世代で D3D12 に対応していない GPU は Intel HD Graphics 4000 系 (Ivy Bridge) と GCN より前の RADEON になります。そもそも D3D12 や Vulkan といった低レベル API の元になっているのは GCN 向けに作られた Mantle なので、AMD の場合は仕方がないともいえます。
GPU ごとの対応 API については、下記のページも参照してください。
Windows の更新とともに Direct3D 12 にも修正が入っているようです。Creators Update の 1703 では ID3DDevice2 が追加されています。Version の違いをまとめてみました。
Windows | Version | Windows SDK | D3D12Device Interface |
---|---|---|---|
Windows 10 | 1703 | 10.0.15063.0 | ID3D12Device2 |
Windows 10 | 1607 | 10.0.14393.0 | ID3D12Device1 |
Windows 10 | 1511 | 10.0.10586.0 | ID3D12Device |
Windows 10 | 1507 | 10.0.10240.0 | ID3D12Device |
関連エントリ
・2015/06/29: Direct3D 12 (DirectX12) GPU と API の対応表
・2015/06/26: DirectX 12 (Direct3D 12) と GPU の対応
表のヘッダにMetalとありますが、PCでもMetalが動くようになっているのでしょうか?
El Capitan から macOS にも対応しています。当初は Mobile GPU 相当の機能しかなく OpenGL 4 よりもできることが限られていましたが、Sierra 以降は機能が増えました。
https://developer.apple.com…
なるほど。ありがとうございます!