qtwayland: Fix xcomposite-glx and examples build
authorMartin Jansa <Martin.Jansa@gmail.com>
Sat, 22 Feb 2014 16:27:23 +0000 (17:27 +0100)
committerPatrick Ohly <patrick.ohly@intel.com>
Fri, 9 Jan 2015 16:45:36 +0000 (08:45 -0800)
* egl was building fine, but glx was failing to find
  qwaylandintegration.h
* one example cannot be built without gles2, so make it
  conditional

(From meta-qt5 rev: d8b22f3d4ad6e15ab666b714fa0911a1bc289434)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
meta-qt5/recipes-qt/qt5/qtwayland/0001-examples.pro-include-server-buffer-only-when-buildin.patch [new file with mode: 0644]
meta-qt5/recipes-qt/qt5/qtwayland/0001-xcomposite-glx-Fix-build-on-Qt-5.2.1.patch [new file with mode: 0644]
meta-qt5/recipes-qt/qt5/qtwayland_git.bb

diff --git a/meta-qt5/recipes-qt/qt5/qtwayland/0001-examples.pro-include-server-buffer-only-when-buildin.patch b/meta-qt5/recipes-qt/qt5/qtwayland/0001-examples.pro-include-server-buffer-only-when-buildin.patch
new file mode 100644 (file)
index 0000000..998f8b6
--- /dev/null
@@ -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/meta-qt5/recipes-qt/qt5/qtwayland/0001-xcomposite-glx-Fix-build-on-Qt-5.2.1.patch b/meta-qt5/recipes-qt/qt5/qtwayland/0001-xcomposite-glx-Fix-build-on-Qt-5.2.1.patch
new file mode 100644 (file)
index 0000000..2266f4c
--- /dev/null
@@ -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
+
index 988aa98..789a882 100644 (file)
@@ -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 \
+"