Qt does exactly what you ask for: it requests a 2.0 context. Now since implementations are free to return a later version that is backwards compatible with the requested, getting a 3.0 or 3.1 context is perfectly fine (and is the standard behavior you will get with any driver that supports ES 3.0 and newer). There is no reason for GL_OES_EGL_image_external not to work with ES 3.x, as long as you use ES2-style (ESSL1) shaders. The typical problem is that drivers are free to reject it in ESSL3 shaders, unless they also support the fairly fresh GL_OES_EGL_image_external_essl3.
Now, it could be that your particular driver disables the extension completely in non-2.0 contexts (regardless of the shading language version in use), but there is no solution to that since there is no standard way to force a given context version. Best regards, Laszlo From: interest-bounces+laszlo.agocs=theqtcompany....@qt-project.org [mailto:interest-bounces+laszlo.agocs=theqtcompany....@qt-project.org] On Behalf Of Liang Jian Sent: 12. mars 2015 08:02 To: interest@qt-project.org Subject: [Interest] [qt-android] Is it possible to create OpenGL ES 2 context even when ES 3 is available? Now qt-android will create an OpenGL ES 3 context if that ES3 is supported by the devices even if I have call QSurfaceFormat::setVersion(2,0). Is it a way to just create the specific version I wanted using QOpenGLContext? The reason why I care about that is: I need to use SurfaceTexture in my android app, and that require GL_OES_EGL_image_external extenstion, but GL_OES_EGL_image_external is written against OpenGL ES 2. If I create a OpenGL ES 3 context, some GPU (such as PowerVR rogue han) driver will fail to compile my fragment shader if I add the line to my fragment shader: #extension GL_OES_EGL_image_external : require In this case I must create a OpenGL ES 2 context to make it work. I think qtmultimedia for android will also suffer from this because it will also use GL_OES_EGL_image_external. In fact I tried to deloy qmlvideo example to my Meizu MX4 (PowerVR Rogue Han) it didin't work, But I didn't see the shader compilation error from debug output.
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest