Important: Please read the Qt Code of Conduct -

Why can't I use OpenGL ES 3.0 in Qt?

  • I set a QSurfaceFormat on my window, and this surface format has "3.0" set as its GL version number. Also, in main() I enable OpenGL ES mode, like this:


    This means I'm requesting a GL ES 3.0 context.

    The ANGLE docs say (in a table near the beginning) that GL ES 3.0 -> D3D 11 API translation support is implemented. And my system supports D3D 11 according to dxdiag.exe.

    But when I launch my app, which contains this QML code...

    Text {
        text: OpenGLInfo.majorVersion + "." + OpenGLInfo.minorVersion

    ... I see "2.0" is displayed. Also, using the method I described here, I've determined that the maximal supported shading language version on my PC is "100" aka 1.0.

    At the same time, from this Qt blog post I know that Qt supports GL ES 3.0 apps.

    So why can't I use OpenGL ES 3.0 in Qt?

  • I got a working solution (in comments) here.

Log in to reply