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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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} += " \
|
||||
|
||||
Reference in New Issue
Block a user