[Buildroot] [PATCH 1/2] qt5base: fix rpi/egl support (vc_dispmanx_element_change_attributes proto mismatch)

Samuel Martin s.martin49 at gmail.com
Sat Nov 9 15:59:48 UTC 2013


Patch from upstream already included in the next 5.2 release

Fixes:
	http://autobuild.buildroot.net/results/347/347577bf1dee0fec3302a45f278eb253118a5b6f/build-end.log

Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
---
 ...ate-vc_dispmanx_element_change_attributes.patch | 44 ++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 package/qt5/qt5base/qt5base-0006-qeglfshooksrpi-update-vc_dispmanx_element_change_attributes.patch

diff --git a/package/qt5/qt5base/qt5base-0006-qeglfshooksrpi-update-vc_dispmanx_element_change_attributes.patch b/package/qt5/qt5base/qt5base-0006-qeglfshooksrpi-update-vc_dispmanx_element_change_attributes.patch
new file mode 100644
index 0000000..417970d
--- /dev/null
+++ b/package/qt5/qt5base/qt5base-0006-qeglfshooksrpi-update-vc_dispmanx_element_change_attributes.patch
@@ -0,0 +1,44 @@
+From 90005fae17acc994948aa5a79fc262fd07b69865 Mon Sep 17 00:00:00 2001
+From: Dario Freddi <dario.freddi at ispirata.com>
+Date: Fri, 13 Sep 2013 12:10:03 +0200
+Subject: [PATCH] qeglfshooksrpi: update vc_dispmanx_element_change_attributes
+
+Remove the extern prototype as it's now defined in latest
+firmware headers correctly. Moreover, the signature of the function
+changed. This patch fixes both issues.
+
+Change-Id: I0114b436dbaf5a171e6429a1e3760e292c7152cf
+Reviewed-by: Andy Nichols <andy.nichols at digia.com>
+---
+ .../devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp   |    8 +-------
+ 1 files changed, 1 insertions(+), 7 deletions(-)
+
+diff --git a/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp b/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
+index 9b48113..add96bf 100644
+--- a/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
++++ b/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
+@@ -88,12 +88,6 @@ static EGLNativeWindowType createDispmanxLayer(const QPoint &pos, const QSize &s
+     return eglWindow;
+ }
+ 
+-// this function is not part of debian squeeze headers
+-extern "C" int VCHPOST_ vc_dispmanx_element_change_attributes(DISPMANX_UPDATE_HANDLE_T update,
+-    DISPMANX_ELEMENT_HANDLE_T element, uint32_t change_flags, int32_t layer,
+-    uint8_t opacity, const VC_RECT_T *dest_rect, const VC_RECT_T *src_rect,
+-    DISPMANX_RESOURCE_HANDLE_T mask, VC_IMAGE_TRANSFORM_T transform);
+-
+ // these constants are not in any headers (yet)
+ #define ELEMENT_CHANGE_LAYER          (1<<0)
+ #define ELEMENT_CHANGE_OPACITY        (1<<1)
+@@ -128,7 +122,7 @@ static void moveDispmanxLayer(EGLNativeWindowType window, const QPoint &pos)
+                                           &dst_rect,
+                                           NULL,
+                                           0,
+-                                          (VC_IMAGE_TRANSFORM_T)0);
++                                          (DISPMANX_TRANSFORM_T)0);
+ 
+     vc_dispmanx_update_submit_sync(dispman_update);
+ }
+-- 
+1.7.1
+
-- 
1.8.4.2



More information about the buildroot mailing list