D3D Shader/OpenGL」カテゴリーアーカイブ

Intel HD Graphics Gen 8 は Open GL 4.4/OpenGL ES 3.1 AEP 対応 (Broadwell/Cherry Trail/Braswell)

Broadwell 世代の Intel HD Graphics (Iris Pro) は OpenGL 4.4 に対応していることがわかりました。また ES3 Compatibility では OpenGL ES 3.1 Context を作成可能で GL_ANDROID_extension_pack_es31a が含まれます。つまり OpenGL ES 3.1 AEP です。

今後 Cerry Trail 搭載 Android 端末が登場したら同じように OpenGL ES 3.1 AEP に対応しているものと思われます。

# Braswell Celeron N3150 Windows 10 x64
GL_VERSION: 4.4.0 - Build 10.18.15.4235
GL_RENDERER: Intel(R) HD Graphics
GL_VENDOR: Intel
GL_SHADING_LANGUAGE_VERSION: 4.40 - Build 10.18.15.4235

# Braswell Celeron N3150 Windows 10 x64
GL_VERSION: OpenGL ES 3.1 - Build 10.18.15.4235
GL_RENDERER: Intel(R) HD Graphics
GL_VENDOR: Intel
GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.10 - Build 10.18.15.4235

この世代の GPU には、Core i の Broadwell だけでなく Atom 系 CPU Airmont を搭載した Cherry Trail や Braswell も含まれます。
実際にこれらのデータは Braswell Celeron N3150 で調べています。

Intel HD Graphics の世代と対応 API まとめ (より詳しくはこちら)

世代 FeatureLevel OpenGL OpenGL ES D3D12 ASTC
Gen 7 11_0 4.0 3.1 N N Ivy Bridge/Bay Trail
Gen 7.5 11_1 4.3 3.1 Y N Haswell
Gen 8 11_1 4.4 3.1 AEP Y Y Broadwell/Cherry Trail/Braswell

詳細な結果は下記ページに掲載しました。

Desktop GPU Extensions

上のページに掲載した “Intel HD Graphics Gen 8 (Braswell Celeron N3150)” の Extension 一覧を見ると、OpenGL 4.4 でも ASTC に Native で対応していることがわかります。
GeForce の Fermi/Kepler/Maxwell1 では Emulation でしたが、今後は Desktop GPU でも ASTC 対応が増えてくるものと思われます。

Extension より
GL_KHR_texture_compression_astc_ldr
GL_ANDROID_extension_pack_es31a

また Atom CPU (Airmont) の Braswell も DirectX12 (Direct3D 12) API に対応していることを確認しました。CPU 性能はあまり変わっていませんが、内蔵 GPU においては Bay Trail との差は非常に大きいようです。
↓こちらの表も更新しています。

Direct3D 12 (DirectX 12) Windows 詳細

D3D12 API からみた Feature Options は今のところ Gen7.5 と変わっていないようです。
ただし、今後ドライバの更新等で仕様が変わる可能性があります。

関連エントリ
Atom プロセッサの比較
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
OpenGL ES 3.1 は OpenGL 4.x 相当で ComputeShader に対応

Autodesk Maya 2016 と sRGB

Maya 2016 では Color Space を指定する Attribute が変更されているようです。

MFn::kFileTexture
Maya 2015 以前  colorProfile  int
Maya 2016       colorSpace    string

2015

getAttr file1.cp;
// Result: 3 //

2016

getAttr file1.cp;
// Result: 0 // 
getAttr file1.cs;
// Result: sRGB //
// 2015
int cp= getAttribute( object, "cp", &stat ); // colorProfile
switch( cp ){
case 3: // sRGB
    ...
    break;
}

// 2016
bool ifr= getAttribute( object, "ifr", &stat ); // ignoreColorSpaceFileRules
if( ifr ){
    MString  cs= getAttributeMString( object, "cs", &stat ); // colorSpace
    if( cs == "sRGB" ){
        ...
    }
}

exporter でトラブルがあったのでメモ。

関連エントリ
Maya 2015 ShaderFX のノード情報を読みだしてみる
Maya 2014 の Output Window と stderr
Maya ShaderFX

Direct3D 12 (DirectX12) GPU と API の対応表

分かる範囲、試せる範囲で結果をまとめました。
より詳しくは下記ページを参照してください。

GPU 世代対応表

GPU FeatureLevel D3D12 OpenGL OpenGL ES
GeForce Tesla 10_0 N 3.3 ES 3.0? GeForce GTX200
GeForce Fermi 11_0 N (Y) 4.5 ES 3.1 AEP Emu GeForce GTX400
GeForce Kepler 11_0 Y 4.5 ES 3.1 AEP Emu GeForce GTX680
GeForce Maxwell 11_0 Y 4.5 ES 3.1 AEP Emu GeForce GTX750
GeForce Maxwell 2 ? Y 4.5 ES 3.1 AEP ? GeForce GTX900
RADEON R700 10_1 N 3.3? ES ? RADEON HD 4000
RADEON VIEW5 11_0 N 4.5/4.4 ES 3.1 RADEON HD 5000
RADEON VLIW4 11_0 N 4.5/4.4 ES 3.1 RADEON HD 6000
RADEON GCN 1.0 11_1 Y 4.5/4.4 ES 3.1 RADEON HD 7000
RADEON GCN 1.1 12_0 Y 4.5/4.4 ES 3.1 RADEON R9 200/300
RADEON GCN 1.2 ? Y 4.5/4.4 ES 3.1 RADEON R9 285/380/Fury
HD Graphics 7 11_0 N 4.0 ES 3.1 HD 2500/4000
HD Graphics 7.5 11_1 Y 4.3 ES 3.1 HD 4600/5200
HD Graphics 8 ? Y ? ES 3.1 Iris Pro 6200

D3D12 の欄が Y の FeatureLevel は HW 機能ではなく D3D12 API が実際に返してきた値です。ドライバの更新で今後仕様が変わる可能性があります。実際に HD Graphics 4600 が 11_0 → 11_1 に変わりました。

GeForce Fermi (GeForce GTX 560 Ti 等) は Direct3D 12 サポート GPU に含まれますが、現在リリースされているドライバはまだ対応していません。
(NVIDIA Blog: GeForce DirectX 12 Drivers for Windows 10 Now WHQL-Certified)
6/29 現在 GeForce で D3D12 を試す場合 Kepler または Maxwell 以降が必要になります。

RADEON は Catalyst 15.6 beta で OpenGL 4.5 を返しますが shader は 4.4 のまま↓。

GL_VERSION: 4.5.13394 Core Profile/Debug Context 15.200.1023.5
GL_RENDERER: AMD Radeon HD 8400 / R3 Series
GL_VENDOR: ATI Technologies Inc.
GL_SHADING_LANGUAGE_VERSION: 4.40

関連エントリ
DirectX 12 (Direct3D 12) と GPU の対応

関連ページ
3D Low overhead API (Low Level API) Metal/D3D12/Vulkan
Direct3D 12 (DirectX 12) Windows 詳細
GPU 世代対応表