diff options
Diffstat (limited to 'kde-plasma/kwin/files/kwin-5.3.1-gles2.patch')
-rw-r--r-- | kde-plasma/kwin/files/kwin-5.3.1-gles2.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/kde-plasma/kwin/files/kwin-5.3.1-gles2.patch b/kde-plasma/kwin/files/kwin-5.3.1-gles2.patch new file mode 100644 index 000000000000..cf4d859fe4ef --- /dev/null +++ b/kde-plasma/kwin/files/kwin-5.3.1-gles2.patch @@ -0,0 +1,47 @@ +commit 713c6b25dce2fc60184ddc7b618b0b1195ab9870 +Author: Martin Gräßlin <mgraesslin@kde.org> +Date: Fri May 8 08:53:34 2015 +0200 + + [kwinglutils] Init glVersion on gles + + The glVersion was not set at all for gles causing any code doing a + hasGLVersion check to fail which means that the compositor doesn't + start at all, because it has a hasGLVersion(2, 0) check. + + The complete ifdef is no longer needed. The used additional glGetStringi + is also available in gles 3.0, thus epoxy can handle it quite well + without a need for ifdef. + + Unfortunately the version string can be "strange" on GLES. On desktop + it looks like: "3.0 some driver foo", on GLES it could also be: + "OpenGL ES 3.0 some driver bar". Thus to make the logic work we are + first removing any leading "OpenGL ES " and hope that then the version + is encoded just like on GL. + +diff --git a/libkwineffects/kwinglutils.cpp b/libkwineffects/kwinglutils.cpp +index 8830c44..fd2e217 100644 +--- a/libkwineffects/kwinglutils.cpp ++++ b/libkwineffects/kwinglutils.cpp +@@ -106,11 +106,12 @@ void initGL(OpenGLPlatformInterface platformInterface) + { + // Get OpenGL version + QString glversionstring = QString::fromUtf8((const char*)glGetString(GL_VERSION)); ++ if (glversionstring.startsWith(QLatin1String("OpenGL ES "))) { ++ glversionstring = glversionstring.mid(10); ++ } + QStringList glversioninfo = glversionstring.left(glversionstring.indexOf(QStringLiteral(" "))).split(QStringLiteral(".")); + while (glversioninfo.count() < 3) + glversioninfo << QStringLiteral("0"); +- +-#ifndef KWIN_HAVE_OPENGLES + glVersion = MAKE_GL_VERSION(glversioninfo[0].toInt(), glversioninfo[1].toInt(), glversioninfo[2].toInt()); + + // Get list of supported OpenGL extensions +@@ -123,7 +124,6 @@ void initGL(OpenGLPlatformInterface platformInterface) + glExtensions << name; + } + } else +-#endif + glExtensions = QByteArray((const char*)glGetString(GL_EXTENSIONS)).split(' '); + + // handle OpenGL extensions functions |