SDK 2016 Windows 8.1 GL ES 3.1 samples fail with included libGL*.dll's

Just an FYI and inquiry (with a “fix” of sorts).

Touring the SDK 2016 R1.2 (downloaded 05-10-16), samples for OpenGL ES 2.x worked fine under Windows 8.1, compiled with Visual Studio 2015 (update 2 ).

However, the GLES 3.1 (for example, the ParticleSystem in the Advanced examples, would not run. The error basically boils down to a claim that my hardware didn’t support ES 3.1 emulation.

Yet, that doesn’t make sense, because my hardware supports OpenGL 4.3, and because SDK 3.5 samples did (though I’m not sure if any were specifically ES 3.1, there were some at least 3.0).

However, when I replace the files libEGL.dll, libGLES_CM.dll and libGLESv2.dll with copies from those supplied with SDK 3.5, even the 2016 samples work for 3.1.

There are two graphics options running on my machine for 3 monitor support. Two monitors run from an AMD/ATI HD 4600 card, which appear to support OpenGL 4.3, and the Intel HD 4600 (Haswell/DC) integrated GPU on the center monitor.

Since I have a solution I’m not complaining. Just an FYI that the previous version of the emulation DLL’s actually work better than the new ones in my configuration, perhaps an eye on the 2016 package is needed.

Hi JVene

I think this is due to a bug where the emulation library is erroneously checking for GL_ARB_buffer_storage when an ES 3.1 context is requested, which the HD 4600 doesn’t support. I will fix this for the next release.

As a workaround you can disable this check by running the PVRVFrame GUI application and enabling ‘Loose’ mode in Edit -> Preferences.