> On Aug 25, 2015, at 12:00 AM, Andreas Müller <[email protected]> > wrote: > > On Mon, Aug 24, 2015 at 7:43 PM, Khem Raj <[email protected]> wrote: >> rpi uses bcom EGL implementation and it has descrepency when it comes to >> defining 'EGLNativePixmapType', lets typecast the ussage of this type to >> avoid this sort of errors. >> >> Signed-off-by: Khem Raj <[email protected]> > Upstream-Status?
Pending >> --- >> ...egl-Typecast-proper-EGLNativeWindowType-t.patch | 56 >> ++++++++++++++++++++++ >> recipes-qt/qt5/qtwayland_git.bb | 1 + >> 2 files changed, 57 insertions(+) >> create mode 100644 >> recipes-qt/qt5/qtwayland/0001-xcomposite-egl-Typecast-proper-EGLNativeWindowType-t.patch >> >> diff --git >> a/recipes-qt/qt5/qtwayland/0001-xcomposite-egl-Typecast-proper-EGLNativeWindowType-t.patch >> >> b/recipes-qt/qt5/qtwayland/0001-xcomposite-egl-Typecast-proper-EGLNativeWindowType-t.patch >> new file mode 100644 >> index 0000000..2e1f2c4 >> --- /dev/null >> +++ >> b/recipes-qt/qt5/qtwayland/0001-xcomposite-egl-Typecast-proper-EGLNativeWindowType-t.patch >> @@ -0,0 +1,56 @@ >> +From 91746518a0cd56d7b0bfda69ba6cf743bf051fb9 Mon Sep 17 00:00:00 2001 >> +From: Khem Raj <[email protected]> >> +Date: Sun, 23 Aug 2015 17:33:25 -0700 >> +Subject: [PATCH] xcomposite-egl: Typecast proper EGLNativeWindowType to >> + eglCreateWindowSurface params >> + >> +This surfaces on rpi which has slightly different definition of >> +EGLNativeWindowType >> + >> +Fixes errors like >> + >> +/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/qtwayland/5.4.2+gitAUTOINC+182488129c-r0/git/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp:117:26: >> error: no matching function for call >> + to 'eglCreatePixmapSurface' >> + EGLSurface surface = >> eglCreatePixmapSurface(mEglDisplay,config,pixmap,attribList.constData()); >> + ^~~~~~~~~~~~~~~~~~~~~~ >> +/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/egl.h:270:31: >> note: candidate function not viable: no known conversion from 'Pixmap' (aka >> 'unsigned long') to 'EGLNativePixmapType' (aka 'void *') for 3rd argument; >> take the >> + address of the argument with & >> +EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, >> EGLConfig config, >> + ^ >> +1 error generated. >> + >> +Signed-off-by: Khem Raj <[email protected]> >> +--- >> + .../client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp | >> 2 +- >> + .../compositor/xcomposite-egl/xcompositeeglintegration.cpp | >> 2 +- >> + 2 files changed, 2 insertions(+), 2 deletions(-) >> + >> +diff --git >> a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp >> >> b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp >> +index 01d6324..e268ede 100644 >> +--- >> a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp >> ++++ >> b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp >> +@@ -122,7 +122,7 @@ void QWaylandXCompositeEGLWindow::createEglSurface() >> + XCompositeRedirectWindow(m_glxIntegration->xDisplay(), m_xWindow, >> CompositeRedirectManual); >> + XMapWindow(m_glxIntegration->xDisplay(), m_xWindow); >> + >> +- m_surface = eglCreateWindowSurface(m_glxIntegration->eglDisplay(), >> m_config, m_xWindow,0); >> ++ m_surface = eglCreateWindowSurface(m_glxIntegration->eglDisplay(), >> m_config, (EGLNativeWindowType)m_xWindow,0); >> + if (m_surface == EGL_NO_SURFACE) { >> + qFatal("Could not make eglsurface"); >> + } >> +diff --git >> a/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp >> >> b/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp >> +index 2401d67..61664b5 100644 >> +--- >> a/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp >> ++++ >> b/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp >> +@@ -114,7 +114,7 @@ void >> XCompositeEglClientBufferIntegration::bindTextureToBuffer(struct ::wl_resou >> + attribList.append(EGL_TEXTURE_2D); >> + attribList.append(EGL_NONE); >> + >> +- EGLSurface surface = >> eglCreatePixmapSurface(mEglDisplay,config,pixmap,attribList.constData()); >> ++ EGLSurface surface = >> eglCreatePixmapSurface(mEglDisplay,config,(EGLNativeWindowType)pixmap,attribList.constData()); > ^ When looking at [1] this does not look correct to me. > > Generally I think errors caused by a specific egl implementation > should not be fixed in packets using egl - and yes I know we have > these hacks in qt. > > [1] > https://www.khronos.org/registry/egl/sdk/docs/man/html/eglCreatePixmapSurface.xhtml > > Andreas > -- > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
signature.asc
Description: Message signed with OpenPGP using GPGMail
-- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
