Eric, The patch looks good, but I think you specified the wrong destination branch - it won't apply to rocko, I believe you meant thud?
Denys On Tue, Mar 12, 2019 at 06:32:22PM -0400, Eric Ruei wrote: > - enable gbm/kms for eglfs_kms > - fix compiling error at platform/eglfs_kms > - remove unused patch which has been upstreamed > > Signed-off-by: Eric Ruei <[email protected]> > --- > meta-arago-distro/conf/distro/arago.conf | 1 + > ...ure-Set-wrap-mode-if-NPOT-textures-are-no.patch | 65 > ---------------------- > ...ins-platforms-eglfs_kms-fix-compiler-erro.patch | 57 +++++++++++++++++++ > meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend | 5 +- > 4 files changed, 60 insertions(+), 68 deletions(-) > delete mode 100644 > meta-arago-distro/recipes-qt/qt5/qtbase/0001-QOpenGLTexture-Set-wrap-mode-if-NPOT-textures-are-no.patch > create mode 100644 > meta-arago-distro/recipes-qt/qt5/qtbase/0001-qtbase-plugins-platforms-eglfs_kms-fix-compiler-erro.patch > > diff --git a/meta-arago-distro/conf/distro/arago.conf > b/meta-arago-distro/conf/distro/arago.conf > index f35f580..9b6fe85 100644 > --- a/meta-arago-distro/conf/distro/arago.conf > +++ b/meta-arago-distro/conf/distro/arago.conf > @@ -107,6 +107,7 @@ PACKAGECONFIG_append_pn-systemd = " coredump" > PACKAGECONFIG_GL_pn-qtbase = "gles2 linuxfb" > PACKAGECONFIG_DISTRO_pn-qtbase = "icu examples xkbcommon-evdev accessibility > gif" > PACKAGECONFIG_FONTS_pn-qtbase = "fontconfig" > +PACKAGECONFIG_append_pn-qtbase = "gbm kms" > > # Add gstreamer in package configuration to enable video > PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer" > diff --git > a/meta-arago-distro/recipes-qt/qt5/qtbase/0001-QOpenGLTexture-Set-wrap-mode-if-NPOT-textures-are-no.patch > > b/meta-arago-distro/recipes-qt/qt5/qtbase/0001-QOpenGLTexture-Set-wrap-mode-if-NPOT-textures-are-no.patch > deleted file mode 100644 > index 84a0195..0000000 > --- > a/meta-arago-distro/recipes-qt/qt5/qtbase/0001-QOpenGLTexture-Set-wrap-mode-if-NPOT-textures-are-no.patch > +++ /dev/null > @@ -1,65 +0,0 @@ > -From fbb9c0461c14196ac7100c90088c15263d0cccbb Mon Sep 17 00:00:00 2001 > -From: Johan Klokkhammer Helsing <[email protected]> > -Date: Tue, 3 Apr 2018 14:42:15 +0200 > -Subject: [PATCH] QOpenGLTexture: Set wrap mode if NPOT textures are not fully > - supported > - > -The OpenGL wrap mode defaults to GL_REPEAT although it is not supported for > -non-power-of-two textures on hardware that only has limited support. > - > -I.e. the following would create a texture with an invalid wrap mode: > - > - auto *t = new QOpenGLTexture(QOpenGLTexture::Target2D); > - t.setSize(123, 456); > - > -This patch adds a check in QOpenGLWindow::setSize to see if it's called with > a > -non-power-of-two size on hardware without full support, and if so sets > wrapMode > -to ClampToEdge (which should work on devices with limited support). > - > -Task-number: QTBUG-67418 > -Change-Id: I56e9f4383dbf5430c2bc5e4e9e585712b3603c13 > -Reviewed-by: Laszlo Agocs <[email protected]> > ---- > - src/gui/opengl/qopengltexture.cpp | 12 ++++++++++++ > - 1 file changed, 12 insertions(+) > - > -diff --git a/src/gui/opengl/qopengltexture.cpp > b/src/gui/opengl/qopengltexture.cpp > -index b825b56..cea4b51 100644 > ---- a/src/gui/opengl/qopengltexture.cpp > -+++ b/src/gui/opengl/qopengltexture.cpp > -@@ -2800,6 +2800,11 @@ QOpenGLTexture::TextureFormat > QOpenGLTexture::format() const > - return d->format; > - } > - > -+static bool isNpot(int width, int height = 1, int depth = 1) > -+{ > -+ return width & (width-1) || height & (height-1) || depth & (depth-1); > -+} > -+ > - /*! > - Sets the dimensions of this texture object to \a width, > - \a height, and \a depth. The default for each dimension is 1. > -@@ -2807,6 +2812,10 @@ QOpenGLTexture::TextureFormat > QOpenGLTexture::format() const > - implementation. Allocating storage for a texture less than the > - maximum size can still fail if your system is low on resources. > - > -+ If a non-power-of-two \a width, \a height or \a depth is provided and > your > -+ OpenGL implementation doesn't have support for repeating > non-power-of-two > -+ textures, then the wrap mode is automatically set to ClampToEdge. > -+ > - \sa width(), height(), depth() > - */ > - void QOpenGLTexture::setSize(int width, int height, int depth) > -@@ -2819,6 +2828,9 @@ void QOpenGLTexture::setSize(int width, int height, > int depth) > - return; > - } > - > -+ if (isNpot(width, height, depth) && > !hasFeature(Feature::NPOTTextureRepeat) && d->target != > Target::TargetRectangle) > -+ d->setWrapMode(WrapMode::ClampToEdge); > -+ > - switch (d->target) { > - case QOpenGLTexture::Target1D: > - case QOpenGLTexture::Target1DArray: > --- > -1.9.1 > - > diff --git > a/meta-arago-distro/recipes-qt/qt5/qtbase/0001-qtbase-plugins-platforms-eglfs_kms-fix-compiler-erro.patch > > b/meta-arago-distro/recipes-qt/qt5/qtbase/0001-qtbase-plugins-platforms-eglfs_kms-fix-compiler-erro.patch > new file mode 100644 > index 0000000..cbedfc0 > --- /dev/null > +++ > b/meta-arago-distro/recipes-qt/qt5/qtbase/0001-qtbase-plugins-platforms-eglfs_kms-fix-compiler-erro.patch > @@ -0,0 +1,57 @@ > +From 7e1d01d4dc022f4da117f87a993d03b084134018 Mon Sep 17 00:00:00 2001 > +From: Eric Ruei <[email protected]> > +Date: Fri, 8 Mar 2019 17:02:38 -0500 > +Subject: [PATCH] qtbase: plugins: platforms: eglfs_kms: fix compiler error > + > +Upstream_Status: Pending > + > +Signed-off-by: Eric Ruei <[email protected]> > +--- > + .../eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp | 7 > +------ > + .../eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h | 5 +++++ > + 2 files changed, 6 insertions(+), 6 deletions(-) > + > +diff --git > a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > > b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > +index 4023381..eb24175 100644 > +--- > a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > ++++ > b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > +@@ -61,11 +61,6 @@ QEglFSKmsGbmIntegration::QEglFSKmsGbmIntegration() > + qCDebug(qLcEglfsKmsDebug, "New DRM/KMS via GBM integration created"); > + } > + > +-#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 > + #define EGL_PLATFORM_GBM_KHR 0x31D7 > + #endif > +@@ -83,7 +78,7 @@ EGLDisplay > QEglFSKmsGbmIntegration::createDisplay(EGLNativeDisplayType nativeDis > + } > + > + if (getPlatformDisplay) { > +- display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, nativeDisplay, > nullptr); > ++ display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, (void > *)nativeDisplay, nullptr); > + } else { > + qCDebug(qLcEglfsKmsDebug, "No eglGetPlatformDisplay for GBM, > falling back to eglGetDisplay"); > + display = eglGetDisplay(nativeDisplay); > +diff --git > a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h > > b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h > +index 71f232a..6467a21 100644 > +--- > a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h > ++++ > b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h > +@@ -48,6 +48,11 @@ > + > + QT_BEGIN_NAMESPACE > + > ++#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 > ++ > + class QEglFSKmsDevice; > + > + class QEglFSKmsGbmIntegration : public QEglFSKmsIntegration > +-- > +1.9.1 > + > diff --git a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend > b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend > index 4cb8f9c..2e67256 100644 > --- a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend > +++ b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend > @@ -4,7 +4,7 @@ GLES_EXTRA_DEPS = "libdrm wayland" > > PACKAGECONFIG[gles2] = "-opengl es2 -eglfs,,virtual/libgles2 virtual/egl > ${GLES_EXTRA_DEPS}" > > -PR_append = ".arago13" > +PR_append = ".arago14" > > QT_CONFIG_FLAGS += "-qpa ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', > 'wayland', 'eglfs', d)}" > > @@ -14,12 +14,11 @@ QT_EGLFS_PATCHES = "\ > file://quit.png \ > " > > -# file://0001-QOpenGLTexture-Set-wrap-mode-if-NPOT-textures-are-no.patch > - > SRC_URI += "\ > ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', > "${QT_EGLFS_PATCHES}", d)}\ > file://0001-deform-Fix-how-controls-are-shown.patch \ > file://0002-deform-disable-opengl-button.patch \ > + file://0001-qtbase-plugins-platforms-eglfs_kms-fix-compiler-erro.patch \ > " > > python do_patch_append() { > -- > 1.9.1 > > _______________________________________________ > meta-arago mailing list > [email protected] > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago _______________________________________________ meta-arago mailing list [email protected] http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
