diff options
| author | Martin Jansa <Martin.Jansa@gmail.com> | 2013-07-20 14:39:37 +0200 |
|---|---|---|
| committer | Martin Jansa <Martin.Jansa@gmail.com> | 2013-07-25 12:14:12 +0200 |
| commit | 5eb22ffbfafc558a66943e666c415a9749a39e2b (patch) | |
| tree | 5951716277f68708ab8b51f4b108e0bec008580c | |
| parent | 507c7466ea3a7b10a72b57ce06c3bf1ddd769037 (diff) | |
| download | meta-qt5-5eb22ffbfafc558a66943e666c415a9749a39e2b.tar.gz | |
qtwayland: add second recipe with latest SRCREV, compatible with qt5 5.1.0
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12 files changed, 177 insertions, 7 deletions
diff --git a/recipes-qt/qt5/qtwayland-5.1.0+git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch b/recipes-qt/qt5/qtwayland-5.1.0+git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch new file mode 100644 index 00000000..0571ea5e --- /dev/null +++ b/recipes-qt/qt5/qtwayland-5.1.0+git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | From 7f97da120b5b3dde22c9d89a8da8a4f35a9f2a26 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mikko Levonmaa <mikko.levonmaa@palm.com> | ||
| 3 | Date: Tue, 19 Feb 2013 11:16:05 -0800 | ||
| 4 | Subject: [PATCH 1/3] xcbcommon should not be a mandatory dependency | ||
| 5 | |||
| 6 | Not all platforms that use qtwayland depend on xcbcommon to be present | ||
| 7 | for them to be functional | ||
| 8 | |||
| 9 | This change won't be needed when this commit from dev branch is merged | ||
| 10 | to stable: | ||
| 11 | commit 894adf8a447865119be7c6c4d01577d8032f4177 | ||
| 12 | Author: Oswald Buddenhagen <oswald.buddenhagen@digia.com> | ||
| 13 | Date: Mon Apr 8 12:54:58 2013 +0200 | ||
| 14 | |||
| 15 | make failure to configure wayland non-fatal for a top-level build of qt | ||
| 16 | |||
| 17 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 18 | --- | ||
| 19 | qtwayland.pro | 4 ++-- | ||
| 20 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/qtwayland.pro b/qtwayland.pro | ||
| 23 | index 24e104b..66dd38a 100644 | ||
| 24 | --- a/qtwayland.pro | ||
| 25 | +++ b/qtwayland.pro | ||
| 26 | @@ -11,7 +11,7 @@ qtCompileTest(xcomposite) | ||
| 27 | load(qt_parts) | ||
| 28 | |||
| 29 | !config_wayland { | ||
| 30 | - error(QtWayland requires Wayland 1.0.3 or higher) | ||
| 31 | + error("QtWayland requires Wayland 1.0.3 or higher") | ||
| 32 | } | ||
| 33 | |||
| 34 | !config_xkbcommon { | ||
| 35 | @@ -19,7 +19,7 @@ load(qt_parts) | ||
| 36 | } | ||
| 37 | |||
| 38 | !config_wayland_scanner { | ||
| 39 | - error(QtWayland requires wayland-scanner) | ||
| 40 | + error("QtWayland requires wayland-scanner") | ||
| 41 | } | ||
| 42 | |||
| 43 | !config_wayland_egl { | ||
| 44 | -- | ||
| 45 | 1.8.2.1 | ||
| 46 | |||
diff --git a/recipes-qt/qt5/qtwayland-5.1.0+git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch b/recipes-qt/qt5/qtwayland-5.1.0+git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch new file mode 100644 index 00000000..77172908 --- /dev/null +++ b/recipes-qt/qt5/qtwayland-5.1.0+git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From 5b7c89d211a193acfd182eb0519b658629af3193 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mikko Levonmaa <mikko.levonmaa@palm.com> | ||
| 3 | Date: Fri, 1 Mar 2013 13:00:53 -0800 | ||
| 4 | Subject: [PATCH 2/3] Temporarily patching this out as Qt5.0.0 does not have | ||
| 5 | qtHaveModule | ||
| 6 | |||
| 7 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 8 | --- | ||
| 9 | src/compositor/compositor_api/compositor_api.pri | 4 ++-- | ||
| 10 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/src/compositor/compositor_api/compositor_api.pri b/src/compositor/compositor_api/compositor_api.pri | ||
| 13 | index f0bbe76..e7905e5 100644 | ||
| 14 | --- a/src/compositor/compositor_api/compositor_api.pri | ||
| 15 | +++ b/src/compositor/compositor_api/compositor_api.pri | ||
| 16 | @@ -12,7 +12,7 @@ SOURCES += \ | ||
| 17 | |||
| 18 | QT += core-private | ||
| 19 | |||
| 20 | -qtHaveModule(quick) { | ||
| 21 | +#qtHaveModule(quick) { | ||
| 22 | SOURCES += \ | ||
| 23 | compositor_api/qwaylandsurfaceitem.cpp \ | ||
| 24 | compositor_api/qwaylandsurfacenode.cpp \ | ||
| 25 | @@ -27,4 +27,4 @@ qtHaveModule(quick) { | ||
| 26 | |||
| 27 | QT += qml quick | ||
| 28 | QT += quick-private gui-private | ||
| 29 | -} | ||
| 30 | +#} | ||
| 31 | -- | ||
| 32 | 1.8.2.1 | ||
| 33 | |||
diff --git a/recipes-qt/qt5/qtwayland-5.1.0+git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch b/recipes-qt/qt5/qtwayland-5.1.0+git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch new file mode 100644 index 00000000..58f82663 --- /dev/null +++ b/recipes-qt/qt5/qtwayland-5.1.0+git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch | |||
| @@ -0,0 +1,71 @@ | |||
| 1 | From 2d707f8dc9f0658d889aef4f4c5a62595598402c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mikko Levonmaa <mikko.levonmaa@palm.com> | ||
| 3 | Date: Wed, 6 Mar 2013 10:18:49 -0800 | ||
| 4 | Subject: [PATCH 3/3] eglCreateImageKHR requires the context to be NULL | ||
| 5 | |||
| 6 | As per the EGL spec the context passed to that function should | ||
| 7 | be null. | ||
| 8 | |||
| 9 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 10 | --- | ||
| 11 | .../wayland-egl/waylandeglintegration.cpp | 16 ++-------------- | ||
| 12 | 1 file changed, 2 insertions(+), 14 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp | ||
| 15 | index 73877c4..16e77fb 100644 | ||
| 16 | --- a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp | ||
| 17 | +++ b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp | ||
| 18 | @@ -101,7 +101,6 @@ public: | ||
| 19 | |||
| 20 | PFNGLEGLIMAGETARGETTEXTURE2DOESPROC gl_egl_image_target_texture_2d; | ||
| 21 | |||
| 22 | - QPlatformNativeInterface::NativeResourceForContextFunction get_egl_context; | ||
| 23 | }; | ||
| 24 | |||
| 25 | WaylandEglIntegration::WaylandEglIntegration() | ||
| 26 | @@ -121,10 +120,6 @@ void WaylandEglIntegration::initializeHardware(QtWayland::Display *waylandDispla | ||
| 27 | const char *extensionString = eglQueryString(d->egl_display, EGL_EXTENSIONS); | ||
| 28 | if (extensionString && strstr(extensionString, "EGL_WL_bind_wayland_display")) | ||
| 29 | { | ||
| 30 | - d->get_egl_context = nativeInterface->nativeResourceFunctionForContext("get_egl_context"); | ||
| 31 | - if (!d->get_egl_context) { | ||
| 32 | - qWarning("Failed to retrieve the get_egl_context function"); | ||
| 33 | - } | ||
| 34 | d->egl_bind_wayland_display = | ||
| 35 | reinterpret_cast<PFNEGLBINDWAYLANDDISPLAYWL>(eglGetProcAddress("eglBindWaylandDisplayWL")); | ||
| 36 | d->egl_unbind_wayland_display = | ||
| 37 | @@ -137,7 +132,6 @@ void WaylandEglIntegration::initializeHardware(QtWayland::Display *waylandDispla | ||
| 38 | reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOESPROC>(eglGetProcAddress("glEGLImageTargetTexture2DOES")); | ||
| 39 | |||
| 40 | if (d->egl_bind_wayland_display | ||
| 41 | - && d->get_egl_context | ||
| 42 | && d->egl_unbind_wayland_display | ||
| 43 | && d->egl_create_image | ||
| 44 | && d->egl_destroy_image | ||
| 45 | @@ -162,10 +156,7 @@ GLuint WaylandEglIntegration::createTextureFromBuffer(wl_buffer *buffer, QOpenGL | ||
| 46 | return 0; | ||
| 47 | } | ||
| 48 | |||
| 49 | - QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface(); | ||
| 50 | - EGLContext egl_context = d->get_egl_context(context); | ||
| 51 | - | ||
| 52 | - EGLImageKHR image = d->egl_create_image(d->egl_display, egl_context, | ||
| 53 | + EGLImageKHR image = d->egl_create_image(d->egl_display, NULL, | ||
| 54 | EGL_WAYLAND_BUFFER_WL, | ||
| 55 | buffer, NULL); | ||
| 56 | |||
| 57 | @@ -229,10 +220,7 @@ void *WaylandEglIntegration::lockNativeBuffer(struct wl_buffer *buffer, QOpenGLC | ||
| 58 | { | ||
| 59 | Q_D(const WaylandEglIntegration); | ||
| 60 | |||
| 61 | - QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface(); | ||
| 62 | - EGLContext egl_context = d->get_egl_context(context); | ||
| 63 | - | ||
| 64 | - EGLImageKHR image = d->egl_create_image(d->egl_display, egl_context, | ||
| 65 | + EGLImageKHR image = d->egl_create_image(d->egl_display, NULL, | ||
| 66 | EGL_WAYLAND_BUFFER_WL, | ||
| 67 | buffer, NULL); | ||
| 68 | return image; | ||
| 69 | -- | ||
| 70 | 1.8.2.1 | ||
| 71 | |||
diff --git a/recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch b/recipes-qt/qt5/qtwayland-git/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch index 1fac95b7..1fac95b7 100644 --- a/recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch +++ b/recipes-qt/qt5/qtwayland-git/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch | |||
diff --git a/recipes-qt/qt5/qtwayland/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch b/recipes-qt/qt5/qtwayland-git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch index e9e705cd..e9e705cd 100644 --- a/recipes-qt/qt5/qtwayland/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch +++ b/recipes-qt/qt5/qtwayland-git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch | |||
diff --git a/recipes-qt/qt5/qtwayland/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch b/recipes-qt/qt5/qtwayland-git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch index 0c9bbbe7..0c9bbbe7 100644 --- a/recipes-qt/qt5/qtwayland/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch +++ b/recipes-qt/qt5/qtwayland-git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch | |||
diff --git a/recipes-qt/qt5/qtwayland/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch b/recipes-qt/qt5/qtwayland-git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch index 48eb870b..48eb870b 100644 --- a/recipes-qt/qt5/qtwayland/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch +++ b/recipes-qt/qt5/qtwayland-git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch | |||
diff --git a/recipes-qt/qt5/qtwayland/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch b/recipes-qt/qt5/qtwayland-git/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch index 47ea65fd..47ea65fd 100644 --- a/recipes-qt/qt5/qtwayland/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch +++ b/recipes-qt/qt5/qtwayland-git/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch | |||
diff --git a/recipes-qt/qt5/qtwayland-native_git.bb b/recipes-qt/qt5/qtwayland-native_git.bb index 090faafa..20cd2519 100644 --- a/recipes-qt/qt5/qtwayland-native_git.bb +++ b/recipes-qt/qt5/qtwayland-native_git.bb | |||
| @@ -2,6 +2,8 @@ require qt5-git.inc | |||
| 2 | require ${PN}.inc | 2 | require ${PN}.inc |
| 3 | 3 | ||
| 4 | # qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1 | 4 | # qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1 |
| 5 | PV = "4.999+5.0.0-beta1+git${SRCPV}" | 5 | # this PV is only to indicate that this recipe is compatible with qt5 5.1.0 |
| 6 | # while qtwayland_git stays compatible with 5.0.2 | ||
| 7 | PV = "5.1.0+git${SRCPV}" | ||
| 6 | 8 | ||
| 7 | SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5" | 9 | SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5" |
diff --git a/recipes-qt/qt5/qtwayland.inc b/recipes-qt/qt5/qtwayland.inc index 7cf39351..3ae98ede 100644 --- a/recipes-qt/qt5/qtwayland.inc +++ b/recipes-qt/qt5/qtwayland.inc | |||
| @@ -13,13 +13,10 @@ LIC_FILES_CHKSUM = "file://${S}/src/compositor/compositor_api/qwaylandsurfacenod | |||
| 13 | XKB_DEPENDS = "libxkbcommon xproto" | 13 | XKB_DEPENDS = "libxkbcommon xproto" |
| 14 | DEPENDS += "qtbase qtdeclarative wayland wayland-native ${XKB_DEPENDS}" | 14 | DEPENDS += "qtbase qtdeclarative wayland wayland-native ${XKB_DEPENDS}" |
| 15 | 15 | ||
| 16 | INC_PR = "r1" | ||
| 17 | |||
| 18 | SRC_URI += " \ | 16 | SRC_URI += " \ |
| 19 | file://0001-xcbcommon-should-not-be-a-mandatory-dependency.patch \ | 17 | file://0001-xcbcommon-should-not-be-a-mandatory-dependency.patch \ |
| 20 | file://0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch \ | 18 | file://0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch \ |
| 21 | file://0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch \ | 19 | file://0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch \ |
| 22 | file://0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch \ | ||
| 23 | " | 20 | " |
| 24 | 21 | ||
| 25 | QT_WAYLAND_CONFIG ?= "wayland-compositor" | 22 | QT_WAYLAND_CONFIG ?= "wayland-compositor" |
diff --git a/recipes-qt/qt5/qtwayland_5.1.0+git.bb b/recipes-qt/qt5/qtwayland_5.1.0+git.bb new file mode 100644 index 00000000..aaa439cf --- /dev/null +++ b/recipes-qt/qt5/qtwayland_5.1.0+git.bb | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | require qt5-git.inc | ||
| 2 | require ${PN}.inc | ||
| 3 | |||
| 4 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-5.1.0+git:" | ||
| 5 | |||
| 6 | DEPENDS += "qtwayland-native" | ||
| 7 | |||
| 8 | # qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1 | ||
| 9 | # this PV is only to indicate that this recipe is compatible with qt5 5.1.0 | ||
| 10 | # while qtwayland_git stays compatible with 5.0.2 | ||
| 11 | PV = "5.1.0+git${SRCPV}" | ||
| 12 | |||
| 13 | # newer revisions depend on newer wayland-1.1 APIs | ||
| 14 | SRCREV = "87dba733acfddecd8562e8e26ce5f994aa499fe3" | ||
| 15 | # SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5" | ||
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index f91df4d5..170b3673 100644 --- a/recipes-qt/qt5/qtwayland_git.bb +++ b/recipes-qt/qt5/qtwayland_git.bb | |||
| @@ -1,13 +1,19 @@ | |||
| 1 | require qt5-git.inc | 1 | require qt5-git.inc |
| 2 | require ${PN}.inc | 2 | require ${PN}.inc |
| 3 | 3 | ||
| 4 | # qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1 | 4 | # qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1, |
| 5 | PV = "4.999+5.0.0-beta1+git${SRCPV}" | 5 | # but we'll use 5.0.2+git to indicate this version is compatible with 5.0.2 |
| 6 | PV = "5.0.2+git${SRCPV}" | ||
| 6 | 7 | ||
| 7 | PR = "${INC_PR}.1" | 8 | # drop when bumping SRCREV |
| 9 | PR = "r2" | ||
| 8 | 10 | ||
| 9 | SRCREV = "5cb159395eccb1d96fb73a78e499eef30aacb46d" | 11 | SRCREV = "5cb159395eccb1d96fb73a78e499eef30aacb46d" |
| 10 | 12 | ||
| 13 | SRC_URI += " \ | ||
| 14 | file://0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch \ | ||
| 15 | " | ||
| 16 | |||
| 11 | do_configure_prepend() { | 17 | do_configure_prepend() { |
| 12 | # Temporary hack to get qtwayland build for Qt 5.0.2 | 18 | # Temporary hack to get qtwayland build for Qt 5.0.2 |
| 13 | if ! grep -q MODULE_VERSION ${S}/.qmake.conf; then | 19 | if ! grep -q MODULE_VERSION ${S}/.qmake.conf; then |
