summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhou Mingying <zhoumy@cn.fujitsu.com>2019-08-23 11:58:25 +0800
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2019-08-26 06:01:02 +0000
commitfcae98dddbef63a8bd0ed9204c0362eb675af64e (patch)
treef2d4ed4fb4641eabe00b3cb48d4e5113755b52a9
parent1d41ecf54d2ddcbd17eba3148350f032ccb6e73a (diff)
Fix qtbase compile error for dra7xx-evm
Fix qtbase plugin eglfs kms gbm compile error, and conversion error from EGLNativeDisplayType to void. Bug-AGL: SPEC-2763 Signed-off-by: Zhou Mingying <zhoumy@cn.fujitsu.com> Change-Id: I73cc7d635a0e451fce7fe557f9433f397e107a7a (cherry picked from commit 647ed1cbae42411b187cab794e495f39cf2ec883)
-rw-r--r--meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0001-fixed-eglfs_kms-fails-to-build.patch45
-rw-r--r--meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0002-fixed-invalid-conversion-from-EGLNativeDisplayType-to-void.patch24
-rw-r--r--meta-agl-profile-cluster-qt5/recipes-qt/qt5/qtbase_%.bbappend7
3 files changed, 76 insertions, 0 deletions
diff --git a/meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0001-fixed-eglfs_kms-fails-to-build.patch b/meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0001-fixed-eglfs_kms-fails-to-build.patch
new file mode 100644
index 000000000..5c936e7ae
--- /dev/null
+++ b/meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0001-fixed-eglfs_kms-fails-to-build.patch
@@ -0,0 +1,45 @@
+537bb3cc027eed14500fe5724ab30f Mon Sep 17 00:00:00 2001
+From: Laszlo Agocs <laszlo.agocs@qt.io>
+Date: Fri, 14 Dec 2018 10:48:43 +0100
+Subject: eglfs: avoid breaking builds without EGL_EXT_platform_base
+
+Change-Id: I9183e17b42c00435f20c00a414e1f20aa3972351
+Fixes: QTBUG-72559
+Reviewed-by: Johan Helsing <johan.helsing@qt.io>
+---
+ .../eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp | 1 -
+ .../eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp | 4 ++++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+(limited to 'src/plugins/platforms/eglfs/deviceintegration/eglfs_kms')
+
+diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
+index 1e4f4e72c8..f154520669 100644
+--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
+@@ -63,7 +63,6 @@ QEglFSKmsGbmIntegration::QEglFSKmsGbmIntegration()
+
+ #ifndef EGL_EXT_platform_base
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
+-typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
+ #endif
+
+ #ifndef EGL_PLATFORM_GBM_KHR
+diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
+index 65a7c4f38a..a93762e5b4 100644
+--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
+@@ -45,6 +45,10 @@
+
+ QT_BEGIN_NAMESPACE
+
++#ifndef EGL_EXT_platform_base
++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
++#endif
++
+ void QEglFSKmsGbmWindow::resetSurface()
+ {
+ QEglFSKmsGbmScreen *gbmScreen = static_cast<QEglFSKmsGbmScreen *>(screen());
+--
+cgit v1.2.1
+
diff --git a/meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0002-fixed-invalid-conversion-from-EGLNativeDisplayType-to-void.patch b/meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0002-fixed-invalid-conversion-from-EGLNativeDisplayType-to-void.patch
new file mode 100644
index 000000000..3c33cfc10
--- /dev/null
+++ b/meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0002-fixed-invalid-conversion-from-EGLNativeDisplayType-to-void.patch
@@ -0,0 +1,24 @@
+From 9514c51b5a6881c445586fa3a232ccd47fe4b1e5 Mon Sep 17 00:00:00 2001
+From: Stefan Zehetbauer
+Date: Fri, 14 Dec 2018 13:26:03 +0100
+Subject: [PATCH] fixed invalid conversion from EGLNativeDisplayType to void*
+
+---
+ .../eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
+index d495a8d..34ca9e8 100644
+--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
+@@ -82,7 +82,7 @@ EGLDisplay QEglFSKmsGbmIntegration::createDisplay(EGLNativeDisplayType nativeDis
+ }
+
+ if (getPlatformDisplay) {
+- display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, nativeDisplay, nullptr);
++ display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, reinterpret_cast<void *>(&nativeDisplay), nullptr);
+ } else {
+ qCDebug(qLcEglfsKmsDebug, "No eglGetPlatformDisplay for GBM, falling back to eglGetDisplay");
+ display = eglGetDisplay(nativeDisplay);
+--
+1.9.1
diff --git a/meta-agl-profile-cluster-qt5/recipes-qt/qt5/qtbase_%.bbappend b/meta-agl-profile-cluster-qt5/recipes-qt/qt5/qtbase_%.bbappend
index be4a62ae1..50db225c1 100644
--- a/meta-agl-profile-cluster-qt5/recipes-qt/qt5/qtbase_%.bbappend
+++ b/meta-agl-profile-cluster-qt5/recipes-qt/qt5/qtbase_%.bbappend
@@ -1,3 +1,10 @@
#Enable eglfs for QT based application
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+
+SRC_URI += " file://0001-fixed-eglfs_kms-fails-to-build.patch \
+ file://0002-fixed-invalid-conversion-from-EGLNativeDisplayType-to-void.patch \
+ "
+
PACKAGECONFIG_GL_append = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' eglfs kms gbm', '', d)}"