commit: fe13fd14d67a9ff1046b8ee8ecf065836b20300a Author: Johannes Huber <johu <AT> gentoo <DOT> org> AuthorDate: Thu Jun 11 20:50:52 2015 +0000 Commit: Johannes Huber <johu <AT> gentoo <DOT> org> CommitDate: Thu Jun 11 20:50:52 2015 +0000 URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=fe13fd14
[kde-plasma/kwin] Upstream patch to fix gles2 support, bug #551448 Thanks to Dennis Schridde <devurandom <AT> gmx.net>. Package-Manager: portage-2.2.20 kde-plasma/kwin/files/kwin-5.3.1-gles2.patch | 47 ++++++++++++++++++++++++++++ kde-plasma/kwin/kwin-5.3.49.9999.ebuild | 2 ++ 2 files changed, 49 insertions(+) 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 0000000..cf4d859 --- /dev/null +++ b/kde-plasma/kwin/files/kwin-5.3.1-gles2.patch @@ -0,0 +1,47 @@ +commit 713c6b25dce2fc60184ddc7b618b0b1195ab9870 +Author: Martin Gräßlin <mgraess...@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 diff --git a/kde-plasma/kwin/kwin-5.3.49.9999.ebuild b/kde-plasma/kwin/kwin-5.3.49.9999.ebuild index 524e9ac..ca541e2 100644 --- a/kde-plasma/kwin/kwin-5.3.49.9999.ebuild +++ b/kde-plasma/kwin/kwin-5.3.49.9999.ebuild @@ -73,6 +73,8 @@ DEPEND="${COMMON_DEPEND} test? ( x11-libs/xcb-util-wm ) " +PATCHES=( "${FILESDIR}/${PN}-5.3.1-gles2.patch" ) + src_configure() { local mycmakeargs=( $(cmake-utils_use_find_package wayland)