greenisland: update to 0.8.1

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller
2016-09-14 19:48:58 +02:00
parent 76bc15f353
commit 08334a8e17
5 changed files with 142 additions and 68 deletions

View File

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

View File

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

View File

@@ -1,65 +0,0 @@
From eee96e00715613232465319071d0b7ac20cd41c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
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. , <http://www.broadcom.com/>
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 <schnitzeltony@googlemail.com>
---
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

View File

@@ -0,0 +1,86 @@
From 5be9827d217e140c1d3d060f9366cc0632a847af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
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 <schnitzeltony@googlemail.com>
---
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

View File

@@ -0,0 +1,52 @@
From 0689d84ea92dc35c69f97c4051844a4181ac2d19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
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 <schnitzeltony@googlemail.com>
---
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