From 647ed1cbae42411b187cab794e495f39cf2ec883 Mon Sep 17 00:00:00 2001 From: Zhou Mingying Date: Fri, 23 Aug 2019 11:58:25 +0800 Subject: 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 Change-Id: I73cc7d635a0e451fce7fe557f9433f397e107a7a --- .../0001-fixed-eglfs_kms-fails-to-build.patch | 45 ++++++++++++++++++++++ ...version-from-EGLNativeDisplayType-to-void.patch | 24 ++++++++++++ .../recipes-qt/qt5/qtbase_%.bbappend | 7 ++++ 3 files changed, 76 insertions(+) create mode 100644 meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0001-fixed-eglfs_kms-fails-to-build.patch create mode 100644 meta-agl-profile-cluster-qt5/recipes-qt/qt5/files/0002-fixed-invalid-conversion-from-EGLNativeDisplayType-to-void.patch 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 +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 +--- + .../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(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(&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)}" -- cgit 1.2.3-korg