kwin: get patches from master branch

importand for us is proper detection of Open GL ES version

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller
2015-06-03 22:02:40 +02:00
parent c1d313a9c7
commit 5f9fd7a652
3 changed files with 79 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
From 2a8d7664b3f605bab3416660d0805ce6227fba01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraesslin@kde.org>
Date: Thu, 7 May 2015 14:11:30 +0200
Subject: [PATCH 1/2] Properly add define for gles
Otherwise some parts still include epoxy/glx.h.
---
CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 23dd238..32c48cc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -257,6 +257,7 @@ endif()
if(${Qt5Gui_OPENGL_IMPLEMENTATION} STREQUAL "GLESv2")
set(KWIN_BUILD_OPENGLES TRUE)
message("Building KWin with OpenGL ES 2 support")
+ add_definitions(-DKWIN_HAVE_OPENGLES)
endif()
if(NOT KWIN_BUILD_OPENGL AND NOT KWIN_BUILD_OPENGLES)
--
1.9.3

View File

@@ -0,0 +1,52 @@
From 713c6b25dce2fc60184ddc7b618b0b1195ab9870 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraesslin@kde.org>
Date: Fri, 8 May 2015 08:53:34 +0200
Subject: [PATCH 2/2] [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.
---
libkwineffects/kwinglutils.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
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
--
1.9.3

View File

@@ -53,6 +53,8 @@ SRC_URI += " \
file://0001-fix-build-for-qtbase-without-session-management.patch \
file://0002-add-egl-flags-for-compiling.patch \
file://0003-eglonxbackend-add-debug-output.patch \
file://0004-Properly-add-define-for-gles.patch \
file://0005-kwinglutils-Init-glVersion-on-gles.patch \
"
FILES_${PN} += " \