qtwayland: add second recipe with latest SRCREV, compatible with qt5 5.1.0
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
parent
507c7466ea
commit
5eb22ffbfa
|
@ -0,0 +1,46 @@
|
||||||
|
From 7f97da120b5b3dde22c9d89a8da8a4f35a9f2a26 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
|
||||||
|
Date: Tue, 19 Feb 2013 11:16:05 -0800
|
||||||
|
Subject: [PATCH 1/3] xcbcommon should not be a mandatory dependency
|
||||||
|
|
||||||
|
Not all platforms that use qtwayland depend on xcbcommon to be present
|
||||||
|
for them to be functional
|
||||||
|
|
||||||
|
This change won't be needed when this commit from dev branch is merged
|
||||||
|
to stable:
|
||||||
|
commit 894adf8a447865119be7c6c4d01577d8032f4177
|
||||||
|
Author: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
||||||
|
Date: Mon Apr 8 12:54:58 2013 +0200
|
||||||
|
|
||||||
|
make failure to configure wayland non-fatal for a top-level build of qt
|
||||||
|
|
||||||
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||||
|
---
|
||||||
|
qtwayland.pro | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/qtwayland.pro b/qtwayland.pro
|
||||||
|
index 24e104b..66dd38a 100644
|
||||||
|
--- a/qtwayland.pro
|
||||||
|
+++ b/qtwayland.pro
|
||||||
|
@@ -11,7 +11,7 @@ qtCompileTest(xcomposite)
|
||||||
|
load(qt_parts)
|
||||||
|
|
||||||
|
!config_wayland {
|
||||||
|
- error(QtWayland requires Wayland 1.0.3 or higher)
|
||||||
|
+ error("QtWayland requires Wayland 1.0.3 or higher")
|
||||||
|
}
|
||||||
|
|
||||||
|
!config_xkbcommon {
|
||||||
|
@@ -19,7 +19,7 @@ load(qt_parts)
|
||||||
|
}
|
||||||
|
|
||||||
|
!config_wayland_scanner {
|
||||||
|
- error(QtWayland requires wayland-scanner)
|
||||||
|
+ error("QtWayland requires wayland-scanner")
|
||||||
|
}
|
||||||
|
|
||||||
|
!config_wayland_egl {
|
||||||
|
--
|
||||||
|
1.8.2.1
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
From 5b7c89d211a193acfd182eb0519b658629af3193 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
|
||||||
|
Date: Fri, 1 Mar 2013 13:00:53 -0800
|
||||||
|
Subject: [PATCH 2/3] Temporarily patching this out as Qt5.0.0 does not have
|
||||||
|
qtHaveModule
|
||||||
|
|
||||||
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||||
|
---
|
||||||
|
src/compositor/compositor_api/compositor_api.pri | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/compositor/compositor_api/compositor_api.pri b/src/compositor/compositor_api/compositor_api.pri
|
||||||
|
index f0bbe76..e7905e5 100644
|
||||||
|
--- a/src/compositor/compositor_api/compositor_api.pri
|
||||||
|
+++ b/src/compositor/compositor_api/compositor_api.pri
|
||||||
|
@@ -12,7 +12,7 @@ SOURCES += \
|
||||||
|
|
||||||
|
QT += core-private
|
||||||
|
|
||||||
|
-qtHaveModule(quick) {
|
||||||
|
+#qtHaveModule(quick) {
|
||||||
|
SOURCES += \
|
||||||
|
compositor_api/qwaylandsurfaceitem.cpp \
|
||||||
|
compositor_api/qwaylandsurfacenode.cpp \
|
||||||
|
@@ -27,4 +27,4 @@ qtHaveModule(quick) {
|
||||||
|
|
||||||
|
QT += qml quick
|
||||||
|
QT += quick-private gui-private
|
||||||
|
-}
|
||||||
|
+#}
|
||||||
|
--
|
||||||
|
1.8.2.1
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
From 2d707f8dc9f0658d889aef4f4c5a62595598402c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
|
||||||
|
Date: Wed, 6 Mar 2013 10:18:49 -0800
|
||||||
|
Subject: [PATCH 3/3] eglCreateImageKHR requires the context to be NULL
|
||||||
|
|
||||||
|
As per the EGL spec the context passed to that function should
|
||||||
|
be null.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||||
|
---
|
||||||
|
.../wayland-egl/waylandeglintegration.cpp | 16 ++--------------
|
||||||
|
1 file changed, 2 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
|
||||||
|
index 73877c4..16e77fb 100644
|
||||||
|
--- a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
|
||||||
|
+++ b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
|
||||||
|
@@ -101,7 +101,6 @@ public:
|
||||||
|
|
||||||
|
PFNGLEGLIMAGETARGETTEXTURE2DOESPROC gl_egl_image_target_texture_2d;
|
||||||
|
|
||||||
|
- QPlatformNativeInterface::NativeResourceForContextFunction get_egl_context;
|
||||||
|
};
|
||||||
|
|
||||||
|
WaylandEglIntegration::WaylandEglIntegration()
|
||||||
|
@@ -121,10 +120,6 @@ void WaylandEglIntegration::initializeHardware(QtWayland::Display *waylandDispla
|
||||||
|
const char *extensionString = eglQueryString(d->egl_display, EGL_EXTENSIONS);
|
||||||
|
if (extensionString && strstr(extensionString, "EGL_WL_bind_wayland_display"))
|
||||||
|
{
|
||||||
|
- d->get_egl_context = nativeInterface->nativeResourceFunctionForContext("get_egl_context");
|
||||||
|
- if (!d->get_egl_context) {
|
||||||
|
- qWarning("Failed to retrieve the get_egl_context function");
|
||||||
|
- }
|
||||||
|
d->egl_bind_wayland_display =
|
||||||
|
reinterpret_cast<PFNEGLBINDWAYLANDDISPLAYWL>(eglGetProcAddress("eglBindWaylandDisplayWL"));
|
||||||
|
d->egl_unbind_wayland_display =
|
||||||
|
@@ -137,7 +132,6 @@ void WaylandEglIntegration::initializeHardware(QtWayland::Display *waylandDispla
|
||||||
|
reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOESPROC>(eglGetProcAddress("glEGLImageTargetTexture2DOES"));
|
||||||
|
|
||||||
|
if (d->egl_bind_wayland_display
|
||||||
|
- && d->get_egl_context
|
||||||
|
&& d->egl_unbind_wayland_display
|
||||||
|
&& d->egl_create_image
|
||||||
|
&& d->egl_destroy_image
|
||||||
|
@@ -162,10 +156,7 @@ GLuint WaylandEglIntegration::createTextureFromBuffer(wl_buffer *buffer, QOpenGL
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface();
|
||||||
|
- EGLContext egl_context = d->get_egl_context(context);
|
||||||
|
-
|
||||||
|
- EGLImageKHR image = d->egl_create_image(d->egl_display, egl_context,
|
||||||
|
+ EGLImageKHR image = d->egl_create_image(d->egl_display, NULL,
|
||||||
|
EGL_WAYLAND_BUFFER_WL,
|
||||||
|
buffer, NULL);
|
||||||
|
|
||||||
|
@@ -229,10 +220,7 @@ void *WaylandEglIntegration::lockNativeBuffer(struct wl_buffer *buffer, QOpenGLC
|
||||||
|
{
|
||||||
|
Q_D(const WaylandEglIntegration);
|
||||||
|
|
||||||
|
- QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface();
|
||||||
|
- EGLContext egl_context = d->get_egl_context(context);
|
||||||
|
-
|
||||||
|
- EGLImageKHR image = d->egl_create_image(d->egl_display, egl_context,
|
||||||
|
+ EGLImageKHR image = d->egl_create_image(d->egl_display, NULL,
|
||||||
|
EGL_WAYLAND_BUFFER_WL,
|
||||||
|
buffer, NULL);
|
||||||
|
return image;
|
||||||
|
--
|
||||||
|
1.8.2.1
|
||||||
|
|
|
@ -2,6 +2,8 @@ require qt5-git.inc
|
||||||
require ${PN}.inc
|
require ${PN}.inc
|
||||||
|
|
||||||
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
|
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
|
||||||
PV = "4.999+5.0.0-beta1+git${SRCPV}"
|
# this PV is only to indicate that this recipe is compatible with qt5 5.1.0
|
||||||
|
# while qtwayland_git stays compatible with 5.0.2
|
||||||
|
PV = "5.1.0+git${SRCPV}"
|
||||||
|
|
||||||
SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5"
|
SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5"
|
||||||
|
|
|
@ -13,13 +13,10 @@ LIC_FILES_CHKSUM = "file://${S}/src/compositor/compositor_api/qwaylandsurfacenod
|
||||||
XKB_DEPENDS = "libxkbcommon xproto"
|
XKB_DEPENDS = "libxkbcommon xproto"
|
||||||
DEPENDS += "qtbase qtdeclarative wayland wayland-native ${XKB_DEPENDS}"
|
DEPENDS += "qtbase qtdeclarative wayland wayland-native ${XKB_DEPENDS}"
|
||||||
|
|
||||||
INC_PR = "r1"
|
|
||||||
|
|
||||||
SRC_URI += " \
|
SRC_URI += " \
|
||||||
file://0001-xcbcommon-should-not-be-a-mandatory-dependency.patch \
|
file://0001-xcbcommon-should-not-be-a-mandatory-dependency.patch \
|
||||||
file://0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch \
|
file://0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch \
|
||||||
file://0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch \
|
file://0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch \
|
||||||
file://0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
QT_WAYLAND_CONFIG ?= "wayland-compositor"
|
QT_WAYLAND_CONFIG ?= "wayland-compositor"
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
require qt5-git.inc
|
||||||
|
require ${PN}.inc
|
||||||
|
|
||||||
|
FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-5.1.0+git:"
|
||||||
|
|
||||||
|
DEPENDS += "qtwayland-native"
|
||||||
|
|
||||||
|
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
|
||||||
|
# this PV is only to indicate that this recipe is compatible with qt5 5.1.0
|
||||||
|
# while qtwayland_git stays compatible with 5.0.2
|
||||||
|
PV = "5.1.0+git${SRCPV}"
|
||||||
|
|
||||||
|
# newer revisions depend on newer wayland-1.1 APIs
|
||||||
|
SRCREV = "87dba733acfddecd8562e8e26ce5f994aa499fe3"
|
||||||
|
# SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5"
|
|
@ -1,13 +1,19 @@
|
||||||
require qt5-git.inc
|
require qt5-git.inc
|
||||||
require ${PN}.inc
|
require ${PN}.inc
|
||||||
|
|
||||||
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
|
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1,
|
||||||
PV = "4.999+5.0.0-beta1+git${SRCPV}"
|
# but we'll use 5.0.2+git to indicate this version is compatible with 5.0.2
|
||||||
|
PV = "5.0.2+git${SRCPV}"
|
||||||
|
|
||||||
PR = "${INC_PR}.1"
|
# drop when bumping SRCREV
|
||||||
|
PR = "r2"
|
||||||
|
|
||||||
SRCREV = "5cb159395eccb1d96fb73a78e499eef30aacb46d"
|
SRCREV = "5cb159395eccb1d96fb73a78e499eef30aacb46d"
|
||||||
|
|
||||||
|
SRC_URI += " \
|
||||||
|
file://0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch \
|
||||||
|
"
|
||||||
|
|
||||||
do_configure_prepend() {
|
do_configure_prepend() {
|
||||||
# Temporary hack to get qtwayland build for Qt 5.0.2
|
# Temporary hack to get qtwayland build for Qt 5.0.2
|
||||||
if ! grep -q MODULE_VERSION ${S}/.qmake.conf; then
|
if ! grep -q MODULE_VERSION ${S}/.qmake.conf; then
|
||||||
|
|
Loading…
Reference in New Issue