Details
-
Suggestion
-
Resolution: Won't Do
-
Not Evaluated
-
None
-
None
-
None
Description
Currently only three of the supported ANGLE backends are supported on Windows: D3D11, D3D9 and WARP.
While this is sufficient for most applications, sometimes it is nice to see an OpenGL trace of the GLES code running in your application for debugging puposes, especially if you're using tools like Nvidia Nsight, or if you're currently running your application on Windows, but also deploy to native GL platforms like Linux and don't want go to a VM or boot up Linux before you're able to check the GL implementation.
Having a GL trace is also very helpful if you aren't as versed in D3D as you are in OpenGL (ES) and you want to verify that your ES code provokes the expected ANGLE behavior. The alternative is to use vendor specific GLES over WGL contexts, as provided by Intel and NVidia - which we also do, but not every (major) vendor supports this on Windows. We rely heavily on ANGLE because we're effectively bound to it on Windows, when using the Emscripten build of our 3D engine in a browser and our Qt tools are currently only working on Windows.
The effort to do this, AFAICS, is low because one only needs to
// provide an additional field like QWindowsOpenGLTester::AngleRendererOpenGL // then adapt QWindowsOpenGLTester QWindowsIntegration QWindowsEGLStaticContext // especially use the appropriate platform for EGL when creating the platform display EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE
There are no additional dependencies that need to be shipped and the GL backend is just as viable as the D3D backends. Also, if you're building ANGLE with default settings (i.e. you don't explicitly disable the GL backend) it is deployed with Qt's ANGLE build already.
We could of course do this ourselves but I'd rather see this in the official build.