GeForce GTX970 (新 Maxwell) は DirectX12 の Feature Level 12_1 に対応していることを確認しました。
RADEON | GeForce | GeForce | Intel HD | |
R3 8400 | GTX 970 | GTX 750 Ti | Graphics | |
GCN 1.1 HSA | Maxwell 2 | Maxwell | Gen 8 | |
15.200.1023 | 353.30 | 353.30 | 10.18.15.4235 | |
FEATURE_LEVEL | 12_0 | 12_1 | 11_0 | 11_1 |
DoublePrec | true | true | true | true |
OMLogicOp | true | true | true | true |
MinPrecision | NONE | NONE | NONE | NONE |
TiledResTier | Tier 2 | Tier 3 | Tier 1 | — |
ResBindingTier | Tier 3 | Tier 2 | Tier 2 | Tier 1 |
StencilRef | true | false | false | false |
TypedUAVFormat | true | true | true | false |
ROV Supported | false | true | false | true |
ConservativeRas | — | Tier 1 | — | — |
GPUVAddrBits | 38 | 38 | 31 | 31 |
StdSwizzle64K | false | false | false | false |
CrossNodeTier | — | — | — | — |
CrossAdaptTex | false | false | false | false |
VPAndRTArray | false | false | false | true |
ResHeapTier | Tier 2 | Tier 1 | Tier 1 | Tier 2 |
同じ Maxwell でも、GeForce GTX900 では ROV 及び Conservative Rasterization など新しいハードウエア機能に対応していることがわかります。ただし Resource Binding/Heap Tier は Kelper/旧Maxwell 世代と変わらず、リソースの上限は残ったままです。他の GPU 含めたより詳しい表は下記ページに載せています。
・Direct3D 12 (DirectX 12) Windows 詳細
これらの新しい機能自体は GPU が対応していれば Direct3D 11.3 でも使用できます。
DirectX の API Version は下記のように細かく別れています。API Version が古いと新しい機能を利用することができません。ID3D11Device2/ID3D11Device3 のように必要な機能に対応した Interface を使う必要があります。
Direct3D 11.0 Windows 7 (Vista) Direct3D 11.1 Windows 8 (7) Direct3D 11.2 Windows 8.1 Direct3D 11.3 Windows 10 Direct3D 12 Windows 10
D3D12 で使える Feature Level は今のところ下記の 4 種類で API Version とは異なっています。こちらは実際に GPU が対応している機能をグループ化したものです。option 扱いの個別の機能を 1つ 1つ判定するのは面倒ですが、Feature Level 毎に必須の機能を決めておくことでまとめて区別しやすくなります。OpenGL の Extension と GL Version 番号の関係に似ているかもしれません。
Feature Level 11_0 Fermi/Kepler/Maxwell1 Feature Level 11_1 GCN 1.0/Intel HD Graphics Iris Gen7.5/8 Feature Level 12_0 GCN 1.1/1.2 Feature Level 12_1 Maxwell2
GPU の機能面に注目する場合は、どの API に対応しているかよりも、どの FeatureLevel に属しているかの方が重要となります。Direct3D11 対応と書かれていても FeatureLevel 9_1 の可能性もあるからです。
下記のページにも同じ表を載せています。
GeForce GTX970 の OpenGL の結果も下記に追加しました。
GL_VERSION: 4.5.0 NVIDIA 353.30 GL_RENDERER: GeForce GTX 970/PCIe/SSE2 GL_VENDOR: NVIDIA Corporation GL_SHADING_LANGUAGE_VERSION: 4.50 NVIDIA
↓ Maxwell v1 との違い
GL_AMD_vertex_shader_viewport_index GL_AMD_vertex_shader_layer GL_EXT_post_depth_coverage GL_EXT_raster_multisample GL_EXT_sparse_texture2 GL_EXT_texture_filter_minmax GL_NV_conservative_raster GL_NV_conservative_raster_dilate GL_NV_fill_rectangle GL_NV_fragment_coverage_to_color GL_NV_fragment_shader_interlock GL_NV_framebuffer_mixed_samples GL_NV_geometry_shader_passthrough GL_NV_path_rendering_shared_edge GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_shader_atomic_fp16_vector GL_NV_viewport_array2
OpenGL ES 3.1 AEP 対応も他の GeForce と同じです。Extension に違いはありますが ASTC は Emulation となっています。今のところ HW 対応を確認した GPU は Intel HD Graphics (Gen8) のみ。
関連エントリ
・3D 低レベル API の現状 Direct3D 12/Metal
・Intel HD Graphics Gen 8 は Open GL 4.4/OpenGL ES 3.1 AEP 対応 (Broadwell/Cherry Trail/Braswell)
・Direct3D 12 (DirectX12) GPU と API の対応表
・DirectX 12 (Direct3D 12) と GPU の対応
・Desktop GPU と OpenGL ES 3.1 API
・GeForce の OpenGL 4.5 ES3_1_Compatibility は AEP 対応
・CPU 負荷が低い 新しい 3D API
Skylake世代のHD Graphicsについてはこんな話もあるようで
これが事実なら期待できそうです
http://forums.anandtech.com/showpost.php?p=37607596
D3D12 フル対応一番乗りは Skylake でしたか。
かなり良さそうですね。
HD Graphics は ASTC 対応もポイント高いです。