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>
This commit is contained in:
Martin Jansa 2014-02-22 17:27:23 +01:00
parent 1279a21d9d
commit d8b22f3d4a
3 changed files with 128 additions and 1 deletions

View File

@ -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

View File

@ -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

View 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 \
"