Yeah, I'm puzzled. On desktop, configuring with -DUSE_OPENGLES=1 has everything working. Qt is compiled with GL support on desktop, so this fact confuses me. With that configure flag, Qt does notified it has a GLES context, perhaps it is smart enough to then just use the right shaders & commands. Or else MESA is being forgiving at switching between GL and GLES.
Comparing the apitrace of the old qmake build versus a newer cmake build, this is the main change:
m_internalFormat is wrong after cmake change - it is GL_BGRA, which is the default if a non-GLES context is current.
I compared the build commands between qmake and cmake: http://pastebin.ubuntu.com/9699667/
which shows me that the newer cmake is setting QT_USING_OPENGL and QTMIR_USE_OPENGL (as we'd expect), but qmake was not setting these. qmake worked, perhaps by accident
Yeah, I'm puzzled. On desktop, configuring with -DUSE_OPENGLES=1 has everything working. Qt is compiled with GL support on desktop, so this fact confuses me. With that configure flag, Qt does notified it has a GLES context, perhaps it is smart enough to then just use the right shaders & commands. Or else MESA is being forgiving at switching between GL and GLES.
Comparing the apitrace of the old qmake build versus a newer cmake build, this is the main change:
- glTexParameteri (GL_TEXTURE_ 2D, GL_TEXTURE_ MAX_LEVEL, 0) GL_TEXTURE_ 2D, 0, GL_RGBA, 2048, 1024, 0, GL_BGRA, GL_UNSIGNED_BYTE, NULL) GL_TEXTURE_ 2D, 0, GL_BGRA, 2048, 1024, 0, GL_BGRA, GL_UNSIGNED_BYTE, NULL)
- glTexImage2D(
+ glTexImage2D(
Source of this line is the Scenegraph renderer:
void Atlas:: bind(QSGTexture ::Filtering filtering)
m_internalFormat is wrong after cmake change - it is GL_BGRA, which is the default if a non-GLES context is current.
I compared the build commands between qmake and cmake: http:// pastebin. ubuntu. com/9699667/
which shows me that the newer cmake is setting QT_USING_OPENGL and QTMIR_USE_OPENGL (as we'd expect), but qmake was not setting these. qmake worked, perhaps by accident