diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2014-02-22 17:27:23 +0100 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2014-02-22 18:33:32 +0100 |
commit | d8b22f3d4ad6e15ab666b714fa0911a1bc289434 (patch) | |
tree | 2afef848a8a2bc82431da910238ca133c2501d29 | |
parent | 1279a21d9db9c497efbdaef7bb45f313a06df44b (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>
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 \ +" |