johu 15/06/11 20:55:29 Added: kwin-5.3.1-gles2.patch Log: Revision bump adds upstream patch to fix gles2 support, bug #551448. Thanks to Dennis Schridde <[email protected]>. (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 0xF3CFD2BD)
Revision Changes Path 1.1 kde-plasma/kwin/files/kwin-5.3.1-gles2.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-plasma/kwin/files/kwin-5.3.1-gles2.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-plasma/kwin/files/kwin-5.3.1-gles2.patch?rev=1.1&content-type=text/plain Index: kwin-5.3.1-gles2.patch =================================================================== commit 713c6b25dce2fc60184ddc7b618b0b1195ab9870 Author: Martin Gräßlin <[email protected]> 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
