月別アーカイブ: 2017年7月

Direct3D 12 と GeForce GTX 560 Ti (Fermi)

ついに 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 については、下記のページも参照してください。

GPU 世代対応表

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 の対応

関連ページ
Direct3D 12 (DirectX 12) Windows 詳細
GPU 世代対応表