OpenGL ES は Mobile 等で用いられる API ですが、Desktop 向け OpenGL にも
積極的に取り込まれており互換性が保たれるようになってきました。
OpenGL 4.5 では GL_ARB_ES3_1_compatibility をサポートし、
OpenGL ES 3.1 API としても使うことができます。
2015/06/25 現在 Windows での対応状況 (beta driver 含む)
Windows Desktop API Mobile API ------------------------------------------------------------- GeForce OpenGL 4.5 OpenGL ES 3.1 AEP RADEON OpenGL 4.5 OpenGL ES 3.1 Intel 4000 (Gen7) OpenGL 4.0 OpenGL ES 3.1 IvyBridge世代 Intel 4600 (7.5) OpenGL 4.3 OpenGL ES 3.1 Haswell世代
Intel と GeForce は OpenGL ES 3.1 Context を作り直す必要があります。
RADEON の場合は OpenGL 4.5 Context のまま使用します。
Desktop GPU 上で OpenGL ES を使う方法については下記にまとめています。
・Desktop 向け OpenGL ES 2.0 / OpenGL ES 3.0 / OpenGL ES 3.1 (AEP) 実行環境
Intel HD Graphics (D3D11世代) は OpenGL 4.5 に対応していませんが、
新しいドライバでは OpenGL ES 3.1 に対応しています。
具体的には Ivy Bridge 世代の Intel HD Graphics 4000/2500 以降で、
BayTrail の HD Graphics も含まれます。
Intel HD Graphics 4000 (Ivy Bridge) Windows 8.1 x64 GL_VERSION: OpenGL ES 3.1 - Build 10.18.10.4226 GL_RENDERER: Intel(R) HD Graphics 4000 GL_VENDOR: Intel GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.1 - Build 10.18.10.4226
Intel HD Graphics (BayTrail-T Atom Z3740) Windows 10 x86 GL_VERSION: OpenGL ES 3.1 - Build 10.18.10.3993 GL_RENDERER: Intel(R) HD Graphics GL_VENDOR: Intel GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.1 - Build 10.18.10.3993
Intel HD Graphics 4600 (Haswell) Windows 10 x64 GL_VERSION: OpenGL ES 3.1 - Build 10.18.15.4235 GL_RENDERER: Intel(R) HD Graphics 4600 GL_VENDOR: Intel GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.10 - Build 10.18.15.4235
GeForce のように GL_ANDROID_extension_pack_es31a (AEP) はありませんが、
Tessellator/GeometryShader など一部の機能は独自に対応が行われているようです。
OpenGL ES 3.1 context には下記の extension が含まれていることがわかります。
GL_INTEL_tessellation GL_INTEL_geometry_shader
・Intel Developer Zone : Tessellation for OpenGL ES 3.1 on Android
GeForce は OpenGL ES 3.1 context で AEP をサポートしています。
ただし GPU によっては、AEP で必要な一部機能 (ASTC Texture) がソフトウエアで
エミュレーションされているようです。
NVIDIA は Mobile 向けに GLES Emulator Library をリリースしていないので
それを兼ねているのかもしれません。
RADEON は OpenGL 4.x そのままなので特に機能制限ありません。
よっていずれも GLES API ながら OpenGL 4.x 相当の機能が使えることになります。
GPU ごとの詳細は下記に載せています。
それぞれ可能な範囲で OpenGL ES 3.1 context の結果も含めました。
関連エントリ
・Android 5.x OpenGL ES 3.1 と対応 GPU
・Galaxy S6 Mali-T760 は AEP 非搭載ながら ASTC HDR 対応
・GeForce の OpenGL 4.5 ES3_1_Compatibility は AEP 対応
・Android Nexus 6 Adreno 420 も OpenGL ES 3.1 AEP 対応 (Direct3D 11相当)
・Android 5.0 Nexus 10 Mali-T604 は OpenGL ES 3.1 対応
・(Kindle) Fire HD 6 は OpenGL ES 3.0 対応で非対称 4 core CPU
・iPad Air 2 (Apple A8X) の GPU
・NVIDIA SHIELD Tablet Tegra K1 は OpenGL ES 3.1 で Extension Pack 対応
・OpenGL ES 3.1 は OpenGL 4.x 相当で ComputeShader に対応