aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2014-02-22 17:27:23 +0100
committerMartin Jansa <Martin.Jansa@gmail.com>2014-02-22 18:33:32 +0100
commitd8b22f3d4ad6e15ab666b714fa0911a1bc289434 (patch)
tree2afef848a8a2bc82431da910238ca133c2501d29
parent1279a21d9db9c497efbdaef7bb45f313a06df44b (diff)
qtwayland: Fix xcomposite-glx and examples build
* egl was building fine, but glx was failing to find qwaylandintegration.h * one example cannot be built without gles2, so make it conditional Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--recipes-qt/qt5/qtwayland/0001-examples.pro-include-server-buffer-only-when-buildin.patch31
-rw-r--r--recipes-qt/qt5/qtwayland/0001-xcomposite-glx-Fix-build-on-Qt-5.2.1.patch91
-rw-r--r--recipes-qt/qt5/qtwayland_git.bb7
3 files changed, 128 insertions, 1 deletions
diff --git a/recipes-qt/qt5/qtwayland/0001-examples.pro-include-server-buffer-only-when-buildin.patch b/recipes-qt/qt5/qtwayland/0001-examples.pro-include-server-buffer-only-when-buildin.patch
new file mode 100644
index 00000000..998f8b67
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland/0001-examples.pro-include-server-buffer-only-when-buildin.patch
@@ -0,0 +1,31 @@
+From 201b36614907584a0d446975bddbb11a495540ed Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sat, 22 Feb 2014 17:47:44 +0100
+Subject: [PATCH] examples.pro: include server-buffer only when building with
+ opengles2
+
+* it's using glBindBuffer in
+ server-buffer/client/serverbufferrenderer.cpp
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Change-Id: I8412dfd4ebb95c147328ac6e4dfff14a0cff4e78
+---
+ examples/examples.pro | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/examples/examples.pro b/examples/examples.pro
+index 2d4cd1b..fb2497e 100644
+--- a/examples/examples.pro
++++ b/examples/examples.pro
+@@ -13,5 +13,7 @@ contains(CONFIG, wayland-compositor) {
+ SUBDIRS += qml-compositor
+ }
+
+- SUBDIRS += server-buffer
++ contains(QT_CONFIG, opengles2) {
++ SUBDIRS += server-buffer
++ }
+ }
+--
+1.8.5.3
+
diff --git a/recipes-qt/qt5/qtwayland/0001-xcomposite-glx-Fix-build-on-Qt-5.2.1.patch b/recipes-qt/qt5/qtwayland/0001-xcomposite-glx-Fix-build-on-Qt-5.2.1.patch
new file mode 100644
index 00000000..2266f4cb
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland/0001-xcomposite-glx-Fix-build-on-Qt-5.2.1.patch
@@ -0,0 +1,91 @@
+From c5c23a37b230b426ed1eeea66544af438f48d05d Mon Sep 17 00:00:00 2001
+From: Taeyeon Mori <orochimarufan.x3@gmail.com>
+Date: Sun, 9 Feb 2014 23:43:06 +0100
+Subject: [PATCH] xcomposite-glx: Fix build on Qt 5.2.1
+
+* it was made private in
+ commit b6713ec4262c05f7d103bc3b75ab81aedc690853
+ Author: Jorgen Lind <jorgen.lind@digia.com>
+ Date: Wed Dec 18 07:59:53 2013 +0100
+
+ Make classes in client private
+
+ and qwayland-xcomposite-glx wasn't adapted to it
+
+* found in
+ http;//oro.sodimm.me/~hinata/devel/.../0001-Fix-build-on-Qt-5.2.1.patch.htm
+ but because it was already gone, here is the cache:
+ http://webcache.googleusercontent.com/search?q=cache:5L0rSgqrKMoJ:oro.sodimm.me/~hinata/devel/qt5-wayland-git/0001-Fix-build-on-Qt-5.2.1.patch.htm&hl=en&gl=cz&strip=1
+
+Change-Id: I8eed3645ccacc43e2c9febba2bc6544c7068207a
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ .../compositor/xcomposite-glx/xcompositeglxintegration.cpp | 2 +-
+ src/plugins/platforms/qwayland-xcomposite-glx/main.cpp | 2 +-
+ .../qwaylandxcompositeglxplatformintegration.h | 14 ++++++++------
+ 3 files changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/src/hardwareintegration/compositor/xcomposite-glx/xcompositeglxintegration.cpp b/src/hardwareintegration/compositor/xcomposite-glx/xcompositeglxintegration.cpp
+index dce1fdc..8403c78 100644
+--- a/src/hardwareintegration/compositor/xcomposite-glx/xcompositeglxintegration.cpp
++++ b/src/hardwareintegration/compositor/xcomposite-glx/xcompositeglxintegration.cpp
+@@ -112,7 +112,7 @@ void XCompositeGLXClientBufferIntegration::initializeHardware(QtWayland::Display
+ delete glContext;
+ }
+
+-void XCompositeGLXClientBufferIntegration::updateTextureFromBuffer(struct ::wl_resource *buffer)
++void XCompositeGLXClientBufferIntegration::bindTextureToBuffer(struct ::wl_resource *buffer)
+ {
+ XCompositeBuffer *compositorBuffer = XCompositeBuffer::fromResource(buffer);
+ Pixmap pixmap = XCompositeNameWindowPixmap(mDisplay, compositorBuffer->window());
+diff --git a/src/plugins/platforms/qwayland-xcomposite-glx/main.cpp b/src/plugins/platforms/qwayland-xcomposite-glx/main.cpp
+index 17b20f9..c9450a5 100644
+--- a/src/plugins/platforms/qwayland-xcomposite-glx/main.cpp
++++ b/src/plugins/platforms/qwayland-xcomposite-glx/main.cpp
+@@ -40,7 +40,7 @@
+ ****************************************************************************/
+
+ #include <qpa/qplatformintegrationplugin.h>
+-#include "qwaylandintegration.h"
++#include "qwaylandxcompositeglxplatformintegration.h"
+
+ QT_BEGIN_NAMESPACE
+
+diff --git a/src/plugins/platforms/qwayland-xcomposite-glx/qwaylandxcompositeglxplatformintegration.h b/src/plugins/platforms/qwayland-xcomposite-glx/qwaylandxcompositeglxplatformintegration.h
+index fe8c5b7..fb63fea 100644
+--- a/src/plugins/platforms/qwayland-xcomposite-glx/qwaylandxcompositeglxplatformintegration.h
++++ b/src/plugins/platforms/qwayland-xcomposite-glx/qwaylandxcompositeglxplatformintegration.h
+@@ -42,7 +42,7 @@
+ #ifndef QWAYLANDXCOMPOSITEGLXPLATFORMINTEGRATION_H
+ #define QWAYLANDXCOMPOSITEGLXPLATFORMINTEGRATION_H
+
+-#include <QtWaylandClient/qwaylandintegration.h>
++#include <QtWaylandClient/private/qwaylandintegration_p.h>
+
+ #include "qwaylandxcompositeglxintegration.h"
+
+@@ -51,14 +51,16 @@ class QWaylandXCompositeGlxPlatformIntegration : public QWaylandIntegration
+ public:
+ QWaylandXCompositeGlxPlatformIntegration()
+ : QWaylandIntegration()
+- , m_gl_integration(new QWaylandXCompositeGLXIntegration(display()))
+- { }
++ , m_client_buffer_integration(new QWaylandXCompositeGLXIntegration())
++ {
++ m_client_buffer_integration->initialize(display());
++ }
+
+- QWaylandGLIntegration *glIntegration() const Q_DECL_OVERRIDE
+- { return m_gl_integration; }
++ QWaylandClientBufferIntegration *clientBufferIntegration() const Q_DECL_OVERRIDE
++ { return m_client_buffer_integration; }
+
+ private:
+- QWaylandGLIntegration *m_gl_integration;
++ QWaylandClientBufferIntegration *m_client_buffer_integration;
+ };
+
+ #endif
+--
+1.8.5.3
+
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb
index 988aa98b..789a882c 100644
--- a/recipes-qt/qt5/qtwayland_git.bb
+++ b/recipes-qt/qt5/qtwayland_git.bb
@@ -4,4 +4,9 @@ require ${PN}.inc
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
# qt5-git PV is only to indicate that this recipe is compatible with qt5 5.2.1
-SRCREV = "a237778666666ab77c4e8e6b501cf0fbe7c9223e"
+SRCREV = "573d0ee5ba86d99095f217ea9e19172bfc5e75fd"
+
+SRC_URI += " \
+ file://0001-xcomposite-glx-Fix-build-on-Qt-5.2.1.patch \
+ file://0001-examples.pro-include-server-buffer-only-when-buildin.patch \
+"