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)
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2048, 1024, 0, GL_BGRA,
GL_UNSIGNED_BYTE, NULL)
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA, 2048, 1024, 0, GL_BGRA,
GL_UNSIGNED_BYTE, NULL)
Source of this line is the Scenegraph renderer:
void Atlas::bind(QSGTexture::Filtering filtering)
glTexImage2D(GL_TEXTURE_2D, 0, m_internalFormat, m_size.width(),
m_size.height(), 0, m_externalFormat, GL_UNSIGNED_BYTE, 0);
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
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1401968
Title:
GTK applications don't work anymore under unity8
To manage notifications about this bug go to:
https://bugs.launchpad.net/qtmir/+bug/1401968/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs