From: "Jérôme Pouiller" <jezz@sysmic.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 10/14] qt5base: fix Vivante x11/EGL configuration
Date: Tue, 2 Dec 2014 10:59:08 +0100 [thread overview]
Message-ID: <1417514352-8825-11-git-send-email-jezz@sysmic.org> (raw)
In-Reply-To: <1417514352-8825-1-git-send-email-jezz@sysmic.org>
Fix compilation with Vivante headers and bug at runtime.
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
.../qt5/qt5base/0001-Force_egl_visual_ID_33.patch | 23 ++++++++
package/qt5/qt5base/0004-xcb-egl-fixes.patch | 63 ++++++++++++++++++++++
2 files changed, 86 insertions(+)
create mode 100644 package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
create mode 100644 package/qt5/qt5base/0004-xcb-egl-fixes.patch
diff --git a/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch b/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
new file mode 100644
index 0000000..b0be292
--- /dev/null
+++ b/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
@@ -0,0 +1,23 @@
+Workaround EGL initialization failure due visual mismatch
+
+Error:
+
+Warning: EGL suggested using X Visual ID 33 (RGB888) for EGL config 28 (RGB444), but this is incompatable
+Unable to find an X11 visual which matches EGL config 28
+Could not initialize EGL
+Aborted
+
+Upstream-Status: Inappropriate [workaround]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff -Naur qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
+--- qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:08:42.163895341 -0800
++++ qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:09:37.207893799 -0800
+@@ -180,5 +180,5 @@
+ }
+
+ qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
+- return (VisualID)0;
++ return (VisualID)33;
+ }
diff --git a/package/qt5/qt5base/0004-xcb-egl-fixes.patch b/package/qt5/qt5base/0004-xcb-egl-fixes.patch
new file mode 100644
index 0000000..2bbd849
--- /dev/null
+++ b/package/qt5/qt5base/0004-xcb-egl-fixes.patch
@@ -0,0 +1,63 @@
+The vivante headers pull in X11 defines which break eglconvenience
+
+* Adds a missing include to qeglplatformcontext.cpp
+* Fix namespace collision on CursorShape, pulled in from X11/X.h
+* Do not pass MESA_EGL_NO_X11_HEADERS when xcb is use
+
+[based on patch from Yocto project]
+Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
+
+
+diff -Nuar a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
+--- a/src/platformsupport/eglconvenience/eglconvenience.pri 2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/eglconvenience.pri 2014-08-07 16:54:52.874278651 -0400
+@@ -30,8 +30,10 @@
+ }
+ }
+
+- # Avoid X11 header collision
+- DEFINES += MESA_EGL_NO_X11_HEADERS
++ !contains(QT_CONFIG,xcb) {
++ # Avoid X11 header collision
++ DEFINES += MESA_EGL_NO_X11_HEADERS
++ }
+
+ contains(QT_CONFIG,xlib) {
+ HEADERS += \
+diff -Nuar a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
+--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp 2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp 2014-08-07 16:56:00.630280249 -0400
+@@ -39,6 +39,7 @@
+ **
+ ****************************************************************************/
+
++#include <qtextstream.h>
+ #include "qeglplatformcontext_p.h"
+ #include "qeglconvenience_p.h"
+ #include "qeglpbuffer_p.h"
+--- a/src/platformsupport/eglconvenience/qeglplatformcursor_p.h 2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcursor_p.h 2014-08-07 16:58:49.014284222 -0400
+@@ -42,6 +42,11 @@
+ #ifndef QEGLPLATFORMCURSOR_H
+ #define QEGLPLATFORMCURSOR_H
+
++// avoid namespace collision with X11/X.h
++#ifdef CursorShape
++#undef CursorShape
++#endif
++
+ #include <qpa/qplatformcursor.h>
+ #include <qpa/qplatformscreen.h>
+
+--- a/src/platformsupport/eglconvenience/qeglplatformcursor.cpp 2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcursor.cpp 2014-08-07 17:00:36.806286766 -0400
+@@ -49,8 +49,8 @@
+
+ #include <QtPlatformSupport/private/qdevicediscovery_p.h>
+
+-#include "qeglplatformcursor_p.h"
+ #include "qeglplatformintegration_p.h"
++#include "qeglplatformcursor_p.h"
+
+ QT_BEGIN_NAMESPACE
+
--
1.9.1
next prev parent reply other threads:[~2014-12-02 9:59 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-02 9:58 [Buildroot] [PATCH v4 00/14] Add Xorg support for iMX6 Jérôme Pouiller
2014-12-02 9:58 ` [Buildroot] [PATCH v4 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 02/14] gpu-viv-bin-mx6q: use self-extractible helper Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 04/14] gpu-viv-bin-mx6q: fix GLESv2 support Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 05/14] gpu-viv-bin-mx6q: make fb/x11 choice explicit Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 06/14] gpu-viv-bin-mx6q: change output selection mechanism Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 07/14] xdriver_xf86-video-imx-viv: new package Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 08/14] libdrm: fix support for xserver with Vivante drivers Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 09/14] qt5base: apply new patch naming policy Jérôme Pouiller
2014-12-02 9:59 ` Jérôme Pouiller [this message]
2014-12-02 9:59 ` [Buildroot] [PATCH v4 11/14] Vivante drivers: bump to version 3.10.17-1.0.1 Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 12/14] nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 13/14] freescale_imx6*_defconfig: " Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 14/14] qmx6_defconfig: update Jérôme Pouiller
2014-12-03 19:25 ` [Buildroot] [PATCH v4 00/14] Add Xorg support for iMX6 Gary Bisson
2014-12-04 13:14 ` Jérôme Pouiller
2014-12-04 19:22 ` Gary Bisson
2014-12-04 21:19 ` Jérôme Pouiller
2014-12-04 21:46 ` Gary Bisson
2014-12-05 20:49 ` Gary Bisson
2014-12-05 22:44 ` Thomas Petazzoni
2014-12-08 10:32 ` Jérôme Pouiller
2014-12-05 22:39 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1417514352-8825-11-git-send-email-jezz@sysmic.org \
--to=jezz@sysmic.org \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox