diff --git a/recipes-hawaii/greenisland/greenisland.bb b/recipes-hawaii/greenisland/greenisland.bb index d9c632a7..b30f7ae0 100644 --- a/recipes-hawaii/greenisland/greenisland.bb +++ b/recipes-hawaii/greenisland/greenisland.bb @@ -14,7 +14,8 @@ DEPENDS += " \ SRC_URI = " \ git://github.com/greenisland/${BPN}.git;protocol=git;branch=master \ file://0001-find-native-greenisland-wayland-scanner.patch \ - file://0002-RaspberryPi-Don-t-suggest-closed-source-gles-driver-.patch \ + file://0002-waylandcompositor-fix-non-GL-GLES-builds.patch \ + file://0003-compositorlauncher-work-corrrectly-with-RaspberryPi-.patch \ " # we don't have wayland-protocols yet - revisit diff --git a/recipes-hawaii/greenisland/greenisland.inc b/recipes-hawaii/greenisland/greenisland.inc index bc1aab65..debeea22 100644 --- a/recipes-hawaii/greenisland/greenisland.inc +++ b/recipes-hawaii/greenisland/greenisland.inc @@ -13,7 +13,7 @@ SRC_URI = " \ git://github.com/greenisland/${BPN}.git;protocol=git;branch=master \ " -SRCREV = "dd195ada375bb0927d544999471fbb9bdc67d9c2" -PV = "0.7.90+git${SRCPV}" +SRCREV = "17c32bacda7a8f8628a77c6b31ca374bc30e8c84" +PV = "0.8.1" S = "${WORKDIR}/git" diff --git a/recipes-hawaii/greenisland/greenisland/0002-RaspberryPi-Don-t-suggest-closed-source-gles-driver-.patch b/recipes-hawaii/greenisland/greenisland/0002-RaspberryPi-Don-t-suggest-closed-source-gles-driver-.patch deleted file mode 100644 index a680f8fc..00000000 --- a/recipes-hawaii/greenisland/greenisland/0002-RaspberryPi-Don-t-suggest-closed-source-gles-driver-.patch +++ /dev/null @@ -1,65 +0,0 @@ -From eee96e00715613232465319071d0b7ac20cd41c5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Sat, 9 Apr 2016 23:01:18 +0200 -Subject: [PATCH] RaspberryPi: Don't suggest closed source gles driver when - using open source vc4 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When building greenisland for RaspberryPi with open source GL drivers (vc4), -cmake does not find closed source drivers (which is correct) - -| -- The following OPTIONAL packages have not been found: -| -| * BcmHost , Broadcom OpenGLES graphics libraries. , - -Launching a hawaii session reports: - -| greenisland.qpa.deviceintegration: Preferred EGL device integration based on the hardware configuration: "brcm" - -which does not make sense - there were no integration libs for closed source -RaspberryPi GLES built. - -Signed-off-by: Andreas Müller ---- - cmake/FindBcmHost.cmake | 2 ++ - src/platform/deviceintegration/deviceintegration_p.cpp | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/cmake/FindBcmHost.cmake b/cmake/FindBcmHost.cmake -index 99e5127..0322b1d 100644 ---- a/cmake/FindBcmHost.cmake -+++ b/cmake/FindBcmHost.cmake -@@ -90,6 +90,8 @@ find_package_handle_standard_args(BcmHost - if(BcmHost_FOUND) - set(BcmHost_LIBRARY_DIRS "${BcmHost_PREFIX}/lib") - set(BcmHost_INCLUDE_DIR ${BcmHost_INCLUDE_DIR} ${BcmHost_INCLUDE_DIR}/interface ${BcmHost_INCLUDE_DIR}/interface/vcos/pthreads) -+else() -+ add_definitions(-DWITHOUT_BRCM) - endif() - - if(BcmHost_FOUND) -diff --git a/src/platform/deviceintegration/deviceintegration_p.cpp b/src/platform/deviceintegration/deviceintegration_p.cpp -index 369f43d..278210e 100644 ---- a/src/platform/deviceintegration/deviceintegration_p.cpp -+++ b/src/platform/deviceintegration/deviceintegration_p.cpp -@@ -56,6 +56,7 @@ public: - if (!qEnvironmentVariableIsEmpty("DISPLAY")) - return QStringLiteral("x11"); - -+#ifndef WITHOUT_BRCM - // Detect Broadcom - bool found = deviceModel().startsWith(QLatin1String("Raspberry")); - if (!found) { -@@ -67,6 +68,7 @@ public: - } - if (found) - return QStringLiteral("brcm"); -+#endif - - // TODO: Detect Mali - // TODO: Detect Vivante --- -2.5.5 - diff --git a/recipes-hawaii/greenisland/greenisland/0002-waylandcompositor-fix-non-GL-GLES-builds.patch b/recipes-hawaii/greenisland/greenisland/0002-waylandcompositor-fix-non-GL-GLES-builds.patch new file mode 100644 index 00000000..c68b86f3 --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland/0002-waylandcompositor-fix-non-GL-GLES-builds.patch @@ -0,0 +1,86 @@ +From 5be9827d217e140c1d3d060f9366cc0632a847af Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 14 Sep 2016 19:34:55 +0200 +Subject: [PATCH] waylandcompositor: fix non GL (GLES) builds +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +qwaylandquickcompositor.cpp:159:20: error: 'class QWaylandBufferRef' has no member named 'bindToTexture' + buffer.bindToTexture(); + ^~~~~~~~~~~~~ + +qwaylandquickitem.cpp:314:24: error: 'const class QWaylandBufferRef' has no member named 'bindToTexture' + buffer.bindToTexture(); + ^~~~~~~~~~~~~ + +qwaylandquickitem.cpp:1126:40: error: 'class QWaylandBufferRef' has no member named 'textureForPlane' + if (uint texture = ref.textureForPlane(plane)) + ^~~~~~~~~~~~~~~ + +qwaylandquickitem.cpp:1129:17: error: 'class QWaylandBufferRef' has no member named 'bindToTexture' + ref.bindToTexture(); + ^~~~~~~~~~~~~ + +qwaylandquickitem.cpp:1132:13: error: 'class QWaylandBufferRef' has no member named 'updateTexture' + ref.updateTexture(); + ^~~~~~~~~~~~~ + +Signed-off-by: Andreas Müller +--- + src/waylandcompositor/compositor_api/qwaylandquickcompositor.cpp | 2 ++ + src/waylandcompositor/compositor_api/qwaylandquickitem.cpp | 8 ++++++++ + 2 files changed, 10 insertions(+) + +diff --git a/src/waylandcompositor/compositor_api/qwaylandquickcompositor.cpp b/src/waylandcompositor/compositor_api/qwaylandquickcompositor.cpp +index e015a8f..69099db 100644 +--- a/src/waylandcompositor/compositor_api/qwaylandquickcompositor.cpp ++++ b/src/waylandcompositor/compositor_api/qwaylandquickcompositor.cpp +@@ -156,7 +156,9 @@ void QWaylandQuickCompositor::grabSurface(QWaylandSurfaceGrabber *grabber, const + glGenTextures(1, &texture); + glBindTexture(GL_TEXTURE_2D, texture); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); ++#ifdef QT_WAYLAND_COMPOSITOR_GL + buffer.bindToTexture(); ++#endif + blitter.blit(texture, QMatrix4x4(), surfaceOrigin); + + blitter.release(); +diff --git a/src/waylandcompositor/compositor_api/qwaylandquickitem.cpp b/src/waylandcompositor/compositor_api/qwaylandquickitem.cpp +index 942a5d1..1e15b0f 100644 +--- a/src/waylandcompositor/compositor_api/qwaylandquickitem.cpp ++++ b/src/waylandcompositor/compositor_api/qwaylandquickitem.cpp +@@ -311,7 +311,9 @@ public: + GLuint texture; + glGenTextures(1, &texture); + glBindTexture(GL_TEXTURE_2D, texture); ++#ifdef QT_WAYLAND_COMPOSITOR_GL + buffer.bindToTexture(); ++#endif + m_sgTex = surfaceItem->window()->createTextureFromId(texture , QSize(surfaceItem->width(), surfaceItem->height()), opt); + } + } +@@ -1122,14 +1124,20 @@ QSGNode *QWaylandQuickItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat + + if (d->newTexture) { + d->newTexture = false; ++#ifdef QT_WAYLAND_COMPOSITOR_GL + for (int plane = 0; plane < bufferTypes[ref.bufferFormatEgl()].planeCount; plane++) + if (uint texture = ref.textureForPlane(plane)) + material->setTextureForPlane(plane, texture); ++#endif + material->bind(); ++#ifdef QT_WAYLAND_COMPOSITOR_GL + ref.bindToTexture(); ++#endif + } + ++#ifdef QT_WAYLAND_COMPOSITOR_GL + ref.updateTexture(); ++#endif + QSGGeometry::updateTexturedRectGeometry(geometry, rect, QRectF(0, 0, 1, 1)); + + node->setGeometry(geometry); +-- +2.5.5 + diff --git a/recipes-hawaii/greenisland/greenisland/0003-compositorlauncher-work-corrrectly-with-RaspberryPi-.patch b/recipes-hawaii/greenisland/greenisland/0003-compositorlauncher-work-corrrectly-with-RaspberryPi-.patch new file mode 100644 index 00000000..1843ada3 --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland/0003-compositorlauncher-work-corrrectly-with-RaspberryPi-.patch @@ -0,0 +1,52 @@ +From 0689d84ea92dc35c69f97c4051844a4181ac2d19 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 15 Aug 2016 23:42:41 +0200 +Subject: [PATCH] compositorlauncher: work corrrectly with RaspberryPi VC4 drm +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + launcher/compositorlauncher.cpp | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/launcher/compositorlauncher.cpp b/launcher/compositorlauncher.cpp +index fd68c66..de9b86c 100644 +--- a/launcher/compositorlauncher.cpp ++++ b/launcher/compositorlauncher.cpp +@@ -169,6 +169,15 @@ void CompositorLauncher::detectMode() + + void CompositorLauncher::detectHardware() + { ++ // TODO: Detect Mali ++ // TODO: Detect Vivante ++ ++ // Detect DRM ++ if (QDir(QStringLiteral("/sys/class/drm")).exists()) { ++ m_hardware = DrmHardware; ++ return; ++ } ++ + // Detect Broadcom + bool found = deviceModel().startsWith(QStringLiteral("Raspberry")); + if (!found) { +@@ -183,15 +192,6 @@ void CompositorLauncher::detectHardware() + return; + } + +- // TODO: Detect Mali +- // TODO: Detect Vivante +- +- // Detect DRM +- if (QDir(QStringLiteral("/sys/class/drm")).exists()) { +- m_hardware = DrmHardware; +- return; +- } +- + // Unknown hardware + m_hardware = UnknownHardware; + } +-- +2.5.5 +