Skip to contentSkip to conversation

Kernel/userland upgrade wayland support and clang fixes

PATCH Applied Khem Raj 2 participants 36 messages Feb 27, 2016 – Mar 10, 2016

Subsystems (2)
lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover Kernel/userland upgrade wayland support and clang fixes

This patchset has been growing for a while, Adds recipes for kenrel 4.4 and switches to use kernel 4.4
Fixes userland to compile with clang
Upgrade userland to latest
Add option to support GPU_MEM_1024
Upgrade firmware to latest

Khem Raj (23):
userland: Upgrade to latest git master
userland: Fix build with clang compiler
userland: Add wayland support
weston: Enable rpi compositor backend
rpi-gpio: Upgrade to 0.6.1 and fix build with clang eglinfo-x11,eglinfo-fb: Add EGLINFO_DEVICE via bbappends
python-rtimu: Fix build with musl
wiringPi: Fix build with musl
Delete rpc flushing of thread in glEGLImageTargetTexture2DOES
rpio: Include sys/types.h for caddr_t
userland: Define PROJECT_APIVER and rprovide libgles2 libgl
userland: Add wayland to deps if in DISTRO_FEATURES
userland: Fix build race with wayland support gstreamer1.0-omx: Add raspberry pi optimization patches and config
options
weston: Specify egl and compositor options for rpi gstreamer1.0-omx: Backports and fixes for smooth video playback
linux-raspberrypi: Upgrade 4.1 kernel to 4.1.17
firmware: Upgrade to latest stable 20160209
rpi-config: Upgrade to tip of tree to get GPU_MEM_1024
linux-raspberrypi: Add recipe for 4.4 release
userland: Upgrade to latest
linux-raspberrypi: Upgrade 4.4.1 -> 4.4.2
userland: Drop extern inline patches

 README                                             |    2 +
 conf/machine/include/rpi-default-versions.inc      |    2 +-
 recipes-bsp/bootfiles/bcm2835-bootfiles.bb         |    2 +-
 recipes-bsp/bootfiles/rpi-config_git.bb            |    5 +-
 recipes-bsp/common/firmware.inc                    |    4 +-
 ...0001-include-asm-ioctl.h-for-ioctl-define.patch |   33 +
 recipes-devtools/python/python-rtimu_git.bb        |    4 +-
 .../rpi-gpio/0001-Remove-nested-functions.patch    |  294 +++
 .../{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb}      |    6 +-
 ...-types.h-explicitly-for-getting-caddr_t-d.patch |   30 +
 recipes-devtools/python/rpio_0.10.0.bb             |    6 +-
 ...de-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch |   58 +
 recipes-devtools/wiringPi/wiringpi_git.bb          |    8 +-
 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend     |    1 +
 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend    |    1 +
 .../userland/0001-fix-gcc-5.x-inlines.patch        |   26 -
 .../userland/userland/0002-fix-musl-build.patch    |   22 -
 .../0002-set-VMCS_INSTALL_PREFIX-to-usr.patch      |    7 +-
 ...make-generate-and-install-pkgconfig-files.patch |   24 +-
 .../0003-fix-alloc-size-uninitialized.patch        |   13 -
 ...-applications-to-set-next-resource-handle.patch |  208 +++
 ...ayland-Add-support-for-the-Wayland-winsys.patch | 1880 ++++++++++++++++++++
 .../0007-wayland-Add-Wayland-example.patch         |  866 +++++++++
 ...-wayland-egl-Add-bcm_host-to-dependencies.patch |   28 +
 ...emove-faulty-assert-to-make-weston-happy-.patch |   29 +
 ...0-zero-out-wl-buffers-in-egl_surface_free.patch |   33 +
 ...011-initialize-front-back-wayland-buffers.patch |   34 +
 .../userland/userland/0012-Remove-RPC_FLUSH.patch  |   27 +
 .../userland/0013-fix-cmake-dependency-race.patch  |   78 +
 .../0014-Fix-enum-conversion-warnings.patch        |   99 ++
 recipes-graphics/userland/userland_git.bb          |   33 +-
 recipes-graphics/wayland/weston_%.bbappend         |    4 +
 recipes-graphics/weston/weston_%.bbappend          |    7 +
 recipes-kernel/linux/linux-raspberrypi_4.1.bb      |    4 +-
 ...raspberrypi_4.1.bb => linux-raspberrypi_4.4.bb} |    6 +-
 .../gstreamer1.0-omx/0001-config-files-path.patch  |  137 ++
 ...o-acquire-buffer-when-src-pad-isn-t-activ.patch |   47 +
 .../0003-fix-decoder-flushing.patch                |   15 +
 .../0003-no-timeout-on-get-state.patch             |   16 +
 ...erly-handle-drain-requests-while-flushing.patch |   69 +
 ...-gst_omx_video_dec_set_format-if-there-s-.patch |   30 +
 .../gstreamer/gstreamer1.0-omx_%.bbappend          |   22 +
 42 files changed, 4114 insertions(+), 106 deletions(-)
 create mode 100644 recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
 create mode 100644 recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
 rename recipes-devtools/python/{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb} (70%)
 create mode 100644 recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
 create mode 100644 recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch
 create mode 100644 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
 create mode 100644 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
 delete mode 100644 recipes-graphics/userland/userland/0001-fix-gcc-5.x-inlines.patch
 delete mode 100644 recipes-graphics/userland/userland/0002-fix-musl-build.patch
 delete mode 100644 recipes-graphics/userland/userland/0003-fix-alloc-size-uninitialized.patch
 create mode 100644 recipes-graphics/userland/userland/0005-Allow-applications-to-set-next-resource-handle.patch
 create mode 100644 recipes-graphics/userland/userland/0006-wayland-Add-support-for-the-Wayland-winsys.patch
 create mode 100644 recipes-graphics/userland/userland/0007-wayland-Add-Wayland-example.patch
 create mode 100644 recipes-graphics/userland/userland/0008-wayland-egl-Add-bcm_host-to-dependencies.patch
 create mode 100644 recipes-graphics/userland/userland/0009-interface-remove-faulty-assert-to-make-weston-happy-.patch
 create mode 100644 recipes-graphics/userland/userland/0010-zero-out-wl-buffers-in-egl_surface_free.patch
 create mode 100644 recipes-graphics/userland/userland/0011-initialize-front-back-wayland-buffers.patch
 create mode 100644 recipes-graphics/userland/userland/0012-Remove-RPC_FLUSH.patch
 create mode 100644 recipes-graphics/userland/userland/0013-fix-cmake-dependency-race.patch
 create mode 100644 recipes-graphics/userland/userland/0014-Fix-enum-conversion-warnings.patch
 create mode 100644 recipes-graphics/wayland/weston_%.bbappend
 create mode 100644 recipes-graphics/weston/weston_%.bbappend
 copy recipes-kernel/linux/{linux-raspberrypi_4.1.bb => linux-raspberrypi_4.4.bb} (50%)
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-config-files-path.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-fix-decoder-flushing.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-no-timeout-on-get-state.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-Properly-handle-drain-requests-while-flushing.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/23 userland: Upgrade to latest git master

Drop upstreamed patches 0002-fix-musl-build.patch was partially upstreamed git'ify the remaining patches

Change license field to BSD 3 clause, since thats what the licence it with BCM and RPI Copyrights

Licence changed from Broadcom to Raspberry Pi Ltd

see commit 0863709b9fb90ee1204b7fe52f69535830d3c111

Author: popcornmix <[email protected]>
Date:   Mon Feb 1 21:07:02 2016 +0000

Update copyright

LICENCE +1 -0
index 2582681..dea4c26 100644
@@ -1,4 +1,5 @@
 Copyright (c) 2012, Broadcom Europe Ltd
+Copyright (c) 2015, Raspberry Pi (Trading) Ltd
 All rights reserved.
 
---
 ...LINE_DECL-to-not-use-extern-inlines-in-de.patch | 45 ++++++++++++++++++++++
 .../userland/0001-fix-gcc-5.x-inlines.patch        | 26 -------------
 .../userland/userland/0002-fix-musl-build.patch    | 22 -----------
 .../userland/0002-musl-inspired-fixed.patch        | 29 ++++++++++++++
 .../0003-fix-alloc-size-uninitialized.patch        | 13 -------
 ...h => 0003-set-VMCS_INSTALL_PREFIX-to-usr.patch} |  7 ++--
 ...ake-generate-and-install-pkgconfig-files.patch} | 20 +++++-----
 recipes-graphics/userland/userland_git.bb          | 15 ++++----
 8 files changed, 94 insertions(+), 83 deletions(-)
 create mode 100644 recipes-graphics/userland/userland/0001-Fix-VCOS_INLINE_DECL-to-not-use-extern-inlines-in-de.patch
 delete mode 100644 recipes-graphics/userland/userland/0001-fix-gcc-5.x-inlines.patch
 delete mode 100644 recipes-graphics/userland/userland/0002-fix-musl-build.patch
 create mode 100644 recipes-graphics/userland/userland/0002-musl-inspired-fixed.patch
 delete mode 100644 recipes-graphics/userland/userland/0003-fix-alloc-size-uninitialized.patch
 rename recipes-graphics/userland/userland/{0002-set-VMCS_INSTALL_PREFIX-to-usr.patch => 0003-set-VMCS_INSTALL_PREFIX-to-usr.patch} (85%)
 rename recipes-graphics/userland/userland/{0003-cmake-generate-and-install-pkgconfig-files.patch => 0004-cmake-generate-and-install-pkgconfig-files.patch} (87%)
recipes-graphics/userland/userland/0001-Fix-VCOS_INLINE_DECL-to-not-use-extern-inlines-in-de.patch new file +45 -0

45 lines not on this page · raw message

recipes-graphics/userland/userland/0001-fix-gcc-5.x-inlines.patch deleted +0 -26
deleted file mode 100644
index 57f3518..0000000
@@ -1,26 +0,0 @@
---- userland-fb11b39d97371c076eef7c85bbcab5733883a41e.orig/interface/vcos/vcos_types.h
-+++ userland-fb11b39d97371c076eef7c85bbcab5733883a41e/interface/vcos/vcos_types.h
-@@ -121,10 +121,10 @@
- #if defined(NDEBUG)
- 
- #ifdef __GNUC__
--# define VCOS_INLINE_DECL extern __inline__
-+# define VCOS_INLINE_DECL extern
- # define VCOS_INLINE_IMPL static __inline__
- #else
--# define VCOS_INLINE_DECL static _VCOS_INLINE   /* declare a func */
-+# define VCOS_INLINE_DECL extern
- # define VCOS_INLINE_IMPL static _VCOS_INLINE   /* implement a func inline */
- #endif
- 
---- userland-fb11b39d97371c076eef7c85bbcab5733883a41e.orig/interface/vcos/pthreads/vcos_platform_types.h
-+++ userland-fb11b39d97371c076eef7c85bbcab5733883a41e/interface/vcos/pthreads/vcos_platform_types.h
-@@ -61,7 +61,7 @@
- #define VCOS_ASSERT_MSG(...) ((VCOS_ASSERT_LOGGING && !VCOS_ASSERT_LOGGING_DISABLE) ? vcos_pthreads_logging_assert(__FILE__, __func__, __LINE__, __VA_ARGS__) : (void)0)
- 
- #define VCOS_INLINE_BODIES
--#define VCOS_INLINE_DECL extern __inline__
-+#define VCOS_INLINE_DECL extern
- #define VCOS_INLINE_IMPL static __inline__
- 
- #ifdef __cplusplus
recipes-graphics/userland/userland/0002-fix-musl-build.patch deleted +0 -22
deleted file mode 100644
index 2fb11e7..0000000
@@ -1,22 +0,0 @@
---- userland-d4aa617de3b196399bb8e2ce32e181768cb52179.orig/host_applications/linux/apps/raspicam/RaspiVidYUV.c
-+++ userland-d4aa617de3b196399bb8e2ce32e181768cb52179/host_applications/linux/apps/raspicam/RaspiVidYUV.c
-@@ -106,8 +106,6 @@
- /// Run/record forever
- #define WAIT_METHOD_FOREVER        4
- 
--extern FILE *stderr, *stdout;
--
- int mmal_status_to_int(MMAL_STATUS_T status);
- static void signal_handler(int signal_number);
- 
---- userland-d4aa617de3b196399bb8e2ce32e181768cb52179.orig/host_applications/linux/libs/debug_sym/debug_sym.c
-+++ userland-d4aa617de3b196399bb8e2ce32e181768cb52179/host_applications/linux/libs/debug_sym/debug_sym.c
-@@ -67,6 +67,8 @@
- # else
- #  define PAGE_SIZE   4096
- # endif
-+#endif
-+#ifndef PAGE_MASK
- #define PAGE_MASK   (~(PAGE_SIZE - 1))
- #endif
- 
recipes-graphics/userland/userland/0002-musl-inspired-fixed.patch new file +29 -0
new file mode 100644
index 0000000..bbb670d
@@ -0,0 +1,29 @@
+From 9856330f54c181e388df6f261c705e01500cf0bb Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 6 Feb 2016 11:03:10 -0800
+Subject: [PATCH 02/16] musl inspired fixed
+
+stderr and stdout are not FILE pointers as per standards
+define PAGE_MASK if its not defined already
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ host_applications/linux/libs/debug_sym/debug_sym.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/host_applications/linux/libs/debug_sym/debug_sym.c b/host_applications/linux/libs/debug_sym/debug_sym.c
+index 8886f99..c7ace37 100755
+--- a/host_applications/linux/libs/debug_sym/debug_sym.c
++++ b/host_applications/linux/libs/debug_sym/debug_sym.c
+@@ -67,6 +67,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ # else
+ #  define PAGE_SIZE   4096
+ # endif
++#endif
++#ifndef PAGE_MASK
+ #define PAGE_MASK   (~(PAGE_SIZE - 1))
+ #endif
+ 
+-- 
+2.7.0
+
recipes-graphics/userland/userland/0003-fix-alloc-size-uninitialized.patch deleted +0 -13
deleted file mode 100644
index 7dd6436..0000000
@@ -1,13 +0,0 @@
-diff --git a/host_applications/linux/apps/smem/smem.c b/host_applications/linux/apps/smem/smem.c
-index f780b79..618580e 100644
---- a/host_applications/linux/apps/smem/smem.c
-+++ b/host_applications/linux/apps/smem/smem.c
-@@ -192,7 +192,7 @@ int main( int argc, char **argv )
-    int  opt;
-    int  opt_alloc = 0;
-    int  opt_status = 0;
--   uint32_t alloc_size;
-+   uint32_t alloc_size = 0;
-    int  opt_pid = -1;
-    VCSM_STATUS_T status_mode = VCSM_STATUS_NONE;
- 
recipes-graphics/userland/userland/0003-set-VMCS_INSTALL_PREFIX-to-usr.patch renamed from recipes-graphics/userland/userland/0002-set-VMCS_INSTALL_PREFIX-to-usr.patch +3 -4
similarity index 85%
rename from recipes-graphics/userland/userland/0002-set-VMCS_INSTALL_PREFIX-to-usr.patch
rename to recipes-graphics/userland/userland/0003-set-VMCS_INSTALL_PREFIX-to-usr.patch
index 1c981af..2829196 100644
@@ -1,13 +1,12 @@
-From 05554d8486050546efc3c0605015786c8b267d19 Mon Sep 17 00:00:00 2001
+From 8792a3645822c3ee2cea74def2a48e3e7f247ee1 Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sun, 9 Aug 2015 23:58:17 -0700
-Subject: [PATCH 1/2] set VMCS_INSTALL_PREFIX to /usr
+Subject: [PATCH 03/16] set VMCS_INSTALL_PREFIX to /usr
 
 in OE we dont use /opt/vc but standard prefix
 
 Signed-off-by: Khem Raj <[email protected]>
 ---
-Upstream-Status: Submitted
  makefiles/cmake/vmcs.cmake | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
@@ -25,5 +24,5 @@ index 0f8641b..e9d576d 100644
  
  SET(CMAKE_INSTALL_PREFIX "${VMCS_INSTALL_PREFIX}" CACHE INTERNAL "Prefix
 -- 
-2.1.4
+2.7.0
 
recipes-graphics/userland/userland/0004-cmake-generate-and-install-pkgconfig-files.patch renamed from recipes-graphics/userland/userland/0003-cmake-generate-and-install-pkgconfig-files.patch +10 -10
similarity index 87%
rename from recipes-graphics/userland/userland/0003-cmake-generate-and-install-pkgconfig-files.patch
rename to recipes-graphics/userland/userland/0004-cmake-generate-and-install-pkgconfig-files.patch
index c644d52..aa209b2 100644
@@ -1,20 +1,19 @@
-From ef43e09c2d13b88c2e92cffc94b68003afcb1f13 Mon Sep 17 00:00:00 2001
+From 59fd98d2ee9076c08d020167e5176e2e3e669917 Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sun, 9 Aug 2015 23:59:32 -0700
-Subject: [PATCH 2/2] cmake: generate and install pkgconfig files
+Subject: [PATCH 04/17] cmake: generate and install pkgconfig files
 
 many packages expect packageconfig support especially for detecting EGL
 libraries. This patch helps in compiling those packages on RPi
 
 Signed-off-by: Khem Raj <[email protected]>
 ---
-Upstream-Status: Submitted
  CMakeLists.txt           | 10 +++++++++-
  pkgconfig/bcm_host.pc.in | 10 ++++++++++
- pkgconfig/egl.pc.in      | 12 ++++++++++++
+ pkgconfig/egl.pc.in      | 13 +++++++++++++
  pkgconfig/glesv2.pc.in   | 12 ++++++++++++
  pkgconfig/vg.pc.in       | 11 +++++++++++
- 5 files changed, 54 insertions(+), 1 deletion(-)
+ 5 files changed, 55 insertions(+), 1 deletion(-)
  create mode 100644 pkgconfig/bcm_host.pc.in
  create mode 100644 pkgconfig/egl.pc.in
  create mode 100644 pkgconfig/glesv2.pc.in
@@ -58,10 +57,10 @@ index 0000000..c7237c5
 +Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM
 diff --git a/pkgconfig/egl.pc.in b/pkgconfig/egl.pc.in
 new file mode 100644
-index 0000000..4e3d6ac
+index 0000000..27a6236
 --- /dev/null
 +++ b/pkgconfig/egl.pc.in
-@@ -0,0 +1,12 @@
+@@ -0,0 +1,13 @@
 +prefix=@CMAKE_INSTALL_PREFIX@
 +exec_prefix=${prefix}
 +libdir=${exec_prefix}/lib
@@ -71,8 +70,9 @@ index 0000000..4e3d6ac
 +Description: Fake EGL package for RPi
 +Version: 10
 +Requires: bcm_host
-+Libs: -L${libdir} -lEGL
-+Cflags: -I${includedir}
++Libs: -L${libdir} -lEGL -lGLESv2 -lbcm_host -lvchostif
++Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux \
++        -I${includedir}/interface/vcos/pthreads
 +
 diff --git a/pkgconfig/glesv2.pc.in b/pkgconfig/glesv2.pc.in
 new file mode 100644
@@ -110,5 +110,5 @@ index 0000000..8c39c98
 +Libs: -L${libdir} -lOpenVG
 +Cflags: -I${includedir}
 -- 
-2.1.4
+2.7.1
 
recipes-graphics/userland/userland_git.bb +7 -8
index 5bf4dda..4323228 100644
@@ -2,8 +2,8 @@ DESCRIPTION = "This repository contains the source code for the ARM side \
 libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib \
 and includes source for the ARM side code to interface to: EGL, mmal, GLESv2,\
 vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
-LICENSE = "Broadcom"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=957f6640d5e2d2acfce73a36a56cb32f"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196"
 
 PR = "r5"
 
@@ -14,15 +14,14 @@ COMPATIBLE_MACHINE = "raspberrypi"
 
 SRCBRANCH = "master"
 SRCFORK = "raspberrypi"
-SRCREV = "40e377862410371a9962db79b81fd4f0f266430a"
+SRCREV = "2a4af2192c0e161555fdb2a12e902b587166c4a6"
 
 SRC_URI = "\
     git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
-    file://0001-fix-gcc-5.x-inlines.patch \
-    file://0002-fix-musl-build.patch \
-    file://0003-fix-alloc-size-uninitialized.patch \
-    file://0002-set-VMCS_INSTALL_PREFIX-to-usr.patch \
-    file://0003-cmake-generate-and-install-pkgconfig-files.patch \
+    file://0001-Fix-VCOS_INLINE_DECL-to-not-use-extern-inlines-in-de.patch \
+    file://0002-musl-inspired-fixed.patch \
+    file://0003-set-VMCS_INSTALL_PREFIX-to-usr.patch \
+    file://0004-cmake-generate-and-install-pkgconfig-files.patch \
     "
 
 S = "${WORKDIR}/git"
Signature · 1 line
1.9.1
author
#2 lore raw

PATCH 2/23 userland: Fix build with clang compiler

In reply to Khem Raj

ends up with some warning cleanups and extern inline semantics changes

---
 .../0005-user-vcsm-Fix-build-with-clang.patch      |  44 ++++++
 .../0006-Fix-enum-type-conversion-warnings.patch   | 166 +++++++++++++++++++++
 ...rm_types-Dont-use-extern-inline-with-clan.patch |  84 +++++++++++
 recipes-graphics/userland/userland_git.bb          |   6 +-
 4 files changed, 298 insertions(+), 2 deletions(-)
 create mode 100644 recipes-graphics/userland/userland/0005-user-vcsm-Fix-build-with-clang.patch
 create mode 100644 recipes-graphics/userland/userland/0006-Fix-enum-type-conversion-warnings.patch
 create mode 100644 recipes-graphics/userland/userland/0007-vcos_platform_types-Dont-use-extern-inline-with-clan.patch
recipes-graphics/userland/userland/0005-user-vcsm-Fix-build-with-clang.patch new file +44 -0
new file mode 100644
index 0000000..dd07798
@@ -0,0 +1,44 @@
+From 5cfb274f036726a85bb45fd82652d55f50208954 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sun, 23 Aug 2015 13:17:33 -0700
+Subject: [PATCH 05/16] user-vcsm: Fix build with clang
+
+/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/raspberrypi2-angstrom-linux-gnueabi/userland/git-r5/git/host_applications/linux/libs/sm/user-vcsm.c:316:36: error: implicit conversion from enumeration
+      type 'enum vmcs_sm_cache_e' to different enumeration type 'VCSM_CACHE_TYPE_T' [-Werror,-Wenum-conversion]
+   return vcsm_malloc_cache( size, VMCS_SM_CACHE_NONE, name );
+          ~~~~~~~~~~~~~~~~~        ^~~~~~~~~~~~~~~~~~
+/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/raspberrypi2-angstrom-linux-gnueabi/userland/git-r5/git/host_applications/linux/libs/sm/user-vcsm.c:339:22: error: equality comparison with extraneous
+      parentheses [-Werror,-Wparentheses-equality]
+   if ( (vcsm_handle == VCSM_INVALID_HANDLE) )
+         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ host_applications/linux/libs/sm/user-vcsm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/host_applications/linux/libs/sm/user-vcsm.c b/host_applications/linux/libs/sm/user-vcsm.c
+index 4e78dc4..5298f25 100644
+--- a/host_applications/linux/libs/sm/user-vcsm.c
++++ b/host_applications/linux/libs/sm/user-vcsm.c
+@@ -313,7 +313,7 @@ unsigned int vcsm_malloc_cache( unsigned int size, VCSM_CACHE_TYPE_T cache, char
+ */
+ unsigned int vcsm_malloc( unsigned int size, char *name )
+ {
+-   return vcsm_malloc_cache( size, VMCS_SM_CACHE_NONE, name );
++   return vcsm_malloc_cache( size, (VCSM_CACHE_TYPE_T)VMCS_SM_CACHE_NONE, name );
+ }
+ 
+ /* Shares an allocated block of memory.
+@@ -336,7 +336,7 @@ unsigned int vcsm_malloc_share( unsigned int handle )
+    void *usr_ptr = NULL;
+    int rc;
+ 
+-   if ( (vcsm_handle == VCSM_INVALID_HANDLE) )
++   if ( vcsm_handle == VCSM_INVALID_HANDLE )
+    {
+       vcos_log_error( "[%s]: [%d]: NULL size or invalid device!",
+                       __func__,
+-- 
+2.7.0
+
recipes-graphics/userland/userland/0006-Fix-enum-type-conversion-warnings.patch new file +166 -0

166 lines not on this page · raw message

recipes-graphics/userland/userland/0007-vcos_platform_types-Dont-use-extern-inline-with-clan.patch new file +84 -0

84 lines not on this page · raw message

recipes-graphics/userland/userland_git.bb +4 -2
index 4323228..bbba080 100644
@@ -22,8 +22,10 @@ SRC_URI = "\
     file://0002-musl-inspired-fixed.patch \
     file://0003-set-VMCS_INSTALL_PREFIX-to-usr.patch \
     file://0004-cmake-generate-and-install-pkgconfig-files.patch \
-    "
-
+    file://0005-user-vcsm-Fix-build-with-clang.patch \
+    file://0006-Fix-enum-type-conversion-warnings.patch \
+    file://0007-vcos_platform_types-Dont-use-extern-inline-with-clan.patch \
+"
 S = "${WORKDIR}/git"
 
 inherit cmake pkgconfig
Signature · 1 line
1.9.1
author
#3 lore raw

PATCH 3/23 userland: Add wayland support

In reply to Khem Raj

backport and fix needed patches for supporting wayland-egl use PACKAGECONFIG for wayland so we can add proper DEPENDS on wayland Fix QA warnings about dev-so

---
 ...-applications-to-set-next-resource-handle.patch |  208 +++
 ...ayland-Add-support-for-the-Wayland-winsys.patch | 1880 ++++++++++++++++++++
 .../0010-wayland-Add-Wayland-example.patch         |  866 +++++++++
 ...-wayland-egl-Add-bcm_host-to-dependencies.patch |   28 +
 ...emove-faulty-assert-to-make-weston-happy-.patch |   29 +
 ...3-zero-out-wl-buffers-in-egl_surface_free.patch |   33 +
 ...014-initialize-front-back-wayland-buffers.patch |   34 +
 recipes-graphics/userland/userland_git.bb          |   16 +-
 8 files changed, 3093 insertions(+), 1 deletion(-)
 create mode 100644 recipes-graphics/userland/userland/0008-Allow-applications-to-set-next-resource-handle.patch
 create mode 100644 recipes-graphics/userland/userland/0009-wayland-Add-support-for-the-Wayland-winsys.patch
 create mode 100644 recipes-graphics/userland/userland/0010-wayland-Add-Wayland-example.patch
 create mode 100644 recipes-graphics/userland/userland/0011-wayland-egl-Add-bcm_host-to-dependencies.patch
 create mode 100644 recipes-graphics/userland/userland/0012-interface-remove-faulty-assert-to-make-weston-happy-.patch
 create mode 100644 recipes-graphics/userland/userland/0013-zero-out-wl-buffers-in-egl_surface_free.patch
 create mode 100644 recipes-graphics/userland/userland/0014-initialize-front-back-wayland-buffers.patch
recipes-graphics/userland/userland/0008-Allow-applications-to-set-next-resource-handle.patch new file +208 -0
new file mode 100644
index 0000000..bf6511d
@@ -0,0 +1,208 @@
+From b5295cb247dfb062843f4a4c9996186e865d0cc2 Mon Sep 17 00:00:00 2001
+From: Dom Cobley <[email protected]>
+Date: Tue, 9 Jul 2013 09:26:26 -0400
+Subject: [PATCH 08/16] Allow applications to set next resource handle
+
+This patch adds provisions in userland to
+let apps callers set the next rendereing dispmanx resource.
+It's useful for implementing, say, a buffer carousel.
+---
+ interface/khronos/common/khrn_client_rpc.h |  2 ++
+ interface/khronos/common/khrn_int_ids.h    |  2 ++
+ interface/khronos/egl/egl_client.c         | 30 +++++++++++++++++++++++++++---
+ interface/khronos/egl/egl_client_surface.c | 24 +++++++++++++++++++++++-
+ interface/khronos/egl/egl_client_surface.h |  3 ++-
+ interface/khronos/egl/egl_int_impl.h       |  5 +++--
+ 6 files changed, 59 insertions(+), 7 deletions(-)
+
+diff --git a/interface/khronos/common/khrn_client_rpc.h b/interface/khronos/common/khrn_client_rpc.h
+index 418aa67..a7557a8 100644
+--- a/interface/khronos/common/khrn_client_rpc.h
++++ b/interface/khronos/common/khrn_client_rpc.h
+@@ -683,6 +683,7 @@ static INLINE void rpc_call12_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
+ static INLINE void rpc_call13_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, void *out)               { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);      rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
+ static INLINE void rpc_call14_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
+ static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
++static INLINE void rpc_call16_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, uint32_t p14, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
+ #endif
+ 
+ #define RPC_CALL1_OUT_CTRL(fn, thread, id, out)                                               rpc_call1_out_ctrl(thread, id, out)
+@@ -700,6 +701,7 @@ static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
+ #define RPC_CALL13_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out)      rpc_call13_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out)
+ #define RPC_CALL14_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out) rpc_call14_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out)
+ #define RPC_CALL15_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out) rpc_call15_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out)
++#define RPC_CALL16_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, out) rpc_call16_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, out)
+ 
+ # if !defined(__SYMBIAN32__)  //use functions defined in khrpc.cpp
+ static INLINE uint32_t rpc_call1_out_ctrl_res(CLIENT_THREAD_STATE_T *thread,uint32_t id, void *out)                                                                                                                       { uint32_t res; rpc_begin(thread); RPC_CALL(thread, id);                                     res = rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_RES | RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); return res; }
+diff --git a/interface/khronos/common/khrn_int_ids.h b/interface/khronos/common/khrn_int_ids.h
+index 8378f4a..ec961e0 100644
+--- a/interface/khronos/common/khrn_int_ids.h
++++ b/interface/khronos/common/khrn_int_ids.h
+@@ -367,6 +367,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+ 
+ #define EGLINTCREATESURFACE_ID            0x4000
++#define EGLINTCREATESURFACE_ID_V2         0x4100
+ #define EGLINTCREATEGLES11_ID             0x4001
+ #define EGLINTCREATEGLES20_ID             0x4002
+ #define EGLINTCREATEVG_ID                 0x4003
+@@ -377,6 +378,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #define EGLINTMAKECURRENT_ID              0x4008
+ #define EGLINTFLUSHANDWAIT_ID             0x4009
+ #define EGLINTSWAPBUFFERS_ID              0x400a
++#define EGLINTSWAPBUFFERS_ID_V2           0x410a
+ #define EGLINTSELECTMIPMAP_ID             0x400b
+ #define EGLINTFLUSH_ID                    0x400c
+ #define EGLINTGETCOLORDATA_ID             0x400d
+diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
+index 472ef0c..234da65 100644
+--- a/interface/khronos/egl/egl_client.c
++++ b/interface/khronos/egl/egl_client.c
+@@ -162,6 +162,17 @@ static void egl_current_release(CLIENT_PROCESS_STATE_T *process, EGL_CURRENT_T *
+ void egl_gl_flush_callback(bool wait);
+ void egl_vg_flush_callback(bool wait);
+ 
++#include "interface/vmcs_host/vc_dispmanx_types.h"
++/**HACKHACK - give us the ability to inject a DispmanX 
++ * resource handle into the CreateWindowSurface and 
++ * SwapBuffers calls */ 
++static DISPMANX_RESOURCE_HANDLE_T next_resource_handle;
++
++EGLAPI EGLBoolean EGLAPIENTRY eglSetNextResourceHandle(DISPMANX_RESOURCE_HANDLE_T handle)
++{
++   next_resource_handle = handle;
++}
++
+ /*
+ TODO: do an RPC call to make sure the Khronos vll is loaded (and that it stays loaded until eglTerminate)
+ Also affects global image (and possibly others?)
+@@ -644,7 +655,8 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig c
+                                 false,
+                                 EGL_NO_TEXTURE,
+                                 EGL_NO_TEXTURE,
+-                                0, 0);
++                                0, 0,
++                                next_resource_handle);
+ 
+                if (surface) {
+                   if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
+@@ -889,7 +901,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig
+                              mipmap_texture,
+                              texture_format,
+                              texture_target,
+-                             0, 0);
++                             0, 0, 0);
+ 
+             if (surface) {
+                if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
+@@ -1031,7 +1043,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig c
+                                    false,
+                                    EGL_NO_TEXTURE,
+                                    EGL_NO_TEXTURE,
+-                                   pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle);
++                                   pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle, 0);
+ 
+                      if (surface) {
+                         if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
+@@ -2303,6 +2315,18 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
+ 
+                vcos_log_trace("eglSwapBuffers server call");
+ 
++               if (next_resource_handle)
++               RPC_CALL7(eglIntSwapBuffers_impl,
++                     thread,
++                     EGLINTSWAPBUFFERS_ID_V2,
++                     RPC_UINT(surface->serverbuffer),
++                     RPC_UINT(surface->width),
++                     RPC_UINT(surface->height),
++                     RPC_UINT(surface->internal_handle),
++                     RPC_UINT(surface->swap_behavior == EGL_BUFFER_PRESERVED ? 1 : 0),
++                     RPC_UINT(khrn_platform_get_window_position(surface->win)),
++                     RPC_INT(next_resource_handle));
++               else
+                RPC_CALL6(eglIntSwapBuffers_impl,
+                      thread,
+                      EGLINTSWAPBUFFERS_ID,
+diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
+index 0fa1fd1..0dc10e2 100644
+--- a/interface/khronos/egl/egl_client_surface.c
++++ b/interface/khronos/egl/egl_client_surface.c
+@@ -314,7 +314,8 @@ EGL_SURFACE_T *egl_surface_create(
+    EGLenum texture_format,
+    EGLenum texture_target,
+    EGLNativePixmapType pixmap,
+-   const uint32_t *pixmap_server_handle)
++   const uint32_t *pixmap_server_handle,
++   DISPMANX_RESOURCE_HANDLE_T next_resource_handle)
+ {
+    KHRN_IMAGE_FORMAT_T color;
+    KHRN_IMAGE_FORMAT_T depth;
+@@ -473,6 +474,27 @@ EGL_SURFACE_T *egl_surface_create(
+ #endif
+          uint32_t results[3];
+ 
++         if (next_resource_handle)
++         RPC_CALL16_OUT_CTRL(eglIntCreateSurface_impl,
++                             thread,
++                             EGLINTCREATESURFACE_ID_V2,
++                             RPC_UINT(serverwin),
++                             RPC_UINT(buffers),
++                             RPC_UINT(width),
++                             RPC_UINT(height),
++                             RPC_UINT(color),
++                             RPC_UINT(depth),
++                             RPC_UINT(mask),
++                             RPC_UINT(multi),
++                             RPC_UINT(largest_pbuffer),
++                             RPC_UINT(mipmap_texture),
++                             RPC_UINT(config_depth_bits),
++                             RPC_UINT(config_stencil_bits),
++                             RPC_UINT(sem_name),
++                             RPC_UINT(type),
++                             RPC_INT(next_resource_handle),
++                             results);
++         else
+          RPC_CALL15_OUT_CTRL(eglIntCreateSurface_impl,
+                              thread,
+                              EGLINTCREATESURFACE_ID,
+diff --git a/interface/khronos/egl/egl_client_surface.h b/interface/khronos/egl/egl_client_surface.h
+index c99d44c..b5bf70a 100644
+--- a/interface/khronos/egl/egl_client_surface.h
++++ b/interface/khronos/egl/egl_client_surface.h
+@@ -322,7 +322,8 @@ extern EGL_SURFACE_T *egl_surface_create(
+    EGLenum texture_format,
+    EGLenum texture_target,
+    EGLNativePixmapType pixmap,
+-   const uint32_t *pixmap_server_handle);
++   const uint32_t *pixmap_server_handle,
++   DISPMANX_RESOURCE_HANDLE_T next_resource_handle);
+ extern EGL_SURFACE_T *egl_surface_from_vg_image(
+    VGImage vg_handle,
+    EGLSurface name,
+diff --git a/interface/khronos/egl/egl_int_impl.h b/interface/khronos/egl/egl_int_impl.h
+index 8a5734c..51b3580 100644
+--- a/interface/khronos/egl/egl_int_impl.h
++++ b/interface/khronos/egl/egl_int_impl.h
+@@ -56,7 +56,8 @@ FN(int, eglIntCreateSurface_impl, (
+    uint32_t config_stencil_bits,
+    uint32_t sem,
+    uint32_t type,
+-   uint32_t *results))
++   uint32_t *results,
++   DISPMANX_RESOURCE_HANDLE_T next_resource_handle))
+ 
+ FN(int, eglIntCreatePbufferFromVGImage_impl, (
+    VGImage vg_handle,
+@@ -110,7 +111,7 @@ FN(void, eglIntMakeCurrent_impl, (uint32_t pid_0, uint32_t pid_1, uint32_t glver
+ FN(int, eglIntFlushAndWait_impl, (uint32_t flushgl, uint32_t flushvg))
+ FN(void, eglIntFlush_impl, (uint32_t flushgl, uint32_t flushvg))
+ 
+-FN(void, eglIntSwapBuffers_impl, (EGL_SURFACE_ID_T s, uint32_t width, uint32_t height, uint32_t handle, uint32_t preserve, uint32_t position))
++FN(void, eglIntSwapBuffers_impl, (EGL_SURFACE_ID_T s, uint32_t width, uint32_t height, uint32_t handle, uint32_t preserve, uint32_t position, DISPMANX_RESOURCE_HANDLE_T new_back_buffer))
+ FN(void, eglIntSelectMipmap_impl, (EGL_SURFACE_ID_T s, int level))
+ 
+ FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
+-- 
+2.7.0
+
recipes-graphics/userland/userland/0009-wayland-Add-support-for-the-Wayland-winsys.patch new file +1880 -0

1,880 lines not on this page · raw message

recipes-graphics/userland/userland/0010-wayland-Add-Wayland-example.patch new file +53 -0

53 lines not on this page · raw message

$(1&0)*4=&.<"-,9E:JV2CP(8F$5==NW$5>3AJ/>G.>G2=G'2<3CL-<E2CL3DM9HP/;E#,6;?J$4A#,/<E(2$.$(1"(1$!*4(1>'3?1?K=MZ8HQ(;B7FM?OVGW^BRYBRY=MT/?F0AH4=F@IR5=D@HO(-5.59,/41498=DFNUFPX?KN>NPAMQBNR<IJBJQ<FM<GM;IOy��~��|��x��]tpv��^wlUja\nfdvr_jnt�`m{s��x��w��fw�[j~m}�^l.>K.>K5BP/9G/:H0=K.?L(9E.;H1AM3DP,@O+>M7GW/?L+9D1@H)7C+7F"/=1=K7DR2@L-<D,8A+9E"3@2BO9IV1?K(1;(/,=K9FR7CM)1 *$-(1;!,5(1?*2@(5@)8C,=H3CO:KX9JW2EL5EN6GP5FP5CLN\eKZcN]f?PY7JR7IQ7JR7HR0?H&2<5?I4BO"/+7C;GQ!+#.!*3&/#,5'0:*3@&2>2@LAQ^EV_BU\BRY@PW?OVAQX@PWAQXCSZCT[2>EAJS+5>DLS05<+1947<48<1:@@JQEQWESZFVXBRUAMQ<GK?IPAMR1>F>MVv��w��l��r��cvz^qnXkbRdV\nay��cqxw��cp~z��v��{��}��fw�hw�dq�(7D*71>K1<J"/=3@N4DQ,=J2BN3BP1@Q+>M(;J7GT8HT)9F.>J-=I.>K&5E4CS7GT3DO,<I0>K/=I(8E4DP8HU8FR(4>(0(:G3DQ7CL&18"+ )1%0:'0>'2@+6D*8F0<J,=J<KY:LW>P[8KS8KS9LT9LT6GP5FO:KT>LU5IQ9LT8NU9NV7KR5FO+53<E5CO!/;+:F8DQ",!+6"+5$-7'08&/9'0=(4@-;G?O[CT]>RYJYGW^=MTAQX?OVHX_AQXGW^/:BDOW6>H@IR-6<16=/6=45>/6??HQIU[GU[DRXBRTEQU=IM=JP=IN6BJ<KTp}eu�N]nQdw:JPWfiVf^M^Q`ndhts���ir�Wfobt|Xht\mzOancrJYbJW_-@O1@P5DT-<L.;K1@Q1AR-AP0@M3EQ*=L)<K)<K4GT9KV,=F3CP4DQ4DQ)8H7EV8HT2BO.>J3@L->K$4A-=M<MY7EQ*6@!,3,=N4DQ6DP%/9'.",6)3<*2?)7H+8I,9F->K0@M9IV<NY;MX;QX6LT:MU=OW:NU;LU=NW<MV;MY<MY;OZ<Q\:LW4EQ*6/7E/@M!.:+9E7CO(5",6!,6"+5)2;&/9&/<'3?*8DAQ^BS\-AH$4;(/ 07AQX<LS&6=(8?$5<+4?BLV2;CBLT28B-5<06=4:A39B>GPLV_ESXCTZCQWCQX?JN=JP9EK6CK;FP;IVUfs[kxSbtcv}kz}bnn������{��qw����_otv��arzp��bs|ex~lz�brt2IX0ET6IX-<M,;K1AQ3CS+>M.>K8HX2ET+>M)<K2ER9KV+<E3CO6FS6EU)8H3BR8GW3CP2BN6DP1BO)8I2BR6EU6BP-9B"+5/@Q4DQ9GS)2<$.#-7'0>'4?)9I+:J,;K/?K,<I4DQ7JU:LW5JR9NV<QY9OW<NVAT\EX`?RZ;JW9KV9KV;MX9LW8FR!.94<I1BO$5B/<H7EQ(5!+4#-7",6)1:&/8%.;%1<.<HCS_AQZ&9@5EL:JQ?OVBRYEU\<LS@PWCTZ3<FEOY1;EDNW07@18A39?27>1:C=FOHU]BSZFV\CSYESY@LR>GOBKS3?ELW_ERZ>ITM]fZir���aqw������xz�{~����{��^mv���FVb���n~�x��{��DPV0M[0LZ7M]1EU0AQ2BR4DT.AO0?L4CT2ET*>P+AP4HT;OU,=E3CO3CP5CT+:J2AQ:IY2CO/?K8FR3CP(8I1AQ9IY7HT2>J)3/@Q1AN:HT(4>$.%.8(0>(5@(5J+9L-<L0?O6FR9IV5DP;LX5MU9MU:PX:OW@V^AS[AT\?RYBQ^=LY:LX<NY9HU6DQ"*82:G3DQ&7D.:I2AM"/;"+9#-7 *5(19*3<*3A%2>(7C?O\HYb:NUBRYEU\CRY;KRFV]IX_:JQGW^1=H>HR.8CAIS09C.5>04>49@/8A>IQER[FW^DTZBRXDRX?JQ@KN=HK<FM7CI:FLAOVSagVbir��K^epy�ccstp~lhrvyx���cn~w��z��s��q�����goz~��?O\?NZ7FR1?K1>K2AQ/?P.?S/CO.AN3FU.>O*:K5EU9JX0@M2BO4DQ4DQ-=J2BO8IU5ER0@N4BN0@M"2?1AR8HT6DP.:C",6+<I:JV4EM(7@%/%2<'/=.6E*:A+9E,<I/>N.=N:JW8KV9MT7JR;NV<OWCU]>QYBU]<OWAT\=QXBU];NU;NV=QX3BJ(2/8A.<I+9E0<H8DN&0:$/8&/9&.7$0;)2<+5?.8A+4>=LUDU^>RZ>PWDV]CV]@RYEX_FX_ASZEY9EK<HN2<C?IP.6=6;B06=4:A7;D;BILX^KX^EU[?SVARU6HJ?HS:EN7AIGPTCLOGSTTdQac7JRJ[bS_e[gjo{~������|��Xqvt��r}���l��m��Zovo|�/>O8IV<LY0>J8ES4CS/?P.?R3FR2ER6IX0@Q,<M4DT8IV-=J2BO3CP4DQ-=J0@M5ER0@M.>K/=I2BO 0=1AR?O\7DP0<E"+5+<J9IU3EM+:C%/#/9&.<,5C,<D,:F*:G,:K/>N9IU;MX>RY:MU9LT8KS7JR@S[@S[>QYCV^=PX>QY=PX:MU:MU2AJ ,61;D;JV*8D6BN8DN*4>",6%.8&/8%1;)2<+5?,6@7@JAPYGXa-@H7GM2AH+;B1AHCSZ#3:$4;%5<)/4AG09@@KQ08?.7>27>39@9>G:BIIU[ESYCSZCSVBSV9JM<IQ;GM:EI?HL:ED?HKNZ\OZ^5HO8FM[gk_kmZeikv}t��x��_u{n~����r}�t��u��ct}x��':H%5E$1!2=$1,;K1AR0AU1DQ3FS4GV.>O.>O7GW9KW.>K4DQ6FS7GT0@M/?L9IV6FS-=J1?K-=J#3@/?P7GT8FR0;E!+50AN9IU5FO0?H&0!.7&/<,5C+;C,:F):G-;L,;K3CP7IT:MU8KS9LT=PX?RZ9LT=PX@S[CV^AT\?RZ=PX8KS<PX4CL$0:09C4CO-;G/;G:FP,6@!+5%.8$-6%1<)3=*4>,6@3<F>NW>OX!5=)9@%5<-=DAQXAQX4DK>NU?OV9DJBNT2?DBLS29@/8?27>5;B3:D6=DHTZESY@QW@QTCQT6EHETZ<HL6CEAIIbjj^gfV\_NVY?MTT`d\ijJVXFRUix����i|�������U\i}��o~�u��_o|PZd,?Q*=K5FS,<I-=J.>J3CS3EV3FS6IV3FU.>O,<M5EU9JW.=J1AN4DQ6FS.>K4DQ8HU4DQ/?L2@L3CQ%5B1ARIYf/=I3>H!*42CP6FR0AJ-<E)3#/9&/<.6E'7?*8D*:G0?O2AQ5ER:LW:MT<OW;NV@S[=PX9LT@S[EX`?RZ>QYBU]=PX?RZ:NU4CL&2<1;D4BO/=I2=J7DM/8B$.8)2<$-6*6@+5?-7A-7A5>H<LUCT];OWAQX<LSAQX:JQGW^AQXEU\DT[6DJ<JP2>DBKR+5<19@*3:4:A29B0:AFRX@NTFSZDTVBRT8CGFVXBMR2?A=FEMQRBGG:AD9>CCOSP\^forIUWKV\�����̳����y��fm|t|�t��{��lz�\er4K[1FT:NZ.?L.>K3CO1AQ4CU/BO3FS6IX/?P*:K4DT6HT1AN1AN3CP7GT0@M0@M8HU7GT/?L2@L4ER3CP+;L3CP4BN3?I)3=->K<LX7HP,;D ,6+5)2?.6E-=E-:G+<H,;K0?O8HT9KV<OV9LT<OW<OWBU]<OW?RZ;NVBU];NVAT\<OW;NV>QY4CL*6@09C6EQ3BN+7C<HR3=G#-7)1<&/8#/:-7A.8B-7A09D<LTGXaAU]DU[DT[@QX<MSBRYFW^PgFW^;IO1@F3>DFRX-8?,3:.6=-6<3:C.8?EQV@OU>MSCNRFRV6@E@PSIVX0<>>FECLKGMP',1/7>?JNEQRNWZ?KM>KR\mx]t�[t�_t�@O_LVgw��x��r��������2J]4L\>P/@M5EQ5ER2BS5EU2ER3FS1DS-=N)9J5EU7IU2AN3CP2BO4DQ.>K3CP9IV7GT.>K=KW.?L"2?3CS1AN1?K3?H,5?,=K9IU6GP-<E'1!-73;I(1?"2:9FS*:G,;K.=M5ER:LW<OV8KS<OW>QY?RZ=PX=PX<OWDW_?RZ>QY:MU?RZ:MU6EN-9C,6?4CO2@L*6B?KU7AK!+5*3=)1:)[email protected]<F7FOEV_=QYKW_ANV4AI#081>F>KS(0 )&4:0>D7EK:FL/9@&18+3:/7>18A.8?COU>JP>MS@LP>JN4<@AMQIUY1>?:BF<EH>ILhtzx��>IPDPTN[\?KM8GJ4GNp��n��h�����������������������0HZ4JZ<Q2CP4DP4DQ1BO5DU5HU5HU3FU/?P'7H5EU:KX5DQ4DQ3CP6FS/?L4DQ9IV;KX/?L3@L/?MYiv6FV8HT5CN5AJ,6@+<J6FR6GP-<E%1;'4='/=19HPh(6B0AN1@P.=N6FS=P[<OW8KS:MU<OW=PX8KS=PX>QY>QY:MU<OW=PX>QY>RY6DM0<F09C6DQ5CO)4A<HR8AK!+5&/9&/8(4>-7A,6@-7A/8B4CL;LUBV^$19$19.;C1>F8EM@MU5BJ;HP8IO:HN.<B<HN4AG-7>*5<+3:07@,6=BNT?KQDPVALP:BF5>A;HMGQY1<@=HL;GKCOWGXa2DP9IPCQXIUY=JLFUX;LS|��}��r��_v�hz�j�^z�]{�]u�\p�2M_+FV8M]/AN/AL4DO4ER:JW3ES3FS4GW0?Q*:L8HX:KX3BO/@M2BO7GT.?K0@L6GS;KX-=J8EP9IV���DSd7ES6CO5AJ/9B.?M6FR8IR/>G#/8&3<3:Gms�SbkAN[*:H0?O-<M3CP:MX5HP>QY9LT>QY?RZ=PX<OW>QY=PXARZ;NV:NU:NV:NU:GP5?J-5?4BO7ER)5B:FO>GQ*4>&/9)1:%1</9C-9B+7@/8B.<E<MV=RZCNX<HQDQYAMU:GN8EM&3<=ISCRX>NU7EK;FL;GM;EL:DK6>D6<F+4<?KQ=IPCPW?KO4>A9?C>GQ?IPHRYMV]KY_<PV@S_(AN4FP<MTHSZS^bFUWBU[OcoPitBc�Ke�Tl�Pj�Gj~Lp�Li�Tj�4EP6EQ4DP/<J/<0AM8KW.DP2JV)?K9LX1BN(9F6GT7JW.AN/;J6CQ4DQ*9J1@P3AS0@Q1AR0CTMbq���B^g2LU/AL:AO03C.=H9KV7JR0?H)/='-="2C���MejH]e/AL.<M1>N7DR>LX?PY9MU>QY?RZ>QY:MU?RZ?RZ>PX3SW>RZBN[BNZ7IWs��*AH"1:6BJ;HP.;C7GP5FN2>H1;E.7B$5>,5>43B12A0<H$6A/ALHSa=TT>RW>PWAS\*:C(6<>HMJWT>RW9MR6FL5FL8GM:GL?IP=GN9HK7FI;GK>IM@HLINS:@E=?D4AG?KQANTFPXCMT=GNBIP@FM7BH?JPGV\FTZJV_HX_JZPfN]hO^jM\hO^jM\hL[gM\hN^j*<I 3@%6C.>K.>J3CS6JX=Ra*BNG]i5HU<LY):G6GT5IV.AN0<J4AO2BO+:K0?O1>Q8IZ2AS/CUt�����;V`9R\[email protected];IBRc���OfkEYaEWb1AN5AO;GV<MY=NW;NV=PX?RZ>QY:MU>QY>QY>PX3SW9NVAMYAP^���TnwEYd!3;5AH;HP4AI7GP7CM4AK8BL8AK-AH1<D58C38B(6B���j~�?N\>RW:OSASZ?PY?MW@PV:LOERT@TY<OT9IO9JP<JP=IO>HO=FN<KN8HK:FK:EI9DH9CF39>;@E@LP=IMDOS>IMBMQ>JM<GK7BF:FJ;GKCQWGU\JX^GW\EU\GW^EU^FV_EU^HWHXaHWHXaIYb4LX,BN8KZ/?O-=M4DT5GX5IZ~��Lbn?Q^6GT*;H6GT7JW1DQ1=K4AO1BO-=J,:K4CS/@O/?O*>P���{��8S]?U7IT4?K27G5CO6JQ7JR4BK09F5=KScsq��LglH_fCT_+;I1=L8FQ;LU:KT<PW9LT9LT>QY;NV>QY=PX=PX7RX<QY>MZ*:G���l��Ij>MZ1?H:IR8GP5@J8DN7CM;GRAIT0FJ:HN>GP<EO *���u��ASeAUY?PXBU[@PZDV]=PU@SVCVX=QVAUZ?OU=KQ>MS@LR=JPBJR=LN8HJ8CG4AD0;>+7:6?B=FJ6<ABGL/9<ENR=HL3=A?KO;FJ>JNAMQGVYFUWIW]JZHX^HX^P[cR]eS^fVahUhWbjYdkYdl:T5K[4JY1CT5GX<M8H[;Pa���H^j>Q^/@M%6D3DQ6IV2ER1=K3@N1AN-=J.>K9IV7GW/?P,AW��Ј��Tlx<R\:LW5CO8@M4FN5IP4IR1BK;BO7AO���}��WpyI_jEYd>MY(8D4CP;LU;LU;NV<OW=PX;NV=PX=PX;NV<OW9U[>PX2AMFXh���y��CXgL[h6JP5FO9HQ;GQ8EO=GO>KS?KT6ML:LNBLTAOWJcn���i��DWnDU[ASZ?QW>QX@SZ@TY?TY@UZHX^EU[?PUGU[APU@LQ7CI7CI?MS=KQ?NS@KQ:FL.:@8AI#.58<@>BF9>CAJMDOS;GJ@OR@OQFRVEPUJY[JY\HV\BRXIY^Ufl_hqir^gphqajsbjthr^gp0KWKdp1GV-AO1CT0AT1DZGZos��Rgr7KV6HS+=H1CN5IT/CN.:I5BP4DQ2BO1AO8HU3DQ3DQ1I��dž��Nfq=S^:LW.;H9DP,=F6HQ2IN7HQ?JV,8I���Ut�F]hG]hDXc9KW*;C3DM=NW6IQ8KS<OW;NV<OW;NV=PX<OW>QY8QW>PX>N\Ym|���t��H_oETdH\g1CO:HQ:EP>IQ>IQ<IR>KQ9PP;MOBMU=NYi�����q��@UnCV]BU]BS\FX^BT[CV]>PWI]cEV]HYIV^IV^ANVCPXGT]KXNZcVckUbjTbjWdlCPXLW_S_g\]fX^dPX_XbiS_eP^dP]cL\cQ]aUadTchYgmWejXhoXio\mt_jqksbmtcnualtbmtks^iq���3GS4ER1AQ4DU7H[3I[|�����Lbm>R]<NY4FQ3EP5IT4HS)5C1>L1AN2BO6FR>NZ6HS3EPOh����q��Net?S]BT_7GS8FR5HN4KQ2HN4GO7DQO^n���o��IaqAXgEXcDW_(9B5EN:MU;NV<OW=PX<OWAT\;NV<OW;NV?RZ7NS<OV>N[������m��Ogyt��_z�:NY:JW@KUALT?IR=LQ?OU?SUAQW<LR7JU������e��BVn>OY@R^EV_BT\FW]CPY-4IV=JRCPXERZFS[KXMZbR_gUbjScjRbiPagThUbjZgnZgoWdl\enYaj]enWaiZgoZfnWgnVfm\go\goXemYgn\gq\ks\ks]mubmwlv]irZeo]isalv][email protected]^��݆��Ndo=P[8JU5GR6HS7KV2FQ0<M5BP0AN3CP3CO=LY8KS8KS��싢�w��BYhK]jI[eCR_.>J:LR2IN.GM5GO)9Feu����e��]u�D[jGZeGZb/BH:MT6IQ9LT;NV=PX<OW=PX;NV<OW;NV>QY;PX=NZ(;G���~��m��Hav���p��>T_5ER>GQDMVBNSCQWFV\ARWERZCMW6JU��Α��r��BWm:MZ?Q\8IRARXHUZXaj ++bepSaiYfnYfn[hpWdlZgo\iq]iqYhrWfoYhq[ktUdm[jsZir[js[jr]ktZjrZirZir[js[js]lu\fo^hr]ir_kw^jv\kv\iwYftWgsQamO_kRbnM]iM]iM]iN^jgsy=IQDOY:HT6FS4IX/HX��̅��BWc6JU8JU:LW7IT6KV4IS0<M8DR0@M7FS8HT(9ANah���t��Ws�OhzNdsLlr�����������z��{�������·�Պ��k��[q�AXhF\fOgI[a@RX%7>&;B(9A)<C-@G5HO7JP?QX@RYBRZ<QX1@Ks����ǐ��k��Tl���ꑮ�5NZ<LX@ITAISALR>KR9LM@MVAITHQ^1CO��ݑ��}�BWj@QaNbmYjsYhm]gmbjr���41@gu|gt|cpxanvcpxamvZkqSdkZhpWfn[irZhq]ktXiqWhq[ltZlxYlvaq}p|^o{ao{_ny^lxem{fm{amxbl{_hv\huZeuR]nL_lL_lL_lL_lJ^kI\iG[hFYgOjp2IN;LU8FR6FS3HW/JZ���v��>V\8MU3HP7IT4ER1AN1AN18;MX]ozey�k��j}�h~�PfsE]iG\gJ[eO_l^n~�������������������і�ɓ�Ã��r��w��OfvI`pG^n{���������������������������������������Ұ�ߚ�Ѐ����Ur����v��Gam>LT?HPESXAQWHV[HSY[ggO^cZp{d~���ޘ��d�@Yi7R^FakXkrpyv��,1>kp~3YhpWgo\gr_ls]jqanu_ltbntWkyWkx[o{Xmx[ny^p{]oz\nz[nx^nzp|aq}dqdqer�er�crz^nz[jvVgsPcrLrKcsNfvOeqNepRerWguVfrUeqZgtWfoPjp;PV5HO;KW@P]2ET������Yqw:PU6KS4IQ:LW5FSN^kbr~t��\nyRdoLkMmK^k>T>T`4LX=S_\lyZkx>Raax����t��������������������w��w��h~�\s�Yq�~��������������\t���������������������š�Ʀ�Җ�Ə�†��t��y����ׁ��<VbCR^ET\K[d>SZFXcQ]jK\aNjXq���뜺ό��i��CZi=Vb9P[YmtkuYclXmt{�06Ebs�_o|_o{_o{nz^lxao{_lx[kxUfsTenTenSdmTfoTfoZirZjv]mxYiuScpScpYiuZhxVduTfpXhtUhuSfuSftRgxThyThzRhtPcpPdqSepXhuZjv\ktXgp\v|=T[3EP5DQ8HUL`l���p��G]b7LT5JR6GS9KV8IV8HU:IY7JT9KV>P[<P[ATb5HU9P[8OZ7M]9OZ���RboBVe9QaRl}���s��y����������������y��n��n��Wp�t��y����������9JWl����������ɒ�ă����Ț�ɕ�Ǐ�ň�����s�������˅��<Vd>MZ\myy�����������Ū�֥�ְ�虵΃��^t�DYh=T9MXWhqbnxCLWHS\DMZ%,;as�^o|]n{Zkx_p}YjwQboYjx]jq]jr^ksbowiv~dqybowhu|ev�jz�jz�fw�o�[m|TixPetPfuOfuQetNbsOctRduPbsM_qOcnPdoUfr_q}XiqRclRakQi^w�CYd/DN6HR8IV6GTl�H^j>QY9LT5IP6IT5FS8IU8HY:JZ7JT;MW8JU9LY6IV7JV7L[7L[4N]:Q���@SBUb=Ra7Qas��x��|��o�����x�����}��k��y��d}�h��[v�|��t��������DPAUf���������|����������ʔ�ˏ�Ɔ��{��z��������u��B\l?QPdu�����Ö�˗�lj����֫���ݚ��t��]q�GVg<P]GYdTcl\iqksLU8DNco|_itdoygr|hs}lt�eq~hu�iv�lu|nx~jt{ku}r}�v��r|�oyap�[jzSbrMoK_pKbrIbrHaqGbrF_oGaqKcsMasPctTduTdvPbmYkvfz�\mvPajL_fIZ`EU\VnzDZf=P]<MZ:LW4FQ>P[9KV7HQ6GP7GS2BN7HU7GW9IX5EU8JT:KX8IV3FS6IV;M]5JY4IX3K]E^n���Rhs7MY6K[<Sc<Scay�x��{��������{��p��f��~��a}�f��j��y��t�����m��Uaq2FXs��z�����w�������τ����˂��{��y�����������|��AXh:K])=N���}����ʗ�ˇ����և��v��l��Ul~MoK\iCVcDUc?NWeszgrzZem1=Gkx���{�x~�u{x��z��w~�ox�t~�s~�s}�o{�lw�it}anz[hsTctNqM^oI\mI_pIrGbrFpD_oIasJrOcuQds]m~aq~dt�\mvZjtVgqNgL_fIY`FV]BRX]t�@Wf8NY7JW9KV5ER7FO7FO<KS7EQ5FR7GU5EQ,<L2BR5EW5FS5FS3DQ3GS3FV5GV2HV5JY+DX=Ug���Pfv@Va6LX:LY7JZ8PcMex������y��z��k��q��o��i��]y�h��z��p����ہ��O_lAVf3I\^w�����Ђ�������Ɗ�����w����n����ܠ��k��AVgGVe8K]t��v����‹��y��p��GauB[n>VfCYhBTbFWaBWg>Q^>OXiv~v��}��$/7S_h������z��{��v}�w��x��x�n}�mz�iy�]lxWgsNoObpM^oNasJ_rI_qG_pG_sHbuJcwFbvPfxNdwShy[o~q~eu�Yiu]luK\eJ]dHZaEX_FV\AQWAPWBRXI`pNeu9N^=P]<NY?NW=JR<FN2@M1?K2@L0AN#2B#3C-=N4DU7HU6GT4ER6IX7JY3FU/DU/CT3Kb��̇��D_l=Ua5LX2ER;LY7N^7M]Ibr{��w��n��q��n��x��q��h��f}�y��o����ㆣ�Zr|>T?QbQ^u������~����„����}��x��x��}����ݍ��c{�IXgETd8KZUp~���e}�L^tCXjEYl=OaG[h@R]DUa=RZAV]8O8N[=QY[gox��jt|":CMclsgsxis{lw�iw�o{[kwZjvUhwQcrQftLcrG^pG_sGsG^uFpFaqHauIbvIcvKcyMe|Nf}Xi}[n~aq�ZkxXhu[luNgK[bL\cFV]M\dGV\CSYDTZ=PS;NQLctAXh=Ra9KXCT^DQYEQXIRZDO[6CO-:F,9G$+;-<M1@R5ER6FS3DQ2FU4GV1DS1DU*=N.E\��߁��Zu�<T`FYd9JU@O\0JV;S_=VgB]nw��s��p��u��y��l��d~�h��~�������ׁ��UtyLbm@N^NTiz����Æ����|�����}��y������Ɩ��~��Shw@OaBM[?P]*FQ2O]9Qa<K\AP>M^BM\ANZ<MU?RY=RZ<QW6Ra9R^@RYCRXq{tyqv|gkoVdoTdpTdoK]kMqJrI]sD\qIoFoE]nF^rEtD`y=]tFeDcuHcwJexKg{Tl�Um�Un�Vo�lw�]i}_nWguM^hEW^GW]DUWDS[HX_>NTCTYCSYASU;OR@SVf��D_h6P\6P\5O[>YgB]kHcqTjtATaq�����o~�y�����t��r�������������x����������ڥ����Vm|BXdATa?Rb8KZ>TXBZcF\i?ZjF`tk��p��m��w��s��j��g��}����—�ȉ�����7MY=P_.BSx�������������‚��y��{�������ǃ��d��FX^>QY@R]=OZ7HU=NZ9IY;K[;J[<MZ9JW:KX=N[<NY;MX<MX4IY3K[5M/J[Gcx>ZoA]rB^q9Xr>Yt>XqBZsF^tBZqC[qFsM_tK_tG_rB_tFcwFbzMgSi�Nk�Yt�Lg}^y�Wq�Wo~WlxLanHfkQjoEX_IY`IU]GW^ASZBT[=VV?TV>NTDOWEPXDOUCQT>OR_x�Piu7Q]4N\5O]:TbE^nOhx�����������������������ƀ������������������ə�ß�Օ�Ņ��Vm|F\gI[h@Rb;N]DXXCV[K^fNaoVi|F`pv��}��|��z��o��q��v����杻Ε��XpxC[g@Ud9M^t�����x�������Å�����{��d��Up�F]q?YjBT[BU]>P\:LW;LZ8JV:JZ9IZ4EQ6GT8IV<LZ8JU;MX=OZ:LW;LV<MU9LZ3HWJaqD[nC]mD]qA\qC^sD_tH_uBYpIbuJbuA]pKbzLe}Kf~Ml�Hg~Kk�Vp�]t�[w�x�Icwp�����j�KamNbnGfI`eFX_GW^CPXAQW@SY=PW=STAUY>NUBMUFPXAMS?NQ=OPl��Sm{6P^2K[5O^:ScC[mLdul��������v�����~��~��m��q��l��}��{����������������Ζ��v��k��?Sb@Ud@Ud=PbKZ^N]dTemZlvK^kYo{Umyw��~��z��{������ӟ�љ�Ʉ��_{�?Ye>Tc.EUw�����������`y�k��;Sf@Wg>Vf0EU<S^5HV<NY;MX<NY=OZ8HV:KX3DQ5FS:KX8IV9JW8IV9KV6HS;LX:LY@KN@NT>NT9KUThwLcuGbuKfzMgzLezHeyEauLh{Kf~Hg}Gf|If�Kl�No�Su�Kk�Po�Sp�Ok�j�����y��}��p��at�I]hN_kCV^CT^BQZ@OX?NW?NW>OX:MU9MS@QZ>NV@LVAMW=KQ?MP=OPz��Xq�5N^6N1I[;SeAYmHti��z�����Xs�u��g��Wu�q�����{��|��r��}����������¥�ڛ�Α��n��<RaE[j=Tc@WhL_hSeqXm{`s������������������������ư�塽җ�ʀ��c��>Xf5Q^9Rb>Uem��?TfBUl:P^>Td?R_BVc9KU>P[5GR:IV<NY7IT4FQ+=H$28IV1BO8IV7IV5FS9JW6HS9KV9KW>QY8LT?MN@OU;MS7JUE^mJg{Mj�Jh�Pm�Pr�Xz�Vz�Tx�Jo�Vz�l��z���‡�ǎ�Ɏ�Ɩ�̕�Ĉ��{��]q�UgyPdsL]jHYf=OZBU`AR[DU^>LV?MVAPY?PZ;KU<MV>MVAQY;IU>IVBNXAOUBSV@RSr��_w�5M_/GY1I[7OcC[oNfzr��v��w��b�Ie~=\u6Tp=^{Xw�c��l��k��}������������֚��|��p��C]k;Uc:Sc<Ud>WkE]qC^r������}������������������ۨ�ܔ�ȑ��}��Vs�Bo<Vf6O_4L\AUg<K\6FX9LV<NY9KV;KW=MY8IQ6GO6HP@P^3CP4DQ(5,89IU7GS4DP6FS9IT8HT9IU8HU:KT;LU:KT7IQ=OW6JT5LZ]x����{��{�Ƀ�ʁ��}��~��{�ʂ�Ѓ�Β�܎�Г�Ԛ��j��}�h��c~�JduRetI\lHYfDTbCT`CUa?RZ>OX>OV>PX4GNASZ7JQ:LSASZ>QXCQY;GQ7FOBQZ@NX@PV?PS=OP���d}�>Wg0HZ2J\7OaBZoNfzn��u��m��Xs�9Ti5Qj$A]"@]">RJh}s��q��u��w����������։�����VpIcs<Vf6O4Pa9Yo@wIg�m��r�����{��x��y����’�Ǜ�Ω�ߑ�Œ��u��[t�@Zj6P`4N^3IX9KZ4DT:IZ9IT;KW:JV8HT7FR7GS7GS7GS5ER5EQp��+!1=7GS1AM1@M2BN9IU9IU:JW9JR;LU<MV<LU2IU7NY5KV2IX9Ti���t��r��t��y��z��y�Ɂ�ҍ�ە�ݕ�߈��Zz�Tp�LdzQiyF[kAWc=TaCTaCT`BT_?Q]?RY<OW>PY>PX:RW5MR5MQ6OS4JO;OT9LR;LR<HMBQT>MT9KS=OV<OTASU>OS|��k��D]m3L\4M]7OaBZlOgyn��x��s��\u�Ict-H\,Gb4S4GX,CS��ċ��z�����}�������Ո�����c~�Jdt;Ue6Sb3O`7Ug@_rIf|Lh����������v����������Ǐ�ǝ�Ӊ�����q��Wn�>Vh<Wf2L\2M[6LX8HU8HU7HU7IU:JW9JV4ER5FS6GT6GS7FV8GWJZgRbo1AM:JW=NV3EM;KW9IU;KW6GP=NW;KU8JQ7IP6IQ7KR9LS;NV-BQHdxIe�Dh�Dd�Gk�Cj�Bi�Fo�Fh�Hd�Ka~EpLdtNetPanJZhHXeDW_BU]?RZ>RY<OW>PX:OW8MU=SY9NTEdcDdc8WV+JI1MM2KK=OP:ILCQMDRP9KL@SV=QV>RV>NT=LO{��s��=We7O_6O_7PB[kPhzq��z��i��Xn}=Wd0IZ,G_8T7EO/AN{��������z����������א�ĉ��u��[y�9Vd7Tc2Pa;V`A[iLeuTm�������z��u��p�����|����ȏ�Ň�����y��h|�<Qc=Wf4O_0KY1GS9KU<KW<MZ4CT3GV2ET4GW2FU3EW4GY2AR8GX0@M5ER5EQ8HU6GP3DM6ER4CP9HU<MV:JT8IS7JQ6IQ>PP:IK=KHBNO=MR6J[2Kd3Qq8Sx8Vw4Uu2Vo9\uMj[p�]l~QhtJ\gQ_kJV_T\fO\cDSZ=OU=PX:MU2IP;QX7NT7MT9MT#5>UuuCgfMqpRrsPmnF[].15>CMXPLYUburF[\DY^ATZ?NUN[bs��e��7Sd0JZ3L\6Pa@YmMh|x��}��}��\w�7Wj3Sf.F\'5O;R[7M_r�������������������ˌ��~��k��^y�<Wl5Sh3Rg3Wd<^mFbsQj~k��u��|��{��{��~������ҍ��x��s��x��e��=Wg<Ue6M]1EV3DV5EV7EZ3HR5JT5JT4GU5FS6GT/@M5FT6GO6GP6GP4EN:IR>MV6EN8GP7KS5HO9LS5IM6JO9JL<MP<JM:KN<MO=MS;LS4CKES_M[gKVd<P]CVcOcnWht_pxUfoYioRbhK]iGYdGYdGYdDWb>P[?Q\9KV4HO-;G7CO4@L2BIAWZ40SyqDyk?uf:oaH|jF{iP�pP�qN�mL�sU{p.A>{��ENQ0BA9SO4OKu��b��?Yj1JZ4M];SeB[pKg{}��t��n��h��4Ue3Sf+CY%3N5LU,BTr����������������ß�щ��q��h��Jcw?[o>Yn3Pe5Wf@]nHcwTk�d|�i��u��v��w��s������ɇ�����v��r��k��Ics:Sc5L\8L]1CT6EV5DV3HR3GR3GR2ES2CP0AN2CP4DR3DM4EN8IR9KT>MV;JS:IR:HR6IP6HO9LS9IP<LR=MTAPS@OR:KM;JQ9HN9IP5DM?MYM[gFR`M_lZkyVhsSfpCR_UfnIYcXhqGYdDVa?Q[?Q\>PZ<NY9KV;MX1EL,:F5BN;CQUaj[mqXsq[{tI|oDvj;pcG|oCxiCxjEzlL�rc�|h���ƾ�Ž�ƿ���������p��e��>Xi5N^8Qa;SeB[oLeys��l��v��Uq�<^m0Qd.DZ 0G/FP2H[���������}��|�������ڍ��{��r��_x�D]r:Sh7Sd7Vi@^qGbwOf}Wo�t��t��t��y��w����������������w��r��Rl|:Sc6M]7K\2CT3EV5DV4HR2FQ1FQ4FQ3EP5HS9IU8GT;MT4FM3FM<LS<LS9IP9IP:FN7GN8IO:JQ<IQ;IO>MR>MSCNT;OS;NS7IP9KRL]fJZfO_kp|]mzTdq[kwUdpOalHYeGZb>RXBS=N[AR_;LY7HU9JW:KX4FS1AM6EP6>L!+2;EBNRFXWf|xTwJunN|rM}tExnG|rHqK�v?�pG�wC�ui��q��uºr���Ļ~��f��B\m?Xh7P`?WiHauIbvt��r��o��[u�8Zj5Sf)?V!.EE\f?Ug��΅�����~��q�������Љ��v��w�����Zq�>Wh4M]:UkC^sHcxNh}Xs�w��}��v�����~����������������~��r��Un~<Vf5N^/FV2EW3EV4GV6IV3FT4FQ5GR6HS3CO2BN:KS;NT;MT=MT<LS=NTANV>KS<IQ:GO>KS>KSANV:GPALT<GO>HP2EK9KR:MSFWNhRbnP`lO_kP]kKWfJ[fGWcBT^?S^DYc<Q[<MZ;LY7HU6GT6HU:LY2CP8IW1BM2@L<FP"(1;CJHQV(21&&*CA
)&?]Z`�}V~wS~wQ~wU�|J��D�xEvM��r��o��}��5�zu��m��BZl?XhCYi@VhMeyc|�v��s��~��\v�<Zk2Pa&>R$1IAXb8Na��׉��t����������Ɲ�Ԉ��}�����Wn~L`o<R^=S_8PhBYpIdyPm�^z�w��w��z��y��t����������ā����~��v��\x�;Uf6O^1HX3HW4GV2FU6FS6GT6HS6HT5FO5FO3EN4EO;KQAQX:JQ<LSBNV?LT9FN:HP<GO<GOAKS?LT<IP5AI/<D>KR;LUEV_^ow[ltO_kTdpQamO`lKXdIWbBR_@P]?O\>Q^:NZ;N[;KX7GT3DP1AN7GS9IV3CP5FR0=K.:F1;E")35;@JOR"'*"''46-/ $"!=:Xurs�~r��Z��:�u^��o��M~zg��y��o��Nfx?VfAXhF\nf~����t��~��q��f��=\k/M^(=R!.E1HRAWi��݉��}���������ɜ�ӄ��������^s�3FS7IT3FM9RhE^rIdyPm�Zy�k��{��{�������������LJ�����{��~��|��f��?Yj2K[6M]3HW1FU4GS4ER6GT7IT6FR8IR1DK6FM;KR;KR=MT7HN?LT>KS<IQ=JS@KS?JR9FN9FN<IQ5AKCR[=LTCRZdt�]myu��Wfs^nzK[gAP]HXdGWcBQ]JZgAQ^:KX:KW8HX9IY:IY7FV8GW6EU2AQ5DT0?O0@P,7H%.='0;%,8>CEJM&)- #(-/527:48;7>A!!"1-&FAc��r��s�����s��u��^v�Riyj��p��y�����{��������x��:Zi0N_(=R!-C4>1GY���y��w��{�������ě�Ԉ�����n��ZlyJ\g:KT/AG5K_C[mFavKjSr�j��r��u��v����������ˍ�ą�������w��l��<Xi4N]4M^1GV/EP.EQ9IV7HU<LW8GT5FO>NU9IN=MS<LR<LR9JP@NT=KQ>MS>JP:FL6CL8DM7HO<LSGU_7HQVfr[jwGZdj|�CU`PbmDVaAS^GYdAS^7IT7IT9JW4ER6FR6EV9HX8GW5DT7FV3BR8GW5DT5DT2AQ0@P-5F$+:"+5%-+2527:69= #$(-25-25!$) "###$ )>;;<DG"47%9?q��o��j��u��w��ez�v��|��k��|�����m��:Zi6Rc&<N ,C3<EZm��Í��w����������ҟ�َ�Ñ��c{�Wiv?PX+=D*9?8M6PNk|Gh{Uu�q��y��{��s��z�������ρ��������������s��=Yj1K[8Qa5L[4JU0GS8HU2BO9HU5FO&7A<LSBRX4DJ:IO;KQ=KQ>LR9GM9EJ/;A5AG7EJ=MT?OUAR[WgpZlwM_jXjuQaoM]kJ\gFXcAS^>P[:LW<MX;PZ6JU<P]2CO6EU8GW<GY4?Q5DT3BR6EU4CS2AQ2AQ1@P,=L+0D!'7(2$';EH!$$ #+-(*  %&/12!%53,;=..7WLY���l��q��d}�r��q��u��w��|��z��g��j��G^m;P^1CP-@M0HX��Ν�ȁ�������������˛�������s��PetAR^:KS:JQ3DR4GVRg|Nfg�z��n��v��{������æ�ݑ��|�����v��q��e��>\o=Wf7Q_;Q]6JU7HS1FQ4HT6KS9KS7IP6FM;IO>IO:PR7LM:MU3EM1AN%7@=KU;KQ?QX:LSWip[msQbkRclVgpPajCV^J]e@S[<OV=OZ@R]7IS:KW4DT;K[:JZ7GW5EU9IY8HX3CS4DT2BR1AQ9HX1@P.=M.>N.;K$/='4#,!&!%/45#"#(' .,,&!"+"O93D($gRQqgj�~�r��j��r��n��w��m��~��v��|�����i��^x�Ohx@WgCWfMap�����Ɖ�������ʒ�Ǖ�ɛ�Е�ɂ��~��az�EZi6FSARZ8GP/BM/CRJ_u\t�y��s��u��w��~�������Ǧ�݈��~��~��r�����{��:Xk5N^9Tb:O[9MW3GR4FQ7IT9LT9MU6IO9IP<JO;GM9IK<JP1>F:FP1>J@LX?KULWbSfm\nuQcjQcjL]fHYbK\eFW`GZb>QY:MT>P[7IT:LW6GT7HT6FV9IY8HX6FV7GW8HX7GW7GW3CS3CS1AQ3BR/>N,<L3@P,9I$/=%3!*#!"022### 
$3';.(60-#'&|����z�����~�����{��z�����u��[v�r��Nhy@Xj��������������Ċ����Ȓ�ȗ�͘�Ό��������z��6JY9KU4EM5DL6GS,<L8Oa��������������{����Ǣ�٩�����x�����x�����a��:Xk=Wg:Sc;Qa4JU6HV3EP6IP7HQ8GP9HQ:GN;IQ<GO<FM6?H5>G19FAJWZbp\fpfnyNahFX_GY_@QZHYbEV_;LTFUbDW_:MT;MX5GR:LV3CQ3DQ4FR3CT5EU4DT3CS6FV6FV5EU4DT1BR/?O/>N.=M-<L0=M0=M*7H&1?$1%!&)
&((!##% "LFHQMI]]T$) #.'CSL)%��̆�ĉ�DŽ�����}����ɐ�ǔ�Ŗ�ǐ��v��g�����r�������͜�Ջ����ɕ�ʕ�˕�ɍ�Š� �Ԑ��t��VlwVhs7GS<JV2CL5FS3E��ˉ����������������Ӧ�ݟ�׏��{��|��w��~��a��Yw�6RcA[k9P_:Q`5KW5HO7HQ8GP7CM@LV:EO:FP:EP2<C:FP6BNlv����������WgqJ\cBT[HYb6GP?QY;KW;KW<KX9MT3EP>P[2DO6GT2CP6GT3EQ3CS3CS4DT7GW4DT5EU3CS->N2AQ.=M0?O.=M.;K+8H2?O#1A"0*& &6<=%%% ebdLNLAIB&!)"&��ȋ�р��v�������Ņ��{��m��s��Ws�s����̍��Ƃ���������ž�ٓ�˞�֍�ā���� �Ӎ��l��OdoDVa;KW8ER7FO/@N*>Qu�������������ȇ����ҟ�֡�؏�ņ����†�����m��Rq�@[l=Vh9Rb:Qa6M]:MS9JS5DM:FP:DM4@L3AM:JV?U\-AL��ו�����m��RhsLdkCT]HYb?PY>PX:JW<LX=MY9IU3EP9KV2DN.>L3DQ4ER4ER3CS3CS2BR3CS1AQ4DT6FV4DT/?O1@P2AQ.=M1>N0=M-;K2<M#,>(6"/#-$$)*  %!&XWY@ECCJE87.\RKgXRz��j��j��x�����t��l��t��{��f��o����Ă�����v��y����a�����}����Ǝ�ˍ�Ō�ő�ɕ�Ɍ��[t�Kak;MX9HT8ES4DJ2BO.CTBZq�����Ò�ʌ�Ō�Ĥ�۠�׏�Ǝ�Č��t��n��|��v��`~�B]n=Wh:Te9Qa1K[4HO6IQ6DM2=J,8D0>JDVa9KX���������Lguw��Nfr=Va<W^9IR@QZ7HP?O[7GS8HT8HT3CP3EP1CN5FS1BO.?L3DP3CS1AQ5EU3CS3CS1AQ3CS4DT3CS/?O2AQ1AQ0=M/<L0=M/9J+5F$.@!,:&4$. %!!&'  
  475GHF>3/ub]B)%b��h��q��v��q��v�����v��m��p�����������}��~��{����Ń��v����Ƅ��}����̀����ǎ��|��j��E\d@RZ:JW6BS9FL/?L/AS0H^��Ɇ����˒�ʏ�Ǐ�ƣ����������z��s��{��w��g��<Xh=Yj;Uf8Rc2L^7NU4IQ+<D8COAO[;JWx��������Rm|l��F]mYn}7JW9KV=QX>NX:KT9JS7GS2BN:JU6FS9HV2EO.?L5FS1BO0AM1AQ1AQ1AQ2BR2BR2BR2BR1AQ3CS4DT3CS2AQ0=M0=M/<L0:K1;L)3D(2C#.<)6$."'$), ! !#()
++!" &'%&$$ /(%$OD=k��y�ċ�Ӏ�‰�’�Ƒ����Ë�‚����ȏ�ʍ�͍��{����Dž��{��r��o����ń��g��|����������w��E\dCV]7FT>K[9FM3CP*<M$<R��̀����Ƌ�ň����������À��{��|��s��r��m��k��>Ym=Yj:Te8Rc6Pb1KQ/FO9IR>KX������}��^x�[v�f}�Oct:L]BQbAN\;GSDMW;MV5GO1AM5EQ5EQ5ER9IV3BO1BO/@M3DQ/@L3CS/?O0@P2BR0@P0@P2BR3CS0@P1AQ1AQ1AQ,9I0=M1>N'4D+5F1;L'1B'1C"-;!*7$.$*&+/&*+"'((,-".+%-,#"%$#!!,+'/+*=98%-&
+\ No newline at end of file
+diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/Makefile b/host_applications/linux/apps/hello_pi/hello_wayland/Makefile
+new file mode 100644
+index 0000000..c9ddf23
+--- /dev/null
++++ b/host_applications/linux/apps/hello_pi/hello_wayland/Makefile
+@@ -0,0 +1,5 @@
++OBJS=triangle.o
++BIN=hello_wayland.bin
++LDFLAGS+=-lwayland-client -lwayland-egl
++
++include ../Makefile.include
+diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/cube_texture_and_coords.h b/host_applications/linux/apps/hello_pi/hello_wayland/cube_texture_and_coords.h
+new file mode 100644
+index 0000000..663e23b
+--- /dev/null
++++ b/host_applications/linux/apps/hello_pi/hello_wayland/cube_texture_and_coords.h
+@@ -0,0 +1,100 @@
++/*
++Copyright (c) 2012, Broadcom Europe Ltd
++All rights reserved.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++ * Neither the name of the copyright holder nor the
++ names of its contributors may be used to endorse or promote products
++ derived from this software without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
++ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
++DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++*/
++
++// Spatial coordinates for the cube
++
++static const GLbyte quadx[6*4*3] = {

++   /* FRONT */
++   -10, -10,  10,
++   10, -10,  10,
++   -10,  10,  10,
++   10,  10,  10,
++
++   /* BACK */
++   -10, -10, -10,
++   -10,  10, -10,
++   10, -10, -10,
++   10,  10, -10,
++
++   /* LEFT */
++   -10, -10,  10,
++   -10,  10,  10,
++   -10, -10, -10,
++   -10,  10, -10,
++
++   /* RIGHT */
++   10, -10, -10,
++   10,  10, -10,
++   10, -10,  10,
++   10,  10,  10,
++
++   /* TOP */
++   -10,  10,  10,
++   10,  10,  10,
++   -10,  10, -10,
++   10,  10, -10,
++
++   /* BOTTOM */
++   -10, -10,  10,
++   -10, -10, -10,
++   10, -10,  10,
++   10, -10, -10,

++};
++
++/** Texture coordinates for the quad. */
++static const GLfloat texCoords[6 * 4 * 2] = {

++   0.f,  0.f,
++   1.f,  0.f,
++   0.f,  1.f,
++   1.f,  1.f,
++
++   0.f,  0.f,
++   1.f,  0.f,
++   0.f,  1.f,
++   1.f,  1.f,
++
++   0.f,  0.f,
++   1.f,  0.f,
++   0.f,  1.f,
++   1.f,  1.f,
++
++   0.f,  0.f,
++   1.f,  0.f,
++   0.f,  1.f,
++   1.f,  1.f,
++
++   0.f,  0.f,
++   1.f,  0.f,
++   0.f,  1.f,
++   1.f,  1.f,
++
++   0.f,  0.f,
++   1.f,  0.f,
++   0.f,  1.f,
++   1.f,  1.f,

++};
++
+diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/triangle.c b/host_applications/linux/apps/hello_pi/hello_wayland/triangle.c +new file mode 100644
+index 0000000..1a7bfc4
+--- /dev/null
++++ b/host_applications/linux/apps/hello_pi/hello_wayland/triangle.c
+@@ -0,0 +1,666 @@
++/*
++Copyright (c) 2012, Broadcom Europe Ltd
++All rights reserved.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++ * Neither the name of the copyright holder nor the
++ names of its contributors may be used to endorse or promote products
++ derived from this software without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
++ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
++DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++*/
++
++// A rotating cube rendered with OpenGL|ES. Three images used as textures on the cube faces.
++
++#define _GNU_SOURCE
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <math.h>
++#include <assert.h>
++#include <unistd.h>
++#include <sys/socket.h>
++#include <sys/un.h>
++
++#include <wayland-egl.h>
++#include <wayland-client.h>
++
++#include "GLES/gl.h"
++#include "EGL/egl.h"
++#include "EGL/eglext.h"
++
++#include "cube_texture_and_coords.h"
++
++#define PATH "./"
++
++#define IMAGE_SIZE 128
++
++#ifndef M_PI
++ #define M_PI 3.141592654
++#endif
++
++
++typedef struct
++{
++ uint32_t screen_width;
++ uint32_t screen_height;
++// OpenGL|ES objects

++   EGLDisplay display;
++   EGLSurface surface;
++   EGLContext context;
++   GLuint tex[6];
++// model rotation vector and direction
++   GLfloat rot_angle_x_inc;
++   GLfloat rot_angle_y_inc;
++   GLfloat rot_angle_z_inc;
++// current model rotation angles
++   GLfloat rot_angle_x;
++   GLfloat rot_angle_y;
++   GLfloat rot_angle_z;

++// current distance from camera
++ GLfloat distance;
++ GLfloat distance_inc;
++// pointers to texture buffers

++   char *tex_buf1;
++   char *tex_buf2;
++   char *tex_buf3;
++   struct wl_display *wl_display;
++   struct wl_registry *wl_registry;
++   struct wl_shell *wl_shell;
++   struct wl_shell_surface *wl_shell_surface;
++   struct wl_compositor *wl_compositor;
++   struct wl_surface *wl_surface;
++   struct wl_callback *wl_callback;
++   struct wl_egl_window *wl_egl_window;
++   int needs_update;
++   int ellapsed_frames;
++   int kill_compositor;
++   int single_frame;
++   int terminate_abruptly;

++} CUBE_STATE_T;
++
++static void init_ogl(CUBE_STATE_T *state);
++static void init_model_proj(CUBE_STATE_T *state);
++static void reset_model(CUBE_STATE_T *state);
++static GLfloat inc_and_wrap_angle(GLfloat angle, GLfloat angle_inc); ++static GLfloat inc_and_clip_distance(GLfloat distance, GLfloat distance_inc); ++static void redraw_scene(CUBE_STATE_T *state);
++static void update_model(CUBE_STATE_T *state);
++static void init_textures(CUBE_STATE_T *state);
++static void load_tex_images(CUBE_STATE_T *state);
++static void exit_func(CUBE_STATE_T *state);
++
++static void
++registry_handle_global(void *data, struct wl_registry *registry,
++ uint32_t name, const char *interface, uint32_t version)
++{
++ CUBE_STATE_T *state = data;
++
++ if (strcmp(interface, "wl_compositor") == 0) {
++ state->wl_compositor =
++ wl_registry_bind(registry, name,
++ &wl_compositor_interface, 1);
++ } else if (strcmp(interface, "wl_shell") == 0) {
++ state->wl_shell = wl_registry_bind(registry, name,
++ &wl_shell_interface, 1);
++ }
++}
++
++static void
++registry_handle_global_remove(void *data, struct wl_registry *registry,
++ uint32_t name)
++{
++}
++
++static const struct wl_registry_listener registry_listener = {
++ registry_handle_global,
++ registry_handle_global_remove
++};
++
++/***********************************************************
++ * Name: init_ogl
++ *
++ * Arguments:
++ * CUBE_STATE_T *state - holds OGLES model info
++ *
++ * Description: Sets the display, OpenGL|ES context and screen stuff ++ *
++ * Returns: void
++ *
++ ***********************************************************/ ++static void init_ogl(CUBE_STATE_T *state)
++{
++ EGLBoolean result;
++ EGLint num_config;
++
++ static const EGLint attribute_list[] =
++ {

++      EGL_RED_SIZE, 8,
++      EGL_GREEN_SIZE, 8,
++      EGL_BLUE_SIZE, 8,
++      EGL_ALPHA_SIZE, 8,
++      EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
++      EGL_NONE

++ };
++
++ EGLConfig config;
++
++ state->wl_display = wl_display_connect(NULL);
++
++ state->wl_registry = wl_display_get_registry(state->wl_display);
++ wl_registry_add_listener(state->wl_registry, &registry_listener, state);
++
++ wl_display_dispatch(state->wl_display);
++

++   // get an EGL display connection
++   state->display = eglGetDisplay(state->wl_display);
++   assert(state->display!=EGL_NO_DISPLAY);
++
++   // initialize the EGL display connection
++   result = eglInitialize(state->display, NULL, NULL);
++   assert(EGL_FALSE != result);
++
++   // get an appropriate EGL frame buffer configuration
++   result = eglChooseConfig(state->display, attribute_list, &config, 1, &num_config);
++   assert(EGL_FALSE != result);
++
++   // create an EGL rendering context
++   state->context = eglCreateContext(state->display, config, EGL_NO_CONTEXT, NULL);
++   assert(state->context!=EGL_NO_CONTEXT);
++
++   // create an EGL window surface
++   state->screen_width = 1024;
++   state->screen_height = 860;

++
++ state->wl_surface = wl_compositor_create_surface(state->wl_compositor);
++ state->wl_shell_surface = wl_shell_get_shell_surface(state->wl_shell, state->wl_surface);
++
++ wl_shell_surface_set_toplevel(state->wl_shell_surface);
++ wl_shell_surface_set_title(state->wl_shell_surface, "triangle.c");
++
++ state->wl_egl_window = wl_egl_window_create(state->wl_surface, state->screen_width, state->screen_height);
++
++ state->surface = eglCreateWindowSurface( state->display, config, state->wl_egl_window, NULL );
++ assert(state->surface != EGL_NO_SURFACE);
++

++   // connect the context to the surface
++   result = eglMakeCurrent(state->display, state->surface, state->surface, state->context);
++   assert(EGL_FALSE != result);

++
++ // Set background color and clear buffers
++ glClearColor(0.15f, 0.25f, 0.35f, 1.0f);
++
++ // Enable back face culling.
++ glEnable(GL_CULL_FACE);
++
++ glMatrixMode(GL_MODELVIEW);
++}
++ ++/*********************************************************** ++ * Name: init_model_proj
++ *
++ * Arguments:
++ * CUBE_STATE_T *state - holds OGLES model info
++ *
++ * Description: Sets the OpenGL|ES model to default values ++ *
++ * Returns: void
++ *
++ ***********************************************************/ ++static void init_model_proj(CUBE_STATE_T *state) ++{

++   float nearp = 1.0f;
++   float farp = 500.0f;
++   float hht;
++   float hwd;

++
++ glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
++
++ glViewport(0, 0, (GLsizei)state->screen_width, (GLsizei)state->screen_height);
++
++ glMatrixMode(GL_PROJECTION);
++ glLoadIdentity();
++
++ hht = nearp * (float)tan(45.0 / 2.0 / 180.0 * M_PI);
++ hwd = hht * (float)state->screen_width / (float)state->screen_height;
++
++ glFrustumf(-hwd, hwd, -hht, hht, nearp, farp);
++
++ glEnableClientState( GL_VERTEX_ARRAY );
++ glVertexPointer( 3, GL_BYTE, 0, quadx );
++
++ reset_model(state);
++}
++ ++/*********************************************************** ++ * Name: reset_model
++ *
++ * Arguments:
++ * CUBE_STATE_T *state - holds OGLES model info
++ *
++ * Description: Resets the Model projection and rotation direction ++ *
++ * Returns: void
++ *
++ ***********************************************************/ ++static void reset_model(CUBE_STATE_T *state)
++{

++   // reset model position
++   glMatrixMode(GL_MODELVIEW);
++   glLoadIdentity();
++   glTranslatef(0.f, 0.f, -50.f);
++
++   // reset model rotation
++   state->rot_angle_x = 45.f; state->rot_angle_y = 30.f; state->rot_angle_z = 0.f;
++   state->rot_angle_x_inc = 0.5f; state->rot_angle_y_inc = 0.5f; state->rot_angle_z_inc = 0.f;
++   state->distance = 40.f;

++}
++ ++/*********************************************************** ++ * Name: update_model
++ *
++ * Arguments:
++ * CUBE_STATE_T *state - holds OGLES model info
++ *
++ * Description: Updates model projection to current position/rotation ++ *
++ * Returns: void
++ *
++ ***********************************************************/ ++static void update_model(CUBE_STATE_T *state)
++{

++   // update position
++   state->rot_angle_x = inc_and_wrap_angle(state->rot_angle_x, state->rot_angle_x_inc);
++   state->rot_angle_y = inc_and_wrap_angle(state->rot_angle_y, state->rot_angle_y_inc);
++   state->rot_angle_z = inc_and_wrap_angle(state->rot_angle_z, state->rot_angle_z_inc);
++   state->distance    = inc_and_clip_distance(state->distance, state->distance_inc);
++
++   glLoadIdentity();
++   // move camera back to see the cube
++   glTranslatef(0.f, 0.f, -state->distance);
++
++   // Rotate model to new position
++   glRotatef(state->rot_angle_x, 1.f, 0.f, 0.f);
++   glRotatef(state->rot_angle_y, 0.f, 1.f, 0.f);
++   glRotatef(state->rot_angle_z, 0.f, 0.f, 1.f);

++}
++
++/***********************************************************
++ * Name: inc_and_wrap_angle
++ *
++ * Arguments:
++ * GLfloat angle current angle
++ * GLfloat angle_inc angle increment
++ *
++ * Description: Increments or decrements angle by angle_inc degrees
++ * Wraps to 0 at 360 deg.
++ *
++ * Returns: new value of angle
++ *
++ ***********************************************************/ ++static GLfloat inc_and_wrap_angle(GLfloat angle, GLfloat angle_inc) ++{
++ angle += angle_inc;
++
++ if (angle >= 360.0)
++ angle -= 360.f;
++ else if (angle <=0)
++ angle += 360.f;
++
++ return angle;
++}
++
++/***********************************************************
++ * Name: inc_and_clip_distance
++ *
++ * Arguments:
++ * GLfloat distance current distance
++ * GLfloat distance_inc distance increment
++ *
++ * Description: Increments or decrements distance by distance_inc units
++ * Clips to range
++ *
++ * Returns: new value of angle
++ *
++ ***********************************************************/ ++static GLfloat inc_and_clip_distance(GLfloat distance, GLfloat distance_inc) ++{
++ distance += distance_inc;
++
++ if (distance >= 120.0f)
++ distance = 120.f;
++ else if (distance <= 40.0f)
++ distance = 40.0f;
++
++ return distance;
++}
++
++static pid_t get_server_pid(CUBE_STATE_T *state)
++{

++   struct ucred ucred;
++   socklen_t len;
++   int fd;
++
++   fd = wl_display_get_fd(state->wl_display);
++   len = sizeof ucred;
++   getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &ucred, &len);

++
++ return ucred.pid;
++}
++
++static void
++frame(void *data, struct wl_callback *callback, uint32_t time) ++{
++ CUBE_STATE_T *state = (CUBE_STATE_T *) data;
++
++ state->needs_update = 1;
++}
++
++static const struct wl_callback_listener frame_listener = {
++ frame
++};
++
++static void
++update(CUBE_STATE_T *state)
++{
++ if (!state->single_frame || state->ellapsed_frames == 0) {
++ update_model(state);
++ redraw_scene(state);
++ }
++
++ state->wl_callback = wl_surface_frame(state->wl_surface);
++ wl_callback_add_listener(state->wl_callback, &frame_listener, state);
++
++ if (state->ellapsed_frames == 100) {
++ if (state->kill_compositor) {

++         fprintf(stderr, "reached frame 100, killing compositor\n");
++         pid_t pid = get_server_pid(state);
++         kill(pid, SIGTERM);
++      } else if (state->terminate_abruptly) {
++         fprintf(stderr, "reached frame 100, terminating right away\n");
++         exit_func(state);
++         exit(0);

++ }
++ }
++
++ if (!state->single_frame || state->ellapsed_frames == 0)
++ eglSwapBuffers(state->display, state->surface);
++ else {
++ wl_surface_damage(state->wl_surface, 0, 0, state->screen_width,
++ state->screen_height);
++ wl_surface_commit(state->wl_surface);
++ }
++
++ state->ellapsed_frames++;
++}
++ ++/*********************************************************** ++ * Name: redraw_scene
++ *
++ * Arguments:
++ * CUBE_STATE_T *state - holds OGLES model info
++ *
++ * Description: Draws the model and calls eglSwapBuffers
++ * to render to screen
++ *
++ * Returns: void
++ *
++ ***********************************************************/ ++static void redraw_scene(CUBE_STATE_T *state)
++{
++ // Start with a clear screen
++ glClear( GL_COLOR_BUFFER_BIT );
++

++   // Draw first (front) face:
++   // Bind texture surface to current vertices
++   glBindTexture(GL_TEXTURE_2D, state->tex[0]);

++
++ // Need to rotate textures - do this by rotating each cube face
++ glRotatef(270.f, 0.f, 0.f, 1.f ); // front face normal along z axis
++
++ // draw first 4 vertices
++ glDrawArrays( GL_TRIANGLE_STRIP, 0, 4);
++

++   // same pattern for other 5 faces - rotation chosen to make image orientation 'nice'
++   glBindTexture(GL_TEXTURE_2D, state->tex[1]);
++   glRotatef(90.f, 0.f, 0.f, 1.f ); // back face normal along z axis
++   glDrawArrays( GL_TRIANGLE_STRIP, 4, 4);
++
++   glBindTexture(GL_TEXTURE_2D, state->tex[2]);
++   glRotatef(90.f, 1.f, 0.f, 0.f ); // left face normal along x axis
++   glDrawArrays( GL_TRIANGLE_STRIP, 8, 4);
++
++   glBindTexture(GL_TEXTURE_2D, state->tex[3]);
++   glRotatef(90.f, 1.f, 0.f, 0.f ); // right face normal along x axis
++   glDrawArrays( GL_TRIANGLE_STRIP, 12, 4);
++
++   glBindTexture(GL_TEXTURE_2D, state->tex[4]);
++   glRotatef(270.f, 0.f, 1.f, 0.f ); // top face normal along y axis
++   glDrawArrays( GL_TRIANGLE_STRIP, 16, 4);
++
++   glBindTexture(GL_TEXTURE_2D, state->tex[5]);
++   glRotatef(90.f, 0.f, 1.f, 0.f ); // bottom face normal along y axis
++   glDrawArrays( GL_TRIANGLE_STRIP, 20, 4);

++}
++ ++/*********************************************************** ++ * Name: init_textures
++ *
++ * Arguments:
++ * CUBE_STATE_T *state - holds OGLES model info
++ *
++ * Description: Initialise OGL|ES texture surfaces to use image
++ * buffers
++ *
++ * Returns: void
++ *
++ ***********************************************************/ ++static void init_textures(CUBE_STATE_T *state)
++{

++   // load three texture buffers but use them on six OGL|ES texture surfaces
++   load_tex_images(state);
++   glGenTextures(6, &state->tex[0]);
++
++   // setup first texture
++   glBindTexture(GL_TEXTURE_2D, state->tex[0]);
++   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,

++ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf1);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
++

++   // setup second texture - reuse first image
++   glBindTexture(GL_TEXTURE_2D, state->tex[1]);
++   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,

++ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf1);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
++

++   // third texture
++   glBindTexture(GL_TEXTURE_2D, state->tex[2]);
++   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,

++ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf2);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
++

++   // fourth texture  - reuse second image
++   glBindTexture(GL_TEXTURE_2D, state->tex[3]);
++   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,

++ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf2);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
++

++   //fifth texture
++   glBindTexture(GL_TEXTURE_2D, state->tex[4]);
++   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,

++ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf3);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
++

++   // sixth texture  - reuse third image
++   glBindTexture(GL_TEXTURE_2D, state->tex[5]);
++   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,

++ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf3);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
++ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
++

++   // setup overall texture environment
++   glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
++   glEnableClientState(GL_TEXTURE_COORD_ARRAY);

++
++ glEnable(GL_TEXTURE_2D);
++}
++ ++/*********************************************************** ++ * Name: load_tex_images
++ *
++ * Arguments:
++ * void
++ *
++ * Description: Loads three raw images to use as textures on faces ++ *
++ * Returns: void
++ *
++ ***********************************************************/ ++static void load_tex_images(CUBE_STATE_T *state)
++{
++ FILE *tex_file1 = NULL, *tex_file2=NULL, *tex_file3 = NULL;
++ int bytes_read, image_sz = IMAGE_SIZE*IMAGE_SIZE*3;
++

++   state->tex_buf1 = malloc(image_sz);
++   state->tex_buf2 = malloc(image_sz);
++   state->tex_buf3 = malloc(image_sz);
++
++   tex_file1 = fopen(PATH "Lucca_128_128.raw", "rb");
++   if (tex_file1 && state->tex_buf1)
++   {
++      bytes_read=fread(state->tex_buf1, 1, image_sz, tex_file1);
++      assert(bytes_read == image_sz);  // some problem with file?
++      fclose(tex_file1);
++   }
++
++   tex_file2 = fopen(PATH "Djenne_128_128.raw", "rb");
++   if (tex_file2 && state->tex_buf2)
++   {
++      bytes_read=fread(state->tex_buf2, 1, image_sz, tex_file2);
++      assert(bytes_read == image_sz);  // some problem with file?
++      fclose(tex_file2);      
++   }
++
++   tex_file3 = fopen(PATH "Gaudi_128_128.raw", "rb");
++   if (tex_file3 && state->tex_buf3)
++   {
++      bytes_read=fread(state->tex_buf3, 1, image_sz, tex_file3);
++      assert(bytes_read == image_sz);  // some problem with file?
++      fclose(tex_file3);

++ }
++}
++ ++//------------------------------------------------------------------------------ ++
++static void exit_func(CUBE_STATE_T *state)
++{

++   // clear screen
++   glClear( GL_COLOR_BUFFER_BIT );
++   eglSwapBuffers(state->display, state->surface);

++
++ // Release OpenGL resources
++ eglMakeCurrent( state->display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT );
++

++   wl_egl_window_destroy(state->wl_egl_window);
++   wl_shell_surface_destroy(state->wl_shell_surface);
++   wl_surface_destroy(state->wl_surface);
++
++   eglDestroySurface( state->display, state->surface );
++   eglDestroyContext( state->display, state->context );
++   eglTerminate( state->display );
++
++   wl_display_flush(state->wl_display);
++
++   // release texture buffers
++   free(state->tex_buf1);
++   free(state->tex_buf2);
++   free(state->tex_buf3);

++
++ printf("\ncube closed\n");
++} // exit_func()
++
++static int running = 1;
++
++static void
++signal_int(int signum)
++{
++ running = 0;
++}
++ ++//============================================================================== ++
++int main (int argc, char *argv[])
++{

++   struct sigaction sigint;
++   CUBE_STATE_T state = {0,};
++   int ret = 0;
++   int i;

++
++ for (i = 0; i < argc; i++) {
++ if (strcmp(argv[i], "--kill-compositor") == 0)
++ state.kill_compositor = 1;
++ if (strcmp(argv[i], "--single-frame") == 0)
++ state.single_frame = 1;
++ if (strcmp(argv[i], "--terminate-abruptly") == 0)
++ state.terminate_abruptly = 1;
++ else if (strcmp(argv[i], "--help") == 0 ||
++ strcmp(argv[i], "-h") == 0) {

++         printf("Usage: hello_wayland.bin [OPTION]\n\n");
++         printf("\t--kill-compositor\tkill the Wayland compositor after 100 frames\n");
++         printf("\t-h, --help\t\tshow this text\n");
++         printf("\t--single-frame\t\tupdate the display only once\n");
++         printf("\t--terminate-abruptly\texit right after rendering the 100th frame\n");
++         return 0;

++ }
++ }
++
++ // Start OGLES
++ init_ogl(&state);
++
++ // Setup the model world
++ init_model_proj(&state);
++
++ // initialise the OGLES texture(s)
++ init_textures(&state);
++

++   sigint.sa_handler = signal_int;
++   sigemptyset(&sigint.sa_mask);
++   sigint.sa_flags = SA_RESETHAND;
++   sigaction(SIGINT, &sigint, NULL);

++
++ state.needs_update = 1;
++ while (running && ret != -1) {
++ if (state.needs_update) {
++ update(&state);
++ state.needs_update = 0;
++ }
++
++ ret = wl_display_dispatch(state.wl_display);
++ }
++
++ exit_func(&state);
++
++ return 0;
++}
++
+diff --git a/host_applications/linux/apps/hello_pi/rebuild.sh b/host_applications/linux/apps/hello_pi/rebuild.sh +index fa4539e..37120ac 100755
+--- a/host_applications/linux/apps/hello_pi/rebuild.sh
++++ b/host_applications/linux/apps/hello_pi/rebuild.sh
+@@ -13,6 +13,7 @@ make -C hello_jpeg clean
+ make -C hello_videocube clean
+ make -C hello_teapot clean
+ make -C hello_fft clean
++make -C hello_wayland clean
+
+ make -C libs/ilclient
+ make -C libs/vgfont
+@@ -29,4 +30,4 @@ make -C hello_jpeg
+ make -C hello_videocube
+ make -C hello_teapot
+ make -C hello_fft
+-
++make -C hello_wayland
+--
+2.7.0
+

recipes-graphics/userland/userland/0011-wayland-egl-Add-bcm_host-to-dependencies.patch new file +28 -0
new file mode 100644
index 0000000..386ddf3
@@ -0,0 +1,28 @@
+From 071771f1c2eb73c1f9083abb3a9f3a7712e20cdf Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Mon, 10 Aug 2015 02:38:27 -0700
+Subject: [PATCH 11/16] wayland-egl: Add bcm_host to dependencies
+
+It uses headers like vcos_platform_types.h but does not
+depend on module which should add the required include paths
+lets add the dependency on bcm_host module which should do it
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ interface/khronos/wayland-egl/wayland-egl.pc.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/interface/khronos/wayland-egl/wayland-egl.pc.in b/interface/khronos/wayland-egl/wayland-egl.pc.in
+index 8bafc15..fd259c9 100644
+--- a/interface/khronos/wayland-egl/wayland-egl.pc.in
++++ b/interface/khronos/wayland-egl/wayland-egl.pc.in
+@@ -6,5 +6,6 @@ includedir=${prefix}/include
+ Name: wayland-egl
+ Description: VideoCore wayland-egl library
+ Version: @PROJECT_APIVER@
++Requires: bcm_host
+ Libs: -L${libdir} -lwayland-egl
+ Cflags: -I${includedir}
+-- 
+2.7.0
+
recipes-graphics/userland/userland/0012-interface-remove-faulty-assert-to-make-weston-happy-.patch new file +29 -0
new file mode 100644
index 0000000..74374fc
@@ -0,0 +1,29 @@
+From fb577f53f9a91745557194b0422504e2cc93a637 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <[email protected]>
+Date: Sat, 24 Jan 2015 22:07:19 +0100
+Subject: [PATCH 12/16] interface: remove faulty assert() to make weston happy
+ at runtime
+
+This was removed after a discussion on IRC with the weston guys
+('daniels' on irc.freenode.net/#wayland).
+
+Signed-off-by: "Yann E. MORIN" <[email protected]>
+---
+ interface/vmcs_host/vc_vchi_dispmanx.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/interface/vmcs_host/vc_vchi_dispmanx.c b/interface/vmcs_host/vc_vchi_dispmanx.c
+index 1d24b6e..e2e7ccc 100755
+--- a/interface/vmcs_host/vc_vchi_dispmanx.c
++++ b/interface/vmcs_host/vc_vchi_dispmanx.c
+@@ -1304,7 +1304,6 @@ static void *dispmanx_notify_func( void *arg ) {
+          // Decrement the use count - the corresponding "use" is in vc_dispmanx_update_submit.
+          vchi_service_release(dispmanx_client.notify_handle[0]);
+          if (dispmanx_client.update_callback ) {
+-            vcos_assert( dispmanx_client.pending_update_handle == handle);
+             dispmanx_client.update_callback(handle, dispmanx_client.update_callback_param);
+          }
+       } else {
+-- 
+2.7.0
+
recipes-graphics/userland/userland/0013-zero-out-wl-buffers-in-egl_surface_free.patch new file +33 -0
new file mode 100644
index 0000000..af291dc
@@ -0,0 +1,33 @@
+From 2d91c1fded75b3207743e058b0d5ca9eb98dce58 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 6 Feb 2016 11:10:47 -0800
+Subject: [PATCH 13/16] zero-out wl buffers in egl_surface_free
+
+origins from buildroot
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ interface/khronos/egl/egl_client_surface.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
+index 49cf7e5..512c83b 100644
+--- a/interface/khronos/egl/egl_client_surface.c
++++ b/interface/khronos/egl/egl_client_surface.c
+@@ -690,11 +690,13 @@ void egl_surface_free(EGL_SURFACE_T *surface)
+       if (surface->back_wl_buffer) {
+          wl_buffer_destroy(surface->back_wl_buffer->wl_buffer);
+          free(surface->back_wl_buffer);
++         surface->back_wl_buffer = 0;
+       }
+ 
+       if (surface->front_wl_buffer) {
+          wl_buffer_destroy(surface->front_wl_buffer->wl_buffer);
+          free(surface->front_wl_buffer);
++         surface->front_wl_buffer = 0;
+       }
+ #endif
+    }
+-- 
+2.7.0
+
recipes-graphics/userland/userland/0014-initialize-front-back-wayland-buffers.patch new file +34 -0
new file mode 100644
index 0000000..26cae0a
@@ -0,0 +1,34 @@
+From 2c1574b2e867bb5dad028784642a9ad88df6b16c Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 6 Feb 2016 11:11:41 -0800
+Subject: [PATCH 14/16] initialize front back wayland buffers
+
+origins from metrological wayland support
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ interface/khronos/egl/egl_client_surface.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
+index 512c83b..a429724 100644
+--- a/interface/khronos/egl/egl_client_surface.c
++++ b/interface/khronos/egl/egl_client_surface.c
+@@ -401,11 +401,14 @@ EGL_SURFACE_T *egl_surface_create(
+ #ifdef BUILD_WAYLAND
+    if (type == WINDOW && wl_display) {
+       surface->wl_egl_window = (struct wl_egl_window*)win;
++      surface->front_wl_buffer = NULL;
+       surface->back_wl_buffer = allocate_wl_buffer(
+             surface->wl_egl_window, color);
+       resource = surface->back_wl_buffer->resource;
+    } else {
+       surface->wl_egl_window = NULL;
++      surface->front_wl_buffer = NULL;
++      surface->back_wl_buffer = NULL;
+       resource = DISPMANX_NO_HANDLE;
+    }
+ #endif
+-- 
+2.7.0
+
recipes-graphics/userland/userland_git.bb +15 -1
index bbba080..75e437f 100644
@@ -25,12 +25,25 @@ SRC_URI = "\
     file://0005-user-vcsm-Fix-build-with-clang.patch \
     file://0006-Fix-enum-type-conversion-warnings.patch \
     file://0007-vcos_platform_types-Dont-use-extern-inline-with-clan.patch \
+    file://0008-Allow-applications-to-set-next-resource-handle.patch \
+    file://0009-wayland-Add-support-for-the-Wayland-winsys.patch \
+    file://0010-wayland-Add-Wayland-example.patch \
+    file://0011-wayland-egl-Add-bcm_host-to-dependencies.patch \
+    file://0012-interface-remove-faulty-assert-to-make-weston-happy-.patch \
+    file://0013-zero-out-wl-buffers-in-egl_surface_free.patch \
+    file://0014-initialize-front-back-wayland-buffers.patch \
 "
 S = "${WORKDIR}/git"
 
 inherit cmake pkgconfig
 
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'"
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \
+                "
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
+
+PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE,,wayland,"
+
 CFLAGS_append = " -fPIC"
 
 do_install_append () {
@@ -45,6 +58,7 @@ do_install_append () {
 # to force the .so files into the runtime package (and keep them
 # out of -dev package).
 FILES_SOLIBSDEV = ""
+INSANE_SKIP_${PN} += "dev-so"
 
 FILES_${PN} += " \
     ${libdir}/*.so \
Signature · 1 line
1.9.1
author
#4 lore raw

PATCH 4/23 weston: Enable rpi compositor backend

In reply to Khem Raj

oe-core default configure options disables it

---
 recipes-graphics/wayland/weston_%.bbappend | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 recipes-graphics/wayland/weston_%.bbappend
recipes-graphics/wayland/weston_%.bbappend new file +4 -0
new file mode 100644
index 0000000..c3a7421
@@ -0,0 +1,4 @@
+EXTRA_OECONF_append_rpi = "\
+        --enable-rpi-compositor \
+        WESTON_NATIVE_BACKEND=rpi-backend.so \
+       "
Signature · 1 line
1.9.1
author
#5 lore raw

PATCH 5/23 rpi-gpio: Upgrade to 0.6.1 and fix build with clang

In reply to Khem Raj
---
 .../rpi-gpio/0001-Remove-nested-functions.patch    | 294 +++++++++++++++++++++
 .../{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb}      |   6 +-
 2 files changed, 298 insertions(+), 2 deletions(-)
 create mode 100644 recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
 rename recipes-devtools/python/{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb} (70%)
recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch new file +294 -0
new file mode 100644
index 0000000..bd97179
@@ -0,0 +1,294 @@
+From 23d7ab77865f8b17042f5cd4c6720cca475e0eb5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Wed, 13 Jan 2016 14:27:10 -0800
+Subject: [PATCH] Remove nested functions
+
+nested functions are not supported on llvm/clang compiler, replacing
+them helps make code portable and be compilable with non-gcc compilers
+additionally fix the diagnostic messages clang reported
+
+source/c_gpio.c:130:18: warning: comparison of distinct pointer types
+('volatile uint32_t *' (aka 'volatile unsigned int *') an
+d 'void *') [-Wcompare-distinct-pointer-types]
+    if (gpio_map < MAP_FAILED)
+        ~~~~~~~~ ^ ~~~~~~~~~~
+
+        source/c_gpio.c:89:13: warning: variable 'peri_base' is used
+uninitialized whenever 'if' condition is false [-Wsometimes-uninit
+ialized]
+        if (fread(buf, 1, sizeof buf, fp) == sizeof buf) {
+            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+source/c_gpio.c:116:17: note: uninitialized use occurs here
+    gpio_base = peri_base + GPIO_BASE_OFFSET;
+                ^~~~~~~~~
+source/c_gpio.c:89:9: note: remove the 'if' if its condition is always
+true
+        if (fread(buf, 1, sizeof buf, fp) == sizeof buf) {
+        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+source/c_gpio.c:64:23: note: initialize the variable 'peri_base' to
+silence this warning
+    uint32_t peri_base;
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Submitted
+
+ source/c_gpio.c  |   6 +--
+ source/py_gpio.c | 135 ++++++++++++++++++++++++++++---------------------------
+ 2 files changed, 71 insertions(+), 70 deletions(-)
+
+diff --git a/source/c_gpio.c b/source/c_gpio.c
+index c96a2b0..b69880f 100644
+--- a/source/c_gpio.c
++++ b/source/c_gpio.c
+@@ -61,7 +61,7 @@ int setup(void)
+ {
+     int mem_fd;
+     uint8_t *gpio_mem;
+-    uint32_t peri_base;
++    uint32_t peri_base = 0;
+     uint32_t gpio_base;
+     unsigned char buf[4];
+     FILE *fp;
+@@ -73,7 +73,7 @@ int setup(void)
+     if ((mem_fd = open("/dev/gpiomem", O_RDWR|O_SYNC)) > 0)
+     {
+         gpio_map = (uint32_t *)mmap(NULL, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, 0);
+-        if ((uint32_t)gpio_map < 0) {
++        if (gpio_map == MAP_FAILED) {
+             return SETUP_MMAP_FAIL;
+         } else {
+             return SETUP_OK;
+@@ -127,7 +127,7 @@ int setup(void)
+ 
+     gpio_map = (uint32_t *)mmap( (void *)gpio_mem, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, mem_fd, gpio_base);
+ 
+-    if ((uint32_t)gpio_map < 0)
++    if (gpio_map == MAP_FAILED)
+         return SETUP_MMAP_FAIL;
+ 
+     return SETUP_OK;
+diff --git a/source/py_gpio.c b/source/py_gpio.c
+index d54cc7f..007bad5 100644
+--- a/source/py_gpio.c
++++ b/source/py_gpio.c
+@@ -69,6 +69,20 @@ static int mmap_gpio_mem(void)
+       return 0;
+    }
+ }
++static inline int cleanup_one(unsigned int gpio)
++{
++   // clean up any /sys/class exports
++   event_cleanup(gpio);
++
++   // set everything back to input
++   if (gpio_direction[gpio] != -1) {
++      setup_gpio(gpio, INPUT, PUD_OFF);
++      gpio_direction[gpio] = -1;
++      return 1;
++   }
++   return 0;
++}
++
+ 
+ // python function cleanup(channel=None)
+ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
+@@ -83,19 +97,6 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
+    PyObject *tempobj;
+    static char *kwlist[] = {"channel", NULL};
+ 
+-   void cleanup_one(void)
+-   {
+-      // clean up any /sys/class exports
+-      event_cleanup(gpio);
+-
+-      // set everything back to input
+-      if (gpio_direction[gpio] != -1) {
+-         setup_gpio(gpio, INPUT, PUD_OFF);
+-         gpio_direction[gpio] = -1;
+-         found = 1;
+-      }
+-   }
+-
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|O", kwlist, &chanlist))
+       return NULL;
+ 
+@@ -140,7 +141,7 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
+       } else if (channel != -666) {    // channel was an int indicating single channel
+          if (get_gpio_number(channel, &gpio))
+             return NULL;
+-         cleanup_one();
++         found = cleanup_one(gpio);
+       } else {  // channel was a list/tuple
+          for (i=0; i<chancount; i++) {
+             if (chanlist) {
+@@ -169,7 +170,7 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
+ 
+             if (get_gpio_number(channel, &gpio))
+                return NULL;
+-            cleanup_one();
++            found = cleanup_one(gpio);
+          }
+       }
+    }
+@@ -182,6 +183,37 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
+    Py_RETURN_NONE;
+ }
+ 
++static inline int setup_one(unsigned int *gpio, int channel, int pud, int direction, int initial) {
++   if (get_gpio_number(channel, gpio))
++      return 0;
++
++   int func = gpio_function(*gpio);
++   if (gpio_warnings &&                             // warnings enabled and
++       ((func != 0 && func != 1) ||                 // (already one of the alt functions or
++       (gpio_direction[*gpio] == -1 && func == 1)))  // already an output not set from this program)
++   {
++      PyErr_WarnEx(NULL, "This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.", 1);
++   }
++
++   // warn about pull/up down on i2c channels
++   if (gpio_warnings) {
++      if (rpiinfo.p1_revision == 0) { // compute module - do nothing
++      } else if ((rpiinfo.p1_revision == 1 && (*gpio == 0 || *gpio == 1)) ||
++                 (*gpio == 2 || *gpio == 3)) {
++         if (pud == PUD_UP || pud == PUD_DOWN)
++            PyErr_WarnEx(NULL, "A physical pull up resistor is fitted on this channel!", 1);
++      }
++   }
++
++   if (direction == OUTPUT && (initial == LOW || initial == HIGH)) {
++      output_gpio(*gpio, initial);
++   }
++   setup_gpio(*gpio, direction, pud);
++   gpio_direction[*gpio] = direction;
++   return 1;
++}
++
++
+ // python function setup(channel(s), direction, pull_up_down=PUD_OFF, initial=None)
+ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwargs)
+ {
+@@ -195,37 +227,6 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
+    int pud = PUD_OFF + PY_PUD_CONST_OFFSET;
+    int initial = -1;
+    static char *kwlist[] = {"channel", "direction", "pull_up_down", "initial", NULL};
+-   int func;
+-
+-   int setup_one(void) {
+-      if (get_gpio_number(channel, &gpio))
+-         return 0;
+-
+-      func = gpio_function(gpio);
+-      if (gpio_warnings &&                             // warnings enabled and
+-          ((func != 0 && func != 1) ||                 // (already one of the alt functions or
+-          (gpio_direction[gpio] == -1 && func == 1)))  // already an output not set from this program)
+-      {
+-         PyErr_WarnEx(NULL, "This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.", 1);
+-      }
+-
+-      // warn about pull/up down on i2c channels
+-      if (gpio_warnings) {
+-         if (rpiinfo.p1_revision == 0) { // compute module - do nothing
+-         } else if ((rpiinfo.p1_revision == 1 && (gpio == 0 || gpio == 1)) ||
+-                    (gpio == 2 || gpio == 3)) {
+-            if (pud == PUD_UP || pud == PUD_DOWN)
+-               PyErr_WarnEx(NULL, "A physical pull up resistor is fitted on this channel!", 1);
+-         }
+-      }
+-
+-      if (direction == OUTPUT && (initial == LOW || initial == HIGH)) {
+-         output_gpio(gpio, initial);
+-      }
+-      setup_gpio(gpio, direction, pud);
+-      gpio_direction[gpio] = direction;
+-      return 1;
+-   }
+ 
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Oi|ii", kwlist, &chanlist, &direction, &pud, &initial))
+       return NULL;
+@@ -290,7 +291,7 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
+    } else if (chantuple) {
+        chancount = PyTuple_Size(chantuple);
+    } else {
+-       if (!setup_one())
++       if (!setup_one(&gpio, channel, pud, direction, initial))
+           return NULL;
+        Py_RETURN_NONE;
+    }
+@@ -320,12 +321,29 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
+           return NULL;
+       }
+ 
+-      if (!setup_one())
++      if (!setup_one(&gpio, channel, pud, direction, initial))
+          return NULL;
+    }
+ 
+    Py_RETURN_NONE;
+ }
++static inline int output_val(unsigned int *gpio, int channel, int value) {
++   if (get_gpio_number(channel, gpio))
++       return 0;
++
++   if (gpio_direction[*gpio] != OUTPUT)
++   {
++      PyErr_SetString(PyExc_RuntimeError, "The GPIO channel has not been set up as an OUTPUT");
++      return 0;
++   }
++
++   if (check_gpio_priv())
++      return 0;
++
++   output_gpio(*gpio, value);
++   return 1;
++}
++
+ 
+ // python function output(channel(s), value(s))
+ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
+@@ -342,23 +360,6 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
+    int chancount = -1;
+    int valuecount = -1;
+ 
+-   int output(void) {
+-      if (get_gpio_number(channel, &gpio))
+-          return 0;
+-
+-      if (gpio_direction[gpio] != OUTPUT)
+-      {
+-         PyErr_SetString(PyExc_RuntimeError, "The GPIO channel has not been set up as an OUTPUT");
+-         return 0;
+-      }
+-
+-      if (check_gpio_priv())
+-         return 0;
+-
+-      output_gpio(gpio, value);
+-      return 1;
+-   }
+-
+    if (!PyArg_ParseTuple(args, "OO", &chanlist, &valuelist))
+        return NULL;
+ 
+@@ -416,7 +417,7 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
+    }
+ 
+    if (chancount == -1) {
+-      if (!output())
++      if (!output_val(&gpio, channel, value))
+          return NULL;
+       Py_RETURN_NONE;
+    }
+@@ -472,7 +473,7 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
+               return NULL;
+           }
+       }
+-      if (!output())
++      if (!output_val(&gpio, channel, value))
+          return NULL;
+    }
+ 
+-- 
+2.7.0
+
recipes-devtools/python/rpi-gpio_0.6.1.bb renamed from recipes-devtools/python/rpi-gpio_0.5.11.bb +4 -2
similarity index 70%
rename from recipes-devtools/python/rpi-gpio_0.5.11.bb
rename to recipes-devtools/python/rpi-gpio_0.6.1.bb
index bca31cc..89f601b 100644
@@ -8,12 +8,14 @@ SRCNAME = "RPi.GPIO"
 
 SRC_URI = "\
           http://pypi.python.org/packages/source/R/RPi.GPIO/${SRCNAME}-${PV}.tar.gz \
+          file://0001-Remove-nested-functions.patch \
           "
+SRC_URI[md5sum] = "254d0443a436eb241367c487274e7197"
+SRC_URI[sha256sum] = "54e5fb06d9ea1a1389a497fb5a06dfa950c86303b0f4ba89b68c55999d1df064"
+
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
 inherit distutils
 
 COMPATIBLE_MACHINE = "raspberrypi"
 
-SRC_URI[md5sum] = "9dc3dab6ce2b7ccb833a866efb392821"
-SRC_URI[sha256sum] = "8d6f02da7f90e24512ad80ee4ccf34ef33687c88c47326f100cf7ac4d7ae4bf3"
Signature · 1 line
1.9.1
author
#6 lore raw

PATCH 6/23 eglinfo-x11, eglinfo-fb: Add EGLINFO_DEVICE via bbappends

In reply to Khem Raj
---
 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend  | 1 +
 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend | 1 +
 2 files changed, 2 insertions(+)
 create mode 100644 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
 create mode 100644 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
recipes-graphics/eglinfo/eglinfo-fb_%.bbappend new file +1 -0
new file mode 100644
index 0000000..7f8b600
@@ -0,0 +1 @@
+EGLINFO_DEVICE_rpi  = "raspberrypi"
recipes-graphics/eglinfo/eglinfo-x11_%.bbappend new file +1 -0
new file mode 100644
index 0000000..7f8b600
@@ -0,0 +1 @@
+EGLINFO_DEVICE_rpi  = "raspberrypi"
Signature · 1 line
1.9.1
author
#7 lore raw

PATCH 7/23 python-rtimu: Fix build with musl

In reply to Khem Raj

ioctl(3) needs to include asm/ioctl.h for its signature

---
 ...0001-include-asm-ioctl.h-for-ioctl-define.patch | 33 ++++++++++++++++++++++
 recipes-devtools/python/python-rtimu_git.bb        |  4 ++-
 2 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch new file +33 -0
new file mode 100644
index 0000000..4a93a1c
@@ -0,0 +1,33 @@
+From c3aa4af56652b403e304ea5f321acfe289e42922 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 30 Jan 2016 16:07:14 -0800
+Subject: [PATCH] include asm/ioctl.h for ioctl() define
+
+also fixes errors e.g.
+
+../../RTIMULib/RTIMUHal.cpp:208:29: error: '_IOC_SIZEBITS' was not
+declared in this scope
+         return ioctl(m_SPI, SPI_IOC_MESSAGE(1), &wrIOC);
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Submitted
+
+ RTIMULib/RTIMUHal.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/RTIMULib/RTIMUHal.cpp b/RTIMULib/RTIMUHal.cpp
+index f9c3d15..d968326 100644
+--- a/RTIMULib/RTIMUHal.cpp
++++ b/RTIMULib/RTIMUHal.cpp
+@@ -29,6 +29,7 @@
+ #if !defined(WIN32) && !defined(__APPLE__)
+ 
+ #include <linux/spi/spidev.h>
++#include <asm/ioctl.h>
+ 
+ RTIMUHal::RTIMUHal()
+ {
+-- 
+2.7.0
+
recipes-devtools/python/python-rtimu_git.bb +3 -1
index f51a234..63c92b3 100644
@@ -5,7 +5,9 @@ SECTION = "devel/python"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://../../LICENSE;md5=96cdecb41125f498958e09b72faf318e"
 
-SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master"
+SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master \
+           file://0001-include-asm-ioctl.h-for-ioctl-define.patch;patchdir=../.. \
+          "
 SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
 
 S = "${WORKDIR}/git/Linux/python/"
Signature · 1 line
1.9.1
#8 lore raw

Re: [meta-raspberrypi][PATCH 07/23] python-rtimu: Fix build with musl

Quoted 53 lines · Khem Raj

ioctl(3) needs to include asm/ioctl.h for its signature

---
 ...0001-include-asm-ioctl.h-for-ioctl-define.patch | 33 ++++++++++++++++++++++
 recipes-devtools/python/python-rtimu_git.bb        |  4 ++-
 2 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch new file +33 -0
new file mode 100644
index 0000000..4a93a1c
@@ -0,0 +1,33 @@
+From c3aa4af56652b403e304ea5f321acfe289e42922 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 30 Jan 2016 16:07:14 -0800
+Subject: [PATCH] include asm/ioctl.h for ioctl() define
+
+also fixes errors e.g.
+
+../../RTIMULib/RTIMUHal.cpp:208:29: error: '_IOC_SIZEBITS' was not
+declared in this scope
+         return ioctl(m_SPI, SPI_IOC_MESSAGE(1), &wrIOC);
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Submitted
+
+ RTIMULib/RTIMUHal.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/RTIMULib/RTIMUHal.cpp b/RTIMULib/RTIMUHal.cpp
+index f9c3d15..d968326 100644
+--- a/RTIMULib/RTIMUHal.cpp
++++ b/RTIMULib/RTIMUHal.cpp
+@@ -29,6 +29,7 @@
+ #if !defined(WIN32) && !defined(__APPLE__)
+
+ #include <linux/spi/spidev.h>
++#include <asm/ioctl.h>
+
+ RTIMUHal::RTIMUHal()
+ {
+--
+2.7.0
+
recipes-devtools/python/python-rtimu_git.bb +0 -0
index f51a234..63c92b3 100644

recipes-devtools/python/python-rtimu_git.bb SECTION = "devel/python" · line 13

Quoted 10 lines
recipes-devtools/python/python-rtimu_git.bb +3 -1
@@ -5,7 +5,9 @@ SECTION = "devel/python"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://../../LICENSE;md5=96cdecb41125f498958e09b72faf318e"
 
-SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master"
+SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master \
+           file://0001-include-asm-ioctl.h-for-ioctl-define.patch;patchdir=../.. \
+          "
 SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
 
 S = "${WORKDIR}/git/Linux/python/"

Hi Raj! Merged to master. Thank you.

--
Andrei Gherzan

author
#9 lore raw

PATCH 8/23 wiringPi: Fix build with musl

In reply to Khem Raj

Include asm/ioctl.h for _IOC_SIZEBITS

---
 ...de-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch | 58 ++++++++++++++++++++++
 recipes-devtools/wiringPi/wiringpi_git.bb          |  8 +--
 2 files changed, 62 insertions(+), 4 deletions(-)
 create mode 100644 recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch
recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch new file +58 -0
new file mode 100644
index 0000000..5de5853
@@ -0,0 +1,58 @@
+From 7f65eb37a82a6d9b095d9c8f262ad9dd205acd03 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 30 Jan 2016 16:57:38 -0800
+Subject: [PATCH] include <asm/ioctl.h> directly for _IOC_SIZEBITS
+
+Fixes errors like
+| wiringPiSPI.c: In function 'wiringPiSPIDataRW':
+| wiringPiSPI.c:89:35: error: '_IOC_SIZEBITS' undeclared (first use in
+this function)
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Submitted
+
+ wiringPi/wiringPi.c    | 1 +
+ wiringPi/wiringPiI2C.c | 1 +
+ wiringPi/wiringPiSPI.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c
+index 32e5100..cb5db9d 100644
+--- a/wiringPi/wiringPi.c
++++ b/wiringPi/wiringPi.c
+@@ -64,6 +64,7 @@
+ #include <time.h>
+ #include <fcntl.h>
+ #include <pthread.h>
++#include <asm/ioctl.h>
+ #include <sys/time.h>
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+diff --git a/wiringPi/wiringPiI2C.c b/wiringPi/wiringPiI2C.c
+index c787bce..efdf53c 100644
+--- a/wiringPi/wiringPiI2C.c
++++ b/wiringPi/wiringPiI2C.c
+@@ -52,6 +52,7 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
++#include <asm/ioctl.h>
+ 
+ #include "wiringPi.h"
+ #include "wiringPiI2C.h"
+diff --git a/wiringPi/wiringPiSPI.c b/wiringPi/wiringPiSPI.c
+index 453df31..ae3c7d9 100644
+--- a/wiringPi/wiringPiSPI.c
++++ b/wiringPi/wiringPiSPI.c
+@@ -27,6 +27,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <string.h>
++#include <asm/ioctl.h>
+ #include <sys/ioctl.h>
+ #include <linux/spi/spidev.h>
+ 
+-- 
+2.7.0
+
recipes-devtools/wiringPi/wiringpi_git.bb +4 -4
index 4254a0a..9d2206b 100644
@@ -9,10 +9,10 @@ SRCREV = "d79506694d7ba1c3da865d095238289d6175057d"
 
 S = "${WORKDIR}/git"
 
-SRC_URI = "\
-          git://git.drogon.net/wiringPi \
-          file://0001-Add-initial-cross-compile-support.patch \
-          "
+SRC_URI = "git://git.drogon.net/wiringPi \
+           file://0001-Add-initial-cross-compile-support.patch \
+           file://0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch \
+           "
 
 COMPATIBLE_MACHINE = "raspberrypi"
 
Signature · 1 line
1.9.1
#10 lore raw

Re: [meta-raspberrypi][PATCH 08/23] wiringPi: Fix build with musl

Quoted 82 lines · Khem Raj

Include asm/ioctl.h for _IOC_SIZEBITS

---
 ...de-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch | 58 ++++++++++++++++++++++
 recipes-devtools/wiringPi/wiringpi_git.bb          |  8 +--
 2 files changed, 62 insertions(+), 4 deletions(-)
 create mode 100644 recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch
recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch new file +58 -0
new file mode 100644
index 0000000..5de5853
@@ -0,0 +1,58 @@
+From 7f65eb37a82a6d9b095d9c8f262ad9dd205acd03 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 30 Jan 2016 16:57:38 -0800
+Subject: [PATCH] include <asm/ioctl.h> directly for _IOC_SIZEBITS
+
+Fixes errors like
+| wiringPiSPI.c: In function 'wiringPiSPIDataRW':
+| wiringPiSPI.c:89:35: error: '_IOC_SIZEBITS' undeclared (first use in
+this function)
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Submitted
+
+ wiringPi/wiringPi.c    | 1 +
+ wiringPi/wiringPiI2C.c | 1 +
+ wiringPi/wiringPiSPI.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c
+index 32e5100..cb5db9d 100644
+--- a/wiringPi/wiringPi.c
++++ b/wiringPi/wiringPi.c
+@@ -64,6 +64,7 @@
+ #include <time.h>
+ #include <fcntl.h>
+ #include <pthread.h>
++#include <asm/ioctl.h>
+ #include <sys/time.h>
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+diff --git a/wiringPi/wiringPiI2C.c b/wiringPi/wiringPiI2C.c
+index c787bce..efdf53c 100644
+--- a/wiringPi/wiringPiI2C.c
++++ b/wiringPi/wiringPiI2C.c
+@@ -52,6 +52,7 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
++#include <asm/ioctl.h>
+
+ #include "wiringPi.h"
+ #include "wiringPiI2C.h"
+diff --git a/wiringPi/wiringPiSPI.c b/wiringPi/wiringPiSPI.c
+index 453df31..ae3c7d9 100644
+--- a/wiringPi/wiringPiSPI.c
++++ b/wiringPi/wiringPiSPI.c
+@@ -27,6 +27,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <string.h>
++#include <asm/ioctl.h>
+ #include <sys/ioctl.h>
+ #include <linux/spi/spidev.h>
+
+--
+2.7.0
+
recipes-devtools/wiringPi/wiringpi_git.bb +0 -1
index 4254a0a..9d2206b 100644
@@ -9,10 +9,10 @@ SRCREV = "d79506694d7ba1c3da865d095238289d6175057d"
 
 S = "${WORKDIR}/git"
 
-SRC_URI = "\

recipes-devtools/wiringPi/wiringpi_git.bb SRCREV = "d79506694d7ba1c3da865d095238289d6175057d" · line 18

Quoted 10 lines
recipes-devtools/wiringPi/wiringpi_git.bb +4 -3
-          git://git.drogon.net/wiringPi \
-          file://0001-Add-initial-cross-compile-support.patch \
-          "
+SRC_URI = "git://git.drogon.net/wiringPi \
+           file://0001-Add-initial-cross-compile-support.patch \
+           file://0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch \
+           "
 
 COMPATIBLE_MACHINE = "raspberrypi"
 

Hi Raj! Merged to master. Thank you.

--
Andrei Gherzan

author
#11 lore raw

PATCH 9/23 Delete rpc flushing of thread in glEGLImageTargetTexture2DOES

In reply to Khem Raj
---
 .../userland/userland/0015-Remove-RPC_FLUSH.patch  | 27 ++++++++++++++++++++++
 recipes-graphics/userland/userland_git.bb          |  1 +
 2 files changed, 28 insertions(+)
 create mode 100644 recipes-graphics/userland/userland/0015-Remove-RPC_FLUSH.patch
recipes-graphics/userland/userland/0015-Remove-RPC_FLUSH.patch new file +27 -0
new file mode 100644
index 0000000..d90cb09
@@ -0,0 +1,27 @@
+From a09249699cab4ffe6304aaf7e5936019c97f5a26 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 6 Feb 2016 11:09:18 -0800
+Subject: [PATCH 15/16] Remove RPC_FLUSH
+
+Origins from buildroot
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ interface/khronos/ext/gl_oes_egl_image_client.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/interface/khronos/ext/gl_oes_egl_image_client.c b/interface/khronos/ext/gl_oes_egl_image_client.c
+index f9b7287..b04ffef 100644
+--- a/interface/khronos/ext/gl_oes_egl_image_client.c
++++ b/interface/khronos/ext/gl_oes_egl_image_client.c
+@@ -107,7 +107,6 @@ GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageO
+                    GLEGLIMAGETARGETTEXTURE2DOES_ID,
+                    RPC_ENUM(target),
+                    RPC_EGLID(image));
+-         RPC_FLUSH(thread);
+ #if EGL_BRCM_global_image
+       }
+ #endif
+-- 
+2.7.0
+
recipes-graphics/userland/userland_git.bb +1 -0
index 75e437f..d78a7c9 100644
@@ -32,6 +32,7 @@ SRC_URI = "\
     file://0012-interface-remove-faulty-assert-to-make-weston-happy-.patch \
     file://0013-zero-out-wl-buffers-in-egl_surface_free.patch \
     file://0014-initialize-front-back-wayland-buffers.patch \
+    file://0015-Remove-RPC_FLUSH.patch \
 "
 S = "${WORKDIR}/git"
 
Signature · 1 line
1.9.1
author
#12 lore raw

PATCH 10/23 rpio: Include sys/types.h for caddr_t

In reply to Khem Raj

Fixes build with musl

---
 ...-types.h-explicitly-for-getting-caddr_t-d.patch | 30 ++++++++++++++++++++++
 recipes-devtools/python/rpio_0.10.0.bb             |  6 ++---
 2 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch new file +30 -0
new file mode 100644
index 0000000..bed9749
@@ -0,0 +1,30 @@
+From c86bfacc98d58244f532626954ed00d84ecfa82d Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 30 Jan 2016 17:12:37 -0800
+Subject: [PATCH] include sys/types.h explicitly for getting caddr_t definition
+
+Helps fixing build on musl where sys/types.h is not included indirectly
+as happening on glibc
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Submitted
+
+ source/c_gpio/c_gpio.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/source/c_gpio/c_gpio.c b/source/c_gpio/c_gpio.c
+index 25a04ca..70df632 100644
+--- a/source/c_gpio/c_gpio.c
++++ b/source/c_gpio/c_gpio.c
+@@ -29,6 +29,7 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
++#include <sys/types.h>
+ #include <sys/mman.h>
+ #include "c_gpio.h"
+ 
+-- 
+2.7.0
+
recipes-devtools/python/rpio_0.10.0.bb +3 -3
index 1cc1661..69ecb6f 100644
@@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d9
 
 SRCNAME = "RPIO"
 
-SRC_URI = "\
-          http://pypi.python.org/packages/source/R/RPIO/${SRCNAME}-${PV}.tar.gz \
-          "
+SRC_URI = "http://pypi.python.org/packages/source/R/RPIO/${SRCNAME}-${PV}.tar.gz \
+           file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch \
+           "
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
 inherit setuptools
Signature · 1 line
1.9.1
#13 lore raw

Re: [meta-raspberrypi][PATCH 10/23] rpio: Include sys/types.h for caddr_t

Quoted 52 lines · Khem Raj

Fixes build with musl

---
 ...-types.h-explicitly-for-getting-caddr_t-d.patch | 30 ++++++++++++++++++++++
 recipes-devtools/python/rpio_0.10.0.bb             |  6 ++---
 2 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch new file +30 -0
new file mode 100644
index 0000000..bed9749
@@ -0,0 +1,30 @@
+From c86bfacc98d58244f532626954ed00d84ecfa82d Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 30 Jan 2016 17:12:37 -0800
+Subject: [PATCH] include sys/types.h explicitly for getting caddr_t definition
+
+Helps fixing build on musl where sys/types.h is not included indirectly
+as happening on glibc
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+Upstream-Status: Submitted
+
+ source/c_gpio/c_gpio.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/source/c_gpio/c_gpio.c b/source/c_gpio/c_gpio.c
+index 25a04ca..70df632 100644
+--- a/source/c_gpio/c_gpio.c
++++ b/source/c_gpio/c_gpio.c
+@@ -29,6 +29,7 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
++#include <sys/types.h>
+ #include <sys/mman.h>
+ #include "c_gpio.h"
+
+--
+2.7.0
+
recipes-devtools/python/rpio_0.10.0.bb +0 -0
index 1cc1661..69ecb6f 100644
@@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d9
 
 SRCNAME = "RPIO"

recipes-devtools/python/rpio_0.10.0.bb LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d9 · line 15

Quoted 10 lines
recipes-devtools/python/rpio_0.10.0.bb +3 -3
 
-SRC_URI = "\
-          http://pypi.python.org/packages/source/R/RPIO/${SRCNAME}-${PV}.tar.gz \
-          "
+SRC_URI = "http://pypi.python.org/packages/source/R/RPIO/${SRCNAME}-${PV}.tar.gz \
+           file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch \
+           "
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
 inherit setuptools

Merged to master. Thank you.

--
Andrei Gherzan

author
#14 lore raw

PATCH 11/23 userland: Define PROJECT_APIVER and rprovide libgles2 libgl

In reply to Khem Raj

These are needed for pkgconfig to have correct version number which is checked by many configure systems e.g. cogl to decide on support for wayland-egl

rprovides are expected by cogl as well to define runtime deps on libgles2 and libgl

---
 .../userland/0016-define-PROJECT_APIVER.patch      | 33 ++++++++++++++++++++++
 recipes-graphics/userland/userland_git.bb          |  3 ++
 2 files changed, 36 insertions(+)
 create mode 100644 recipes-graphics/userland/userland/0016-define-PROJECT_APIVER.patch
recipes-graphics/userland/userland/0016-define-PROJECT_APIVER.patch new file +33 -0
new file mode 100644
index 0000000..63a35eb
@@ -0,0 +1,33 @@
+From 56072d7282e7daf65f58fa897f1f76268ae88121 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 6 Feb 2016 11:06:26 -0800
+Subject: [PATCH 16/16] define PROJECT_APIVER
+
+this helps in compiling components which use packageconfig to poke for
+library versions and requiring minimum supported version
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ CMakeLists.txt | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b240ef6..aa5e14f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,6 +2,12 @@ cmake_minimum_required(VERSION 2.8)
+ 
+ project(vmcs_host_apps)
+ 
++SET(PROJECT_VER_MAJOR 1)
++SET(PROJECT_VER_MINOR 0)
++SET(PROJECT_VER_PATCH 0)
++SET(PROJECT_VER "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}")
++SET(PROJECT_APIVER "${PROJECT_VER}")
++
+ set(BUILD_MMAL TRUE)
+ set(BUILD_MMAL_APPS TRUE)
+ set(vmcs_root ${PROJECT_SOURCE_DIR})
+-- 
+2.7.0
+
recipes-graphics/userland/userland_git.bb +3 -0
index d78a7c9..5ea48e1 100644
@@ -10,6 +10,8 @@ PR = "r5"
 PROVIDES = "virtual/libgles2 \
             virtual/egl"
 
+RPROVIDES_${PN} += "libgles2 libgl"
+
 COMPATIBLE_MACHINE = "raspberrypi"
 
 SRCBRANCH = "master"
@@ -33,6 +35,7 @@ SRC_URI = "\
     file://0013-zero-out-wl-buffers-in-egl_surface_free.patch \
     file://0014-initialize-front-back-wayland-buffers.patch \
     file://0015-Remove-RPC_FLUSH.patch \
+    file://0016-define-PROJECT_APIVER.patch \
 "
 S = "${WORKDIR}/git"
 
Signature · 1 line
1.9.1
author
#15 lore raw

PATCH 12/23 userland: Add wayland to deps if in DISTRO_FEATURES

In reply to Khem Raj
---
 recipes-graphics/userland/userland_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
recipes-graphics/userland/userland_git.bb +1 -1
index 5ea48e1..7ec02e7 100644
@@ -46,7 +46,7 @@ EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-a
 
 PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
 
-PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE,,wayland,"
+PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland"
 
 CFLAGS_append = " -fPIC"
 
Signature · 1 line
1.9.1
author
#16 lore raw

PATCH 13/23 userland: Fix build race with wayland support

In reply to Khem Raj
---
 .../userland/0017-fix-cmake-dependency-race.patch  | 78 ++++++++++++++++++++++
 recipes-graphics/userland/userland_git.bb          |  1 +
 2 files changed, 79 insertions(+)
 create mode 100644 recipes-graphics/userland/userland/0017-fix-cmake-dependency-race.patch
recipes-graphics/userland/userland/0017-fix-cmake-dependency-race.patch new file +78 -0
new file mode 100644
index 0000000..face946
@@ -0,0 +1,78 @@
+From e2df72943951feb2c2a0899d4a1a00d24d7a3ccc Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 6 Feb 2016 13:12:47 -0800
+Subject: [PATCH 17/17] fix cmake dependency race
+
+Fixes errors like
+
+/a/builder/mnt/build-oe/tmp-glibc/work/raspberrypi2-oe-linux-gnueabi/userland/git-r5/git/interface/vmcs_host/vc_vchi_dispmanx.h:72:66:
+fatal error: interface/vmcs_host/wayland-dispmanx-server-protocol.h: No
+such file or directory
+compilation terminated.
+interface/khronos/CMakeFiles/EGL_static.dir/build.make:773: recipe for
+target 'interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_wayland.c.o'
+failed
+make[2]: ***
+[interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_wayland.c.o] Error 1
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ interface/vcos/pthreads/CMakeLists.txt | 8 ++++++++
+ interface/vmcs_host/CMakeLists.txt     | 8 --------
+ interface/vmcs_host/vc_vchi_dispmanx.h | 2 +-
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/interface/vcos/pthreads/CMakeLists.txt b/interface/vcos/pthreads/CMakeLists.txt
+index 1d81ca3..d6cd415 100644
+--- a/interface/vcos/pthreads/CMakeLists.txt
++++ b/interface/vcos/pthreads/CMakeLists.txt
+@@ -33,6 +33,14 @@ set (SOURCES
+    ../generic/vcos_generic_blockpool.c
+ )
+ 
++if (BUILD_WAYLAND)
++wayland_add_protocol_server(
++    SOURCES
++    ../../../interface/wayland/dispmanx.xml
++    dispmanx
++)
++endif ()
++
+ if (VCOS_PTHREADS_BUILD_SHARED)
+    add_library (vcos SHARED ${SOURCES})
+    target_link_libraries (vcos pthread dl rt)
+diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
+index 35150ed..22949a8 100755
+--- a/interface/vmcs_host/CMakeLists.txt
++++ b/interface/vmcs_host/CMakeLists.txt
+@@ -17,14 +17,6 @@ set(VCHOSTIF_SOURCE
+ #            ${VMCS_TARGET}/vmcs_main.c
+ #  vc_vchi_haud.c
+ 
+-if (BUILD_WAYLAND)
+-wayland_add_protocol_server(
+-    VCHOSTIF_SOURCE
+-    ../../interface/wayland/dispmanx.xml
+-    dispmanx
+-)
+-endif ()
+-
+ add_library(vchostif ${VCHOSTIF_SOURCE})
+ 
+ #add_library(bufman            vc_vchi_bufman.c            )
+diff --git a/interface/vmcs_host/vc_vchi_dispmanx.h b/interface/vmcs_host/vc_vchi_dispmanx.h
+index f0bae30..8c44c58 100644
+--- a/interface/vmcs_host/vc_vchi_dispmanx.h
++++ b/interface/vmcs_host/vc_vchi_dispmanx.h
+@@ -69,7 +69,7 @@ typedef struct {
+ #ifdef BUILD_WAYLAND
+ /* XXX: This should be in a private header that can be included from EGL and vc_* */
+ #include <wayland-server.h>
+-#include "interface/vmcs_host/wayland-dispmanx-server-protocol.h"
++#include "interface/vcos/pthreads/wayland-dispmanx-server-protocol.h"
+ struct wl_dispmanx_server_buffer {
+ 	struct wl_resource *resource;
+ 	struct wl_dispmanx *dispmanx;
+-- 
+2.7.0
+
recipes-graphics/userland/userland_git.bb +1 -0
index 7ec02e7..c59b5f3 100644
@@ -36,6 +36,7 @@ SRC_URI = "\
     file://0014-initialize-front-back-wayland-buffers.patch \
     file://0015-Remove-RPC_FLUSH.patch \
     file://0016-define-PROJECT_APIVER.patch \
+    file://0017-fix-cmake-dependency-race.patch \
 "
 S = "${WORKDIR}/git"
 
Signature · 1 line
1.9.1
author
#17 lore raw

PATCH 14/23 gstreamer1.0-omx: Add raspberry pi optimization patches and config options

In reply to Khem Raj

Patches from Hong Li <[email protected]>

---
 .../gstreamer1.0-omx/0001-config-files-path.patch  | 137 +++++++++++++++++++++
 ...o-acquire-buffer-when-src-pad-isn-t-activ.patch |  47 +++++++
 .../0003-fix-decoder-flushing.patch                |  15 +++
 .../gstreamer/gstreamer1.0-omx_%.bbappend          |  19 +++
 4 files changed, 218 insertions(+)
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-config-files-path.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-fix-decoder-flushing.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-config-files-path.patch new file +137 -0
new file mode 100644
index 0000000..a7da922
@@ -0,0 +1,137 @@
+--- a/config/bellagio/gstomx.conf
++++ b/config/bellagio/gstomx.conf
+@@ -1,6 +1,6 @@
+ [omxmpeg4videodec]
+ type-name=GstOMXMPEG4VideoDec
+-core-name=/usr/local/lib/libomxil-bellagio.so.0
++core-name=/usr/lib/libomxil-bellagio.so.0
+ component-name=OMX.st.video_decoder.mpeg4
+ rank=256
+ in-port-index=0
+@@ -9,7 +9,7 @@
+ 
+ [omxh264dec]
+ type-name=GstOMXH264Dec
+-core-name=/usr/local/lib/libomxil-bellagio.so.0
++core-name=/usr/lib/libomxil-bellagio.so.0
+ component-name=OMX.st.video_decoder.avc
+ rank=256
+ in-port-index=0
+@@ -18,7 +18,7 @@
+ 
+ [omxmpeg4videoenc]
+ type-name=GstOMXMPEG4VideoEnc
+-core-name=/usr/local/lib/libomxil-bellagio.so.0
++core-name=/usr/lib/libomxil-bellagio.so.0
+ component-name=OMX.st.video_encoder.mpeg4
+ rank=0
+ in-port-index=0
+@@ -27,7 +27,7 @@
+ 
+ [omxaacenc]
+ type-name=GstOMXAACEnc
+-core-name=/usr/local/lib/libomxil-bellagio.so.0
++core-name=/usr/lib/libomxil-bellagio.so.0
+ component-name=OMX.st.audio_encoder.aac
+ rank=0
+ in-port-index=0
+--- a/config/rpi/gstomx.conf
++++ b/config/rpi/gstomx.conf
+@@ -1,6 +1,6 @@
+ [omxmpeg2videodec]
+ type-name=GstOMXMPEG2VideoDec
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_decode
+ rank=257
+ in-port-index=130
+@@ -9,7 +9,7 @@
+ 
+ [omxmpeg4videodec]
+ type-name=GstOMXMPEG4VideoDec
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_decode
+ rank=257
+ in-port-index=130
+@@ -18,7 +18,7 @@
+ 
+ [omxh263dec]
+ type-name=GstOMXH263Dec
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_decode
+ rank=257
+ in-port-index=130
+@@ -27,7 +27,7 @@
+ 
+ [omxh264dec]
+ type-name=GstOMXH264Dec
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_decode
+ rank=257
+ in-port-index=130
+@@ -36,7 +36,7 @@
+ 
+ [omxtheoradec]
+ type-name=GstOMXTheoraDec
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_decode
+ rank=257
+ in-port-index=130
+@@ -45,7 +45,7 @@
+ 
+ [omxvp8dec]
+ type-name=GstOMXVP8Dec
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_decode
+ rank=257
+ in-port-index=130
+@@ -54,7 +54,7 @@
+ 
+ [omxmjpegdec]
+ type-name=GstOMXMJPEGDec
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_decode
+ rank=257
+ in-port-index=130
+@@ -63,7 +63,7 @@
+ 
+ [omxvc1dec]
+ type-name=GstOMXWMVDec
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_decode
+ rank=256
+ in-port-index=130
+@@ -73,7 +73,7 @@
+ 
+ [omxh264enc]
+ type-name=GstOMXH264Enc
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.video_encode
+ rank=257
+ in-port-index=200
+@@ -82,7 +82,7 @@
+ 
+ [omxanalogaudiosink]
+ type-name=GstOMXAnalogAudioSink
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.audio_render
+ rank=256
+ in-port-index=100
+@@ -92,7 +92,7 @@
+ 
+ [omxhdmiaudiosink]
+ type-name=GstOMXHdmiAudioSink
+-core-name=/opt/vc/lib/libopenmaxil.so
++core-name=/usr/lib/libopenmaxil.so
+ component-name=OMX.broadcom.audio_render
+ rank=257
+ in-port-index=100
recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch new file +47 -0

47 lines not on this page · raw message

recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-fix-decoder-flushing.patch new file +15 -0
new file mode 100644
index 0000000..a244b09
@@ -0,0 +1,15 @@
+diff --git a/omx/gstomx.c b/omx/gstomx.c
+index 69696c4..c382019 100644
+--- a/omx/gstomx.c
++++ b/omx/gstomx.c
+@@ -1508,8 +1508,8 @@ gst_omx_port_set_flushing (GstOMXPort * port, GstClockTime timeout,
+     last_error = OMX_ErrorNone;
+     gst_omx_component_handle_messages (comp);
+     while (signalled && last_error == OMX_ErrorNone && !port->flushed
+-        && port->buffers
+-        && port->buffers->len > g_queue_get_length (&port->pending_buffers)) {
++     /* && port->buffers
++        && port->buffers->len > g_queue_get_length (&port->pending_buffers) */) {
+       signalled = gst_omx_component_wait_message (comp, timeout);
+       if (signalled)
+         gst_omx_component_handle_messages (comp);
recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend new file +19 -0
new file mode 100644
index 0000000..b313acd
@@ -0,0 +1,19 @@
+#
+# Need to make this conditional to gstreamer1
+#
+SRC_URI_append_rpi = " \
+             file://0001-config-files-path.patch \
+             file://0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch \
+             file://0003-fix-decoder-flushing.patch \
+"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx:"
+
+GSTREAMER_1_0_OMX_TARGET_rpi = "rpi"
+GSTREAMER_1_0_OMX_CORE_NAME_rpi = "${libdir}/libopenmaxil.so"
+
+
+# How to make this RPI specific?
+EXTRA_OECONF_append_rpi  = " CFLAGS="$CFLAGS -I${STAGING_DIR_TARGET}/usr/include/IL -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux""
+#examples only build with GL but not GLES, so disable it for RPI
+EXTRA_OECONF_append_rpi = " --disable-examples"
Signature · 1 line
1.9.1
author
#18 lore raw

PATCH 15/23 weston: Specify egl and compositor options for rpi

In reply to Khem Raj
---
 recipes-graphics/weston/weston_%.bbappend | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 recipes-graphics/weston/weston_%.bbappend
recipes-graphics/weston/weston_%.bbappend new file +7 -0
new file mode 100644
index 0000000..3ec311d
@@ -0,0 +1,7 @@
+EXTRA_OECONF += "--enable-rpi-compositor \
+             --disable-resize-optimization \
+             --disable-setuid-install \
+             --disable-xwayland-test \
+             --disable-simple-egl-clients \
+             WESTON_NATIVE_BACKEND=rpi-backend.so \
+"
Signature · 1 line
1.9.1
author
#19 lore raw

PATCH 16/23 gstreamer1.0-omx: Backports and fixes for smooth video playback

In reply to Khem Raj
---
 .../0003-no-timeout-on-get-state.patch             | 16 +++++
 ...erly-handle-drain-requests-while-flushing.patch | 69 ++++++++++++++++++++++
 ...-gst_omx_video_dec_set_format-if-there-s-.patch | 30 ++++++++++
 .../gstreamer/gstreamer1.0-omx_%.bbappend          |  3 +
 4 files changed, 118 insertions(+)
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-no-timeout-on-get-state.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-Properly-handle-drain-requests-while-flushing.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-no-timeout-on-get-state.patch new file +16 -0
new file mode 100644
index 0000000..0a0050d
@@ -0,0 +1,16 @@
+diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
+index 0d4e7a1..a0d9c74 100644
+--- a/omx/gstomxvideodec.c
++++ b/omx/gstomxvideodec.c
+@@ -1697,9 +1697,9 @@ gst_omx_video_dec_stop (GstVideoDecoder * decoder)
+   g_cond_broadcast (&self->drain_cond);
+   g_mutex_unlock (&self->drain_lock);
+ 
+-  gst_omx_component_get_state (self->dec, 5 * GST_SECOND);
++  gst_omx_component_get_state (self->dec, 0);
+ #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL)
+-  gst_omx_component_get_state (self->egl_render, 1 * GST_SECOND);
++  gst_omx_component_get_state (self->egl_render, 0);
+ #endif
+ 
+   gst_buffer_replace (&self->codec_data, NULL);
recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-Properly-handle-drain-requests-while-flushing.patch new file +69 -0

69 lines not on this page · raw message

recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch new file +30 -0
new file mode 100644
index 0000000..b7a8753
@@ -0,0 +1,30 @@
+From 12103842d5f347cf245e71071d0c44297bcdb1f9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <[email protected]>
+Date: Fri, 4 Dec 2015 18:39:59 +0100
+Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a
+ timeout releasing the buffers taken by the egl_render out port
+
+---
+ omx/gstomxvideodec.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
+index 2368f34..da35e0d 100644
+--- a/omx/gstomxvideodec.c
++++ b/omx/gstomxvideodec.c
+@@ -1905,8 +1905,11 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder,
+               5 * GST_SECOND) != OMX_ErrorNone)
+         return FALSE;
+       if (gst_omx_port_wait_buffers_released (out_port,
+-              1 * GST_SECOND) != OMX_ErrorNone)
++              1 * GST_SECOND) != OMX_ErrorNone) {
++#if !(defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL))
+         return FALSE;
++#endif
++      }
+       if (gst_omx_port_deallocate_buffers (self->dec_in_port) != OMX_ErrorNone)
+         return FALSE;
+       if (gst_omx_video_dec_deallocate_output_buffers (self) != OMX_ErrorNone)
+-- 
+2.1.4
+
recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend +3 -0
index b313acd..a13aad7 100644
@@ -5,6 +5,9 @@ SRC_URI_append_rpi = " \
              file://0001-config-files-path.patch \
              file://0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch \
              file://0003-fix-decoder-flushing.patch \
+             file://0003-no-timeout-on-get-state.patch \
+             file://0004-Properly-handle-drain-requests-while-flushing.patch \
+             file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \
 "
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx:"
Signature · 1 line
1.9.1
author
#20 lore raw

PATCH 17/23 linux-raspberrypi: Upgrade 4.1 kernel to 4.1.17

In reply to Khem Raj
---
 recipes-kernel/linux/linux-raspberrypi_4.1.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
recipes-kernel/linux/linux-raspberrypi_4.1.bb +2 -2
index 3a3cf40..d5bfa45 100644
@@ -1,6 +1,6 @@
-LINUX_VERSION ?= "4.1.10"
+LINUX_VERSION ?= "4.1.17"
 
-SRCREV = "b74df9228c27f55361c065bc5dbfba88861cc771"
+SRCREV = "cb2f10196a9b718a2d94bb4ac0887c2ea14988ae"
 SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.1.y"
 
 require linux-raspberrypi.inc
Signature · 1 line
1.9.1
#21 lore raw

Re: [meta-raspberrypi][PATCH 17/23] linux-raspberrypi: Upgrade 4.1 kernel to 4.1.17

Quoted 10 lines · Khem Raj
---
 recipes-kernel/linux/linux-raspberrypi_4.1.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
recipes-kernel/linux/linux-raspberrypi_4.1.bb +0 -0
index 3a3cf40..d5bfa45 100644

recipes-kernel/linux/linux-raspberrypi_4.1.bb line 6

Quoted 8 lines
recipes-kernel/linux/linux-raspberrypi_4.1.bb +2 -2
@@ -1,6 +1,6 @@
-LINUX_VERSION ?= "4.1.10"
+LINUX_VERSION ?= "4.1.17"
 
-SRCREV = "b74df9228c27f55361c065bc5dbfba88861cc771"
+SRCREV = "cb2f10196a9b718a2d94bb4ac0887c2ea14988ae"
 SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.1.y"
 
 require linux-raspberrypi.inc

Hi Raj,

Merged to master. Thank you.

--
Andrei Gherzan

author
#22 lore raw

PATCH 18/23 firmware: Upgrade to latest stable 20160209

In reply to Khem Raj

Readme change a bit thats why LIC_FILES_CHKSUM changed

---
 recipes-bsp/bootfiles/bcm2835-bootfiles.bb | 2 +-
 recipes-bsp/common/firmware.inc            | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
recipes-bsp/bootfiles/bcm2835-bootfiles.bb +1 -1
index 0665944..b279e15 100644
@@ -1,7 +1,7 @@
 DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
 LICENSE = "Proprietary"
 
-LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=e86e693d19572ee64cc8b17fb062faa9"
+LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=4a4d169737c0786fb9482bb6d30401d1"
 
 inherit deploy
 
recipes-bsp/common/firmware.inc +2 -2
index 020f0ed..2e0864e 100644
@@ -1,5 +1,5 @@
-RPIFW_SRCREV ?= "f7108cfdc715f79c5fd051fb4c3ae6f4b1b01f23"
-RPIFW_DATE ?= "20151021"
+RPIFW_SRCREV ?= "3442862c10fab68c2e88d660d2e69c143bb1f00c"
+RPIFW_DATE ?= "20160209"
 RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master"
 RPIFW_S ?= "${WORKDIR}/git"
 
Signature · 1 line
1.9.1
#23 lore raw

Re: [meta-raspberrypi][PATCH 18/23] firmware: Upgrade to latest stable 20160209

Quoted 41 lines · Khem Raj

Readme change a bit thats why LIC_FILES_CHKSUM changed

---
 recipes-bsp/bootfiles/bcm2835-bootfiles.bb | 2 +-
 recipes-bsp/common/firmware.inc            | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
recipes-bsp/bootfiles/bcm2835-bootfiles.bb +1 -1
index 0665944..b279e15 100644
@@ -1,7 +1,7 @@
 DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
 LICENSE = "Proprietary"
 
-LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=e86e693d19572ee64cc8b17fb062faa9"
+LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=4a4d169737c0786fb9482bb6d30401d1"
 
 inherit deploy
 
recipes-bsp/common/firmware.inc +2 -2
index 020f0ed..2e0864e 100644
@@ -1,5 +1,5 @@
-RPIFW_SRCREV ?= "f7108cfdc715f79c5fd051fb4c3ae6f4b1b01f23"
-RPIFW_DATE ?= "20151021"
+RPIFW_SRCREV ?= "3442862c10fab68c2e88d660d2e69c143bb1f00c"
+RPIFW_DATE ?= "20160209"
 RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master"
 RPIFW_S ?= "${WORKDIR}/git"
 
Signature · 7 lines
1.9.1

-- 
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Dropped as rpi3 patch set updated firmware to a newer version. Thanks.

Signature · 1 line
Andrei Gherzan
author
#24 lore raw

PATCH 19/23 rpi-config: Upgrade to tip of tree to get GPU_MEM_1024

In reply to Khem Raj

Document it in README

---
 README                                  | 2 ++
 recipes-bsp/bootfiles/rpi-config_git.bb | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)
README +2 -0
index 16ac1cb..efe885b 100644
@@ -90,6 +90,8 @@ GPU_MEM_256 : GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the
               512MB RP. Overrides gpu_mem. Max 192. Default not set.
 GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the
               256MB RP. Overrides gpu_mem. Max 448. Default not set.
+GPU_MEM_1024: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by the
+              256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
 
 2.C.Optional - Add purchased license codecs:
 ============================================
recipes-bsp/bootfiles/rpi-config_git.bb +4 -1
index aa11b25..4cdffca 100644
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
 
 COMPATIBLE_MACHINE = "raspberrypi"
 
-SRCREV = "5d2ca5f9bcb1b239c051e20c05a233fd79cf09d5"
+SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
 SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
           "
 
@@ -54,6 +54,9 @@ do_deploy() {
     if [ -n "${GPU_MEM_512}" ]; then
         sed -i '/#gpu_mem_512/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
     fi
+    if [ -n "${GPU_MEM_1024}" ]; then
+        sed -i '/#gpu_mem_1024/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+    fi
 
     # Video camera support
     if [ -n "${VIDEO_CAMERA}" ]; then
Signature · 1 line
1.9.1
#25 lore raw

Re: [meta-raspberrypi][PATCH 19/23] rpi-config: Upgrade to tip of tree to get GPU_MEM_1024

Quoted 35 lines · Khem Raj

Document it in README

---
 README                                  | 2 ++
 recipes-bsp/bootfiles/rpi-config_git.bb | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)
README +2 -0
index 16ac1cb..efe885b 100644
@@ -90,6 +90,8 @@ GPU_MEM_256 : GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the
               512MB RP. Overrides gpu_mem. Max 192. Default not set.
 GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the
               256MB RP. Overrides gpu_mem. Max 448. Default not set.
+GPU_MEM_1024: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by the
+              256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
 
 2.C.Optional - Add purchased license codecs:
 ============================================
recipes-bsp/bootfiles/rpi-config_git.bb +1 -1
index aa11b25..4cdffca 100644
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
 
 COMPATIBLE_MACHINE = "raspberrypi"
 
-SRCREV = "5d2ca5f9bcb1b239c051e20c05a233fd79cf09d5"
+SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
 SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
           "
 

recipes-bsp/bootfiles/rpi-config_git.bb do_deploy() { · line 62

Quoted 9 lines
recipes-bsp/bootfiles/rpi-config_git.bb +3 -0
@@ -54,6 +54,9 @@ do_deploy() {
     if [ -n "${GPU_MEM_512}" ]; then
         sed -i '/#gpu_mem_512/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
     fi
+    if [ -n "${GPU_MEM_1024}" ]; then
+        sed -i '/#gpu_mem_1024/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+    fi
 
     # Video camera support
     if [ -n "${VIDEO_CAMERA}" ]; then

Hi Raj,

Merged to master. Thank you.

--
Andrei Gherzan

author
#26 lore raw

PATCH 20/23 linux-raspberrypi: Add recipe for 4.4 release

In reply to Khem Raj

Make it default kernel as well

---
 conf/machine/include/rpi-default-versions.inc | 2 +-
 recipes-kernel/linux/linux-raspberrypi_4.4.bb | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 recipes-kernel/linux/linux-raspberrypi_4.4.bb
conf/machine/include/rpi-default-versions.inc +1 -1
index c879dde..e65a4ae 100644
@@ -1,3 +1,3 @@
 # RaspberryPi BSP default versions
 
-PREFERRED_VERSION_linux-raspberrypi ?= "4.1.%"
+PREFERRED_VERSION_linux-raspberrypi ?= "4.4.%"
recipes-kernel/linux/linux-raspberrypi_4.4.bb new file +6 -0
new file mode 100644
index 0000000..47084e4
@@ -0,0 +1,6 @@
+LINUX_VERSION ?= "4.4.1"
+
+SRCREV = "52d3149aba3c684db1b6c739ca794dc330d92929"
+SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.4.y"
+
+require linux-raspberrypi.inc
Signature · 1 line
1.9.1
#27 lore raw

Re: [meta-raspberrypi][PATCH 20/23] linux-raspberrypi: Add recipe for 4.4 release

Quoted 14 lines · Khem Raj

Make it default kernel as well

---
 conf/machine/include/rpi-default-versions.inc | 2 +-
 recipes-kernel/linux/linux-raspberrypi_4.4.bb | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 recipes-kernel/linux/linux-raspberrypi_4.4.bb
conf/machine/include/rpi-default-versions.inc +0 -0
index c879dde..e65a4ae 100644

conf/machine/include/rpi-default-versions.inc line 3

Quoted 4 lines
conf/machine/include/rpi-default-versions.inc +1 -1
@@ -1,3 +1,3 @@
 # RaspberryPi BSP default versions
 
-PREFERRED_VERSION_linux-raspberrypi ?= "4.1.%"
+PREFERRED_VERSION_linux-raspberrypi ?= "4.4.%"

4.4 branch is not yet default branch in upstream so I will not yet set it.

Quoted 20 lines
recipes-kernel/linux/linux-raspberrypi_4.4.bb new file +6 -0
new file mode 100644
index 0000000..47084e4
@@ -0,0 +1,6 @@
+LINUX_VERSION ?= "4.4.1"
+
+SRCREV = "52d3149aba3c684db1b6c739ca794dc330d92929"
+SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.4.y"
+
+require linux-raspberrypi.inc
Signature · 7 lines
1.9.1

-- 
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto
Signature · 1 line
Andrei Gherzan
author
#28 lore raw

PATCH 21/23 userland: Upgrade to latest

In reply to Khem Raj

Drop upstreamed patches

---
 ...LINE_DECL-to-not-use-extern-inlines-in-de.patch |   6 +-
 .../userland/0002-musl-inspired-fixed.patch        |  29 ----
 ...h => 0002-set-VMCS_INSTALL_PREFIX-to-usr.patch} |   6 +-
 ...ake-generate-and-install-pkgconfig-files.patch} |   8 +-
 ...m_types-Dont-use-extern-inline-with-clan.patch} |   6 +-
 ...applications-to-set-next-resource-handle.patch} |   6 +-
 .../0005-user-vcsm-Fix-build-with-clang.patch      |  44 ------
 .../0006-Fix-enum-type-conversion-warnings.patch   | 166 ---------------------
 ...yland-Add-support-for-the-Wayland-winsys.patch} |  10 +-
 ...atch => 0007-wayland-Add-Wayland-example.patch} |   6 +-
 ...wayland-egl-Add-bcm_host-to-dependencies.patch} |   6 +-
 ...move-faulty-assert-to-make-weston-happy-.patch} |   6 +-
 ...-zero-out-wl-buffers-in-egl_surface_free.patch} |   6 +-
 ...11-initialize-front-back-wayland-buffers.patch} |   6 +-
 ...RPC_FLUSH.patch => 0012-Remove-RPC_FLUSH.patch} |   6 +-
 ....patch => 0013-fix-cmake-dependency-race.patch} |   6 +-
 .../0014-Fix-enum-conversion-warnings.patch        |  99 ++++++++++++
 .../userland/0016-define-PROJECT_APIVER.patch      |  33 ----
 recipes-graphics/userland/userland_git.bb          |  31 ++--
 19 files changed, 155 insertions(+), 331 deletions(-)
 delete mode 100644 recipes-graphics/userland/userland/0002-musl-inspired-fixed.patch
 rename recipes-graphics/userland/userland/{0003-set-VMCS_INSTALL_PREFIX-to-usr.patch => 0002-set-VMCS_INSTALL_PREFIX-to-usr.patch} (87%)
 rename recipes-graphics/userland/userland/{0004-cmake-generate-and-install-pkgconfig-files.patch => 0003-cmake-generate-and-install-pkgconfig-files.patch} (93%)
 rename recipes-graphics/userland/userland/{0007-vcos_platform_types-Dont-use-extern-inline-with-clan.patch => 0004-vcos_platform_types-Dont-use-extern-inline-with-clan.patch} (95%)
 rename recipes-graphics/userland/userland/{0008-Allow-applications-to-set-next-resource-handle.patch => 0005-Allow-applications-to-set-next-resource-handle.patch} (98%)
 delete mode 100644 recipes-graphics/userland/userland/0005-user-vcsm-Fix-build-with-clang.patch
 delete mode 100644 recipes-graphics/userland/userland/0006-Fix-enum-type-conversion-warnings.patch
 rename recipes-graphics/userland/userland/{0009-wayland-Add-support-for-the-Wayland-winsys.patch => 0006-wayland-Add-support-for-the-Wayland-winsys.patch} (99%)
 rename recipes-graphics/userland/userland/{0010-wayland-Add-Wayland-example.patch => 0007-wayland-Add-Wayland-example.patch} (99%)
 rename recipes-graphics/userland/userland/{0011-wayland-egl-Add-bcm_host-to-dependencies.patch => 0008-wayland-egl-Add-bcm_host-to-dependencies.patch} (86%)
 rename recipes-graphics/userland/userland/{0012-interface-remove-faulty-assert-to-make-weston-happy-.patch => 0009-interface-remove-faulty-assert-to-make-weston-happy-.patch} (88%)
 rename recipes-graphics/userland/userland/{0013-zero-out-wl-buffers-in-egl_surface_free.patch => 0010-zero-out-wl-buffers-in-egl_surface_free.patch} (87%)
 rename recipes-graphics/userland/userland/{0014-initialize-front-back-wayland-buffers.patch => 0011-initialize-front-back-wayland-buffers.patch} (88%)
 rename recipes-graphics/userland/userland/{0015-Remove-RPC_FLUSH.patch => 0012-Remove-RPC_FLUSH.patch} (87%)
 rename recipes-graphics/userland/userland/{0017-fix-cmake-dependency-race.patch => 0013-fix-cmake-dependency-race.patch} (95%)
 create mode 100644 recipes-graphics/userland/userland/0014-Fix-enum-conversion-warnings.patch
 delete mode 100644 recipes-graphics/userland/userland/0016-define-PROJECT_APIVER.patch
recipes-graphics/userland/userland/0001-Fix-VCOS_INLINE_DECL-to-not-use-extern-inlines-in-de.patch +3 -3
index 4824d1a..ebeefd3 100644
@@ -1,7 +1,7 @@
-From d0b146e6571585989e7149a512533fcd6532545a Mon Sep 17 00:00:00 2001
+From 58e03d60603baabf63137cdc81ed774cc94d26d6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sat, 6 Feb 2016 11:00:25 -0800
-Subject: [PATCH 01/16] Fix VCOS_INLINE_DECL to not use extern inlines in
+Subject: [PATCH 01/13] Fix VCOS_INLINE_DECL to not use extern inlines in
  declarations
 
 Signed-off-by: Khem Raj <[email protected]>
@@ -41,5 +41,5 @@ index 6feb4d2..e64fd99 100644
  #endif
  
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0002-musl-inspired-fixed.patch deleted +0 -29
deleted file mode 100644
index bbb670d..0000000
@@ -1,29 +0,0 @@
-From 9856330f54c181e388df6f261c705e01500cf0bb Mon Sep 17 00:00:00 2001
-From: Khem Raj <[email protected]>
-Date: Sat, 6 Feb 2016 11:03:10 -0800
-Subject: [PATCH 02/16] musl inspired fixed
-
-stderr and stdout are not FILE pointers as per standards
-define PAGE_MASK if its not defined already
-
-Signed-off-by: Khem Raj <[email protected]>
----
- host_applications/linux/libs/debug_sym/debug_sym.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/host_applications/linux/libs/debug_sym/debug_sym.c b/host_applications/linux/libs/debug_sym/debug_sym.c
-index 8886f99..c7ace37 100755
---- a/host_applications/linux/libs/debug_sym/debug_sym.c
-+++ b/host_applications/linux/libs/debug_sym/debug_sym.c
-@@ -67,6 +67,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- # else
- #  define PAGE_SIZE   4096
- # endif
-+#endif
-+#ifndef PAGE_MASK
- #define PAGE_MASK   (~(PAGE_SIZE - 1))
- #endif
- 
--- 
-2.7.0
-
recipes-graphics/userland/userland/0002-set-VMCS_INSTALL_PREFIX-to-usr.patch renamed from recipes-graphics/userland/userland/0003-set-VMCS_INSTALL_PREFIX-to-usr.patch +3 -3
similarity index 87%
rename from recipes-graphics/userland/userland/0003-set-VMCS_INSTALL_PREFIX-to-usr.patch
rename to recipes-graphics/userland/userland/0002-set-VMCS_INSTALL_PREFIX-to-usr.patch
index 2829196..857b6c5 100644
@@ -1,7 +1,7 @@
-From 8792a3645822c3ee2cea74def2a48e3e7f247ee1 Mon Sep 17 00:00:00 2001
+From 8b114166f800df09e10de82b50e4856fe7104bbf Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sun, 9 Aug 2015 23:58:17 -0700
-Subject: [PATCH 03/16] set VMCS_INSTALL_PREFIX to /usr
+Subject: [PATCH 02/13] set VMCS_INSTALL_PREFIX to /usr
 
 in OE we dont use /opt/vc but standard prefix
 
@@ -24,5 +24,5 @@ index 0f8641b..e9d576d 100644
  
  SET(CMAKE_INSTALL_PREFIX "${VMCS_INSTALL_PREFIX}" CACHE INTERNAL "Prefix
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0003-cmake-generate-and-install-pkgconfig-files.patch renamed from recipes-graphics/userland/userland/0004-cmake-generate-and-install-pkgconfig-files.patch +4 -4
similarity index 93%
rename from recipes-graphics/userland/userland/0004-cmake-generate-and-install-pkgconfig-files.patch
rename to recipes-graphics/userland/userland/0003-cmake-generate-and-install-pkgconfig-files.patch
index aa209b2..e229c8e 100644
@@ -1,7 +1,7 @@
-From 59fd98d2ee9076c08d020167e5176e2e3e669917 Mon Sep 17 00:00:00 2001
+From 91c1eceb27ce3ff8d8943028968cd860683d7905 Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sun, 9 Aug 2015 23:59:32 -0700
-Subject: [PATCH 04/17] cmake: generate and install pkgconfig files
+Subject: [PATCH 03/13] cmake: generate and install pkgconfig files
 
 many packages expect packageconfig support especially for detecting EGL
 libraries. This patch helps in compiling those packages on RPi
@@ -20,10 +20,10 @@ Signed-off-by: Khem Raj <[email protected]>
  create mode 100644 pkgconfig/vg.pc.in
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d8f776c..f15dc2b 100644
+index fbb27f6..5e211b4 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -105,6 +105,14 @@ set(vmcs_host_apps_VERSION_MAJOR 1)
+@@ -111,6 +111,14 @@ set(vmcs_host_apps_VERSION_MAJOR 1)
  set(vmcs_host_apps_VERSION_MINOR 0)
  
  include_directories("${PROJECT_BINARY_DIR}")
recipes-graphics/userland/userland/0004-vcos_platform_types-Dont-use-extern-inline-with-clan.patch renamed from recipes-graphics/userland/userland/0007-vcos_platform_types-Dont-use-extern-inline-with-clan.patch +3 -3
similarity index 95%
rename from recipes-graphics/userland/userland/0007-vcos_platform_types-Dont-use-extern-inline-with-clan.patch
rename to recipes-graphics/userland/userland/0004-vcos_platform_types-Dont-use-extern-inline-with-clan.patch
index 53a2a26..4d508d2 100644
@@ -1,7 +1,7 @@
-From e60f708bef880542fbe45df7dba982c886852dd4 Mon Sep 17 00:00:00 2001
+From 7c07db6c640ec4dfc6baec23f86c7b312028c9c6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sun, 23 Aug 2015 13:41:33 -0700
-Subject: [PATCH 07/16] vcos_platform_types: Dont use extern inline with clang
+Subject: [PATCH 04/13] vcos_platform_types: Dont use extern inline with clang
 
 Its very gcc specific implementation here in this code, we cant use
 it with clang as such, so we will use static inline instead which is
@@ -80,5 +80,5 @@ index e64fd99..7d86742 100644
  # define VCOS_INLINE_IMPL static __inline__
  #else
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0005-Allow-applications-to-set-next-resource-handle.patch renamed from recipes-graphics/userland/userland/0008-Allow-applications-to-set-next-resource-handle.patch +3 -3
similarity index 98%
rename from recipes-graphics/userland/userland/0008-Allow-applications-to-set-next-resource-handle.patch
rename to recipes-graphics/userland/userland/0005-Allow-applications-to-set-next-resource-handle.patch
index bf6511d..95154dc 100644
@@ -1,7 +1,7 @@
-From b5295cb247dfb062843f4a4c9996186e865d0cc2 Mon Sep 17 00:00:00 2001
+From 1c2d411949890a42a99a51941ea4e5e0a3d27d3e Mon Sep 17 00:00:00 2001
 From: Dom Cobley <[email protected]>
 Date: Tue, 9 Jul 2013 09:26:26 -0400
-Subject: [PATCH 08/16] Allow applications to set next resource handle
+Subject: [PATCH 05/13] Allow applications to set next resource handle
 
 This patch adds provisions in userland to
 let apps callers set the next rendereing dispmanx resource.
@@ -204,5 +204,5 @@ index 8a5734c..51b3580 100644
  
  FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0005-user-vcsm-Fix-build-with-clang.patch deleted +0 -44

44 lines not on this page · raw message

recipes-graphics/userland/userland/0006-Fix-enum-type-conversion-warnings.patch deleted +0 -166

166 lines not on this page · raw message

recipes-graphics/userland/userland/0006-wayland-Add-support-for-the-Wayland-winsys.patch renamed from recipes-graphics/userland/userland/0009-wayland-Add-support-for-the-Wayland-winsys.patch +5 -5
similarity index 99%
rename from recipes-graphics/userland/userland/0009-wayland-Add-support-for-the-Wayland-winsys.patch
rename to recipes-graphics/userland/userland/0006-wayland-Add-support-for-the-Wayland-winsys.patch
index c6e175e..6426a5c 100644
@@ -1,7 +1,7 @@
-From dba72dbc97a07509befc3072cc4dc5184913b5a7 Mon Sep 17 00:00:00 2001
+From 16edb74ea67abe95b1c1ff629aa65c969b871403 Mon Sep 17 00:00:00 2001
 From: Tomeu Vizoso <[email protected]>
 Date: Tue, 1 Oct 2013 13:19:20 +0200
-Subject: [PATCH 09/16] wayland: Add support for the Wayland winsys
+Subject: [PATCH 06/13] wayland: Add support for the Wayland winsys
 
 * Adds EGL_WL_bind_wayland_display extension
 * Adds wayland-egl library
@@ -67,10 +67,10 @@ index 8df9393..d0d1387 100644
 +
 +*~
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f15dc2b..b240ef6 100644
+index 5e211b4..aa5e14f 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -13,6 +13,17 @@ include(makefiles/cmake/global_settings.cmake)
+@@ -19,6 +19,17 @@ include(makefiles/cmake/global_settings.cmake)
  include(makefiles/cmake/arm-linux.cmake)
  include(makefiles/cmake/vmcs.cmake)
  
@@ -1876,5 +1876,5 @@ index 0000000..ad90d30
 +    set(${_sources} ${${_sources}} PARENT_SCOPE)
 +endfunction()
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0007-wayland-Add-Wayland-example.patch renamed from recipes-graphics/userland/userland/0010-wayland-Add-Wayland-example.patch +3 -3
similarity index 99%
rename from recipes-graphics/userland/userland/0010-wayland-Add-Wayland-example.patch
rename to recipes-graphics/userland/userland/0007-wayland-Add-Wayland-example.patch
index f468ef3..8f4bd0b 100644
@@ -1,7 +1,7 @@
-From b853c05f425775a65cfc5a2d64b3491ab3673e36 Mon Sep 17 00:00:00 2001
+From 48591add15951b0adb1da8b0bfad05c49d26a5e6 Mon Sep 17 00:00:00 2001
 From: Tomeu Vizoso <[email protected]>
 Date: Tue, 1 Oct 2013 13:19:20 +0200
-Subject: [PATCH 10/16] wayland: Add Wayland example
+Subject: [PATCH 07/13] wayland: Add Wayland example
 
 ---
  .../linux/apps/hello_pi/CMakeLists.txt             |   1 +
@@ -862,5 +862,5 @@ index fa4539e..37120ac 100755
 -
 +make -C hello_wayland
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0008-wayland-egl-Add-bcm_host-to-dependencies.patch renamed from recipes-graphics/userland/userland/0011-wayland-egl-Add-bcm_host-to-dependencies.patch +3 -3
similarity index 86%
rename from recipes-graphics/userland/userland/0011-wayland-egl-Add-bcm_host-to-dependencies.patch
rename to recipes-graphics/userland/userland/0008-wayland-egl-Add-bcm_host-to-dependencies.patch
index 386ddf3..f9631df 100644
@@ -1,7 +1,7 @@
-From 071771f1c2eb73c1f9083abb3a9f3a7712e20cdf Mon Sep 17 00:00:00 2001
+From 4201f2777cfc816df415286bd137f140d856fc95 Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Mon, 10 Aug 2015 02:38:27 -0700
-Subject: [PATCH 11/16] wayland-egl: Add bcm_host to dependencies
+Subject: [PATCH 08/13] wayland-egl: Add bcm_host to dependencies
 
 It uses headers like vcos_platform_types.h but does not
 depend on module which should add the required include paths
@@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644
  Libs: -L${libdir} -lwayland-egl
  Cflags: -I${includedir}
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0009-interface-remove-faulty-assert-to-make-weston-happy-.patch renamed from recipes-graphics/userland/userland/0012-interface-remove-faulty-assert-to-make-weston-happy-.patch +3 -3
similarity index 88%
rename from recipes-graphics/userland/userland/0012-interface-remove-faulty-assert-to-make-weston-happy-.patch
rename to recipes-graphics/userland/userland/0009-interface-remove-faulty-assert-to-make-weston-happy-.patch
index 74374fc..58babb9 100644
@@ -1,7 +1,7 @@
-From fb577f53f9a91745557194b0422504e2cc93a637 Mon Sep 17 00:00:00 2001
+From 54d2fdfd997a7f1f64575d6a4a03c74b89b2dbe0 Mon Sep 17 00:00:00 2001
 From: "Yann E. MORIN" <[email protected]>
 Date: Sat, 24 Jan 2015 22:07:19 +0100
-Subject: [PATCH 12/16] interface: remove faulty assert() to make weston happy
+Subject: [PATCH 09/13] interface: remove faulty assert() to make weston happy
  at runtime
 
 This was removed after a discussion on IRC with the weston guys
@@ -25,5 +25,5 @@ index 1d24b6e..e2e7ccc 100755
           }
        } else {
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0010-zero-out-wl-buffers-in-egl_surface_free.patch renamed from recipes-graphics/userland/userland/0013-zero-out-wl-buffers-in-egl_surface_free.patch +3 -3
similarity index 87%
rename from recipes-graphics/userland/userland/0013-zero-out-wl-buffers-in-egl_surface_free.patch
rename to recipes-graphics/userland/userland/0010-zero-out-wl-buffers-in-egl_surface_free.patch
index af291dc..517b4ee 100644
@@ -1,7 +1,7 @@
-From 2d91c1fded75b3207743e058b0d5ca9eb98dce58 Mon Sep 17 00:00:00 2001
+From bf3e7ded0ccb95ec0fed13483525a43175028485 Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sat, 6 Feb 2016 11:10:47 -0800
-Subject: [PATCH 13/16] zero-out wl buffers in egl_surface_free
+Subject: [PATCH 10/13] zero-out wl buffers in egl_surface_free
 
 origins from buildroot
 
@@ -29,5 +29,5 @@ index 49cf7e5..512c83b 100644
  #endif
     }
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0011-initialize-front-back-wayland-buffers.patch renamed from recipes-graphics/userland/userland/0014-initialize-front-back-wayland-buffers.patch +3 -3
similarity index 88%
rename from recipes-graphics/userland/userland/0014-initialize-front-back-wayland-buffers.patch
rename to recipes-graphics/userland/userland/0011-initialize-front-back-wayland-buffers.patch
index 26cae0a..1b39136 100644
@@ -1,7 +1,7 @@
-From 2c1574b2e867bb5dad028784642a9ad88df6b16c Mon Sep 17 00:00:00 2001
+From fb4ec94e8c27fba57f04c28f9012ec67af505083 Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sat, 6 Feb 2016 11:11:41 -0800
-Subject: [PATCH 14/16] initialize front back wayland buffers
+Subject: [PATCH 11/13] initialize front back wayland buffers
 
 origins from metrological wayland support
 
@@ -30,5 +30,5 @@ index 512c83b..a429724 100644
     }
  #endif
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0012-Remove-RPC_FLUSH.patch renamed from recipes-graphics/userland/userland/0015-Remove-RPC_FLUSH.patch +3 -3
similarity index 87%
rename from recipes-graphics/userland/userland/0015-Remove-RPC_FLUSH.patch
rename to recipes-graphics/userland/userland/0012-Remove-RPC_FLUSH.patch
index d90cb09..5c9b49a 100644
@@ -1,7 +1,7 @@
-From a09249699cab4ffe6304aaf7e5936019c97f5a26 Mon Sep 17 00:00:00 2001
+From fa2beec8f792af577053340da914ef38b51535cb Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sat, 6 Feb 2016 11:09:18 -0800
-Subject: [PATCH 15/16] Remove RPC_FLUSH
+Subject: [PATCH 12/13] Remove RPC_FLUSH
 
 Origins from buildroot
 
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
        }
  #endif
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0013-fix-cmake-dependency-race.patch renamed from recipes-graphics/userland/userland/0017-fix-cmake-dependency-race.patch +3 -3
similarity index 95%
rename from recipes-graphics/userland/userland/0017-fix-cmake-dependency-race.patch
rename to recipes-graphics/userland/userland/0013-fix-cmake-dependency-race.patch
index face946..20c9e6d 100644
@@ -1,7 +1,7 @@
-From e2df72943951feb2c2a0899d4a1a00d24d7a3ccc Mon Sep 17 00:00:00 2001
+From 723478a07b69966ee606ba2435be736a1666eb5c Mon Sep 17 00:00:00 2001
 From: Khem Raj <[email protected]>
 Date: Sat, 6 Feb 2016 13:12:47 -0800
-Subject: [PATCH 17/17] fix cmake dependency race
+Subject: [PATCH 13/13] fix cmake dependency race
 
 Fixes errors like
 
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
  	struct wl_resource *resource;
  	struct wl_dispmanx *dispmanx;
 -- 
-2.7.0
+2.7.1
 
recipes-graphics/userland/userland/0014-Fix-enum-conversion-warnings.patch new file +99 -0

99 lines not on this page · raw message

recipes-graphics/userland/userland/0016-define-PROJECT_APIVER.patch deleted +0 -33
deleted file mode 100644
index 63a35eb..0000000
@@ -1,33 +0,0 @@
-From 56072d7282e7daf65f58fa897f1f76268ae88121 Mon Sep 17 00:00:00 2001
-From: Khem Raj <[email protected]>
-Date: Sat, 6 Feb 2016 11:06:26 -0800
-Subject: [PATCH 16/16] define PROJECT_APIVER
-
-this helps in compiling components which use packageconfig to poke for
-library versions and requiring minimum supported version
-
-Signed-off-by: Khem Raj <[email protected]>
----
- CMakeLists.txt | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b240ef6..aa5e14f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -2,6 +2,12 @@ cmake_minimum_required(VERSION 2.8)
- 
- project(vmcs_host_apps)
- 
-+SET(PROJECT_VER_MAJOR 1)
-+SET(PROJECT_VER_MINOR 0)
-+SET(PROJECT_VER_PATCH 0)
-+SET(PROJECT_VER "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}")
-+SET(PROJECT_APIVER "${PROJECT_VER}")
-+
- set(BUILD_MMAL TRUE)
- set(BUILD_MMAL_APPS TRUE)
- set(vmcs_root ${PROJECT_SOURCE_DIR})
--- 
-2.7.0
-
recipes-graphics/userland/userland_git.bb +14 -17
index c59b5f3..4eb67fe 100644
@@ -16,27 +16,24 @@ COMPATIBLE_MACHINE = "raspberrypi"
 
 SRCBRANCH = "master"
 SRCFORK = "raspberrypi"
-SRCREV = "2a4af2192c0e161555fdb2a12e902b587166c4a6"
+SRCREV = "748b2ba6112435063352d72f48d1d6dcc124bd6f"
 
 SRC_URI = "\
     git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
     file://0001-Fix-VCOS_INLINE_DECL-to-not-use-extern-inlines-in-de.patch \
-    file://0002-musl-inspired-fixed.patch \
-    file://0003-set-VMCS_INSTALL_PREFIX-to-usr.patch \
-    file://0004-cmake-generate-and-install-pkgconfig-files.patch \
-    file://0005-user-vcsm-Fix-build-with-clang.patch \
-    file://0006-Fix-enum-type-conversion-warnings.patch \
-    file://0007-vcos_platform_types-Dont-use-extern-inline-with-clan.patch \
-    file://0008-Allow-applications-to-set-next-resource-handle.patch \
-    file://0009-wayland-Add-support-for-the-Wayland-winsys.patch \
-    file://0010-wayland-Add-Wayland-example.patch \
-    file://0011-wayland-egl-Add-bcm_host-to-dependencies.patch \
-    file://0012-interface-remove-faulty-assert-to-make-weston-happy-.patch \
-    file://0013-zero-out-wl-buffers-in-egl_surface_free.patch \
-    file://0014-initialize-front-back-wayland-buffers.patch \
-    file://0015-Remove-RPC_FLUSH.patch \
-    file://0016-define-PROJECT_APIVER.patch \
-    file://0017-fix-cmake-dependency-race.patch \
+    file://0002-set-VMCS_INSTALL_PREFIX-to-usr.patch \
+    file://0003-cmake-generate-and-install-pkgconfig-files.patch \
+    file://0004-vcos_platform_types-Dont-use-extern-inline-with-clan.patch \
+    file://0005-Allow-applications-to-set-next-resource-handle.patch \
+    file://0006-wayland-Add-support-for-the-Wayland-winsys.patch \
+    file://0007-wayland-Add-Wayland-example.patch \
+    file://0008-wayland-egl-Add-bcm_host-to-dependencies.patch \
+    file://0009-interface-remove-faulty-assert-to-make-weston-happy-.patch \
+    file://0010-zero-out-wl-buffers-in-egl_surface_free.patch \
+    file://0011-initialize-front-back-wayland-buffers.patch \
+    file://0012-Remove-RPC_FLUSH.patch \
+    file://0013-fix-cmake-dependency-race.patch \
+    file://0014-Fix-enum-conversion-warnings.patch \
 "
 S = "${WORKDIR}/git"
 
Signature · 1 line
1.9.1
author
#29 lore raw

PATCH 22/23 linux-raspberrypi: Upgrade 4.4.1 -> 4.4.2

In reply to Khem Raj
---
 recipes-kernel/linux/linux-raspberrypi_4.4.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
recipes-kernel/linux/linux-raspberrypi_4.4.bb +2 -2
index 47084e4..3503a1f 100644
@@ -1,6 +1,6 @@
-LINUX_VERSION ?= "4.4.1"
+LINUX_VERSION ?= "4.4.2"
 
-SRCREV = "52d3149aba3c684db1b6c739ca794dc330d92929"
+SRCREV = "8941fe4985a1cc8f800be00224c6a2e741789d03"
 SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.4.y"
 
 require linux-raspberrypi.inc
Signature · 1 line
1.9.1
author
#30 lore raw

PATCH 23/23 userland: Drop extern inline patches

In reply to Khem Raj

Not needed since the issues have been fixed differently upstream

---
 ...LINE_DECL-to-not-use-extern-inlines-in-de.patch | 45 ------------
 ...rm_types-Dont-use-extern-inline-with-clan.patch | 84 ----------------------
 recipes-graphics/userland/userland_git.bb          |  2 -
 3 files changed, 131 deletions(-)
 delete mode 100644 recipes-graphics/userland/userland/0001-Fix-VCOS_INLINE_DECL-to-not-use-extern-inlines-in-de.patch
 delete mode 100644 recipes-graphics/userland/userland/0004-vcos_platform_types-Dont-use-extern-inline-with-clan.patch
recipes-graphics/userland/userland/0001-Fix-VCOS_INLINE_DECL-to-not-use-extern-inlines-in-de.patch deleted +0 -45
deleted file mode 100644
index ebeefd3..0000000
@@ -1,45 +0,0 @@
-From 58e03d60603baabf63137cdc81ed774cc94d26d6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <[email protected]>
-Date: Sat, 6 Feb 2016 11:00:25 -0800
-Subject: [PATCH 01/13] Fix VCOS_INLINE_DECL to not use extern inlines in
- declarations
-
-Signed-off-by: Khem Raj <[email protected]>
----
- interface/vcos/pthreads/vcos_platform_types.h | 2 +-
- interface/vcos/vcos_types.h                   | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/interface/vcos/pthreads/vcos_platform_types.h b/interface/vcos/pthreads/vcos_platform_types.h
-index 17b422d..64fb381 100644
---- a/interface/vcos/pthreads/vcos_platform_types.h
-+++ b/interface/vcos/pthreads/vcos_platform_types.h
-@@ -61,7 +61,7 @@ vcos_pthreads_logging_assert(const char *file, const char *func, unsigned int li
- #define VCOS_ASSERT_MSG(...) ((VCOS_ASSERT_LOGGING && !VCOS_ASSERT_LOGGING_DISABLE) ? vcos_pthreads_logging_assert(__FILE__, __func__, __LINE__, __VA_ARGS__) : (void)0)
- 
- #define VCOS_INLINE_BODIES
--#define VCOS_INLINE_DECL extern __inline__
-+#define VCOS_INLINE_DECL extern
- #define VCOS_INLINE_IMPL static __inline__
- 
- #ifdef __cplusplus
-diff --git a/interface/vcos/vcos_types.h b/interface/vcos/vcos_types.h
-index 6feb4d2..e64fd99 100644
---- a/interface/vcos/vcos_types.h
-+++ b/interface/vcos/vcos_types.h
-@@ -121,10 +121,10 @@ typedef enum
- #if defined(NDEBUG)
- 
- #ifdef __GNUC__
--# define VCOS_INLINE_DECL extern __inline__
-+# define VCOS_INLINE_DECL extern
- # define VCOS_INLINE_IMPL static __inline__
- #else
--# define VCOS_INLINE_DECL static _VCOS_INLINE   /* declare a func */
-+# define VCOS_INLINE_DECL extern
- # define VCOS_INLINE_IMPL static _VCOS_INLINE   /* implement a func inline */
- #endif
- 
--- 
-2.7.1
-
recipes-graphics/userland/userland/0004-vcos_platform_types-Dont-use-extern-inline-with-clan.patch deleted +0 -84

84 lines not on this page · raw message

recipes-graphics/userland/userland_git.bb +0 -2
index 4eb67fe..accc707 100644
@@ -20,10 +20,8 @@ SRCREV = "748b2ba6112435063352d72f48d1d6dcc124bd6f"
 
 SRC_URI = "\
     git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
-    file://0001-Fix-VCOS_INLINE_DECL-to-not-use-extern-inlines-in-de.patch \
     file://0002-set-VMCS_INSTALL_PREFIX-to-usr.patch \
     file://0003-cmake-generate-and-install-pkgconfig-files.patch \
-    file://0004-vcos_platform_types-Dont-use-extern-inline-with-clan.patch \
     file://0005-Allow-applications-to-set-next-resource-handle.patch \
     file://0006-wayland-Add-support-for-the-Wayland-winsys.patch \
     file://0007-wayland-Add-Wayland-example.patch \
Signature · 1 line
1.9.1
author
#31 lore raw
In reply to Khem Raj

Andrei

I see you merged few of patches from here
What is status of rest of series ?

This series has been tested to work with Webkit and weston images on Pi2

Quoted 110 lines · Khem Raj

This patchset has been growing for a while, Adds recipes for kenrel 4.4 and switches to use kernel 4.4
Fixes userland to compile with clang
Upgrade userland to latest
Add option to support GPU_MEM_1024
Upgrade firmware to latest

Khem Raj (23):
userland: Upgrade to latest git master
userland: Fix build with clang compiler
userland: Add wayland support
weston: Enable rpi compositor backend
rpi-gpio: Upgrade to 0.6.1 and fix build with clang eglinfo-x11,eglinfo-fb: Add EGLINFO_DEVICE via bbappends
python-rtimu: Fix build with musl
wiringPi: Fix build with musl
Delete rpc flushing of thread in glEGLImageTargetTexture2DOES
rpio: Include sys/types.h for caddr_t
userland: Define PROJECT_APIVER and rprovide libgles2 libgl
userland: Add wayland to deps if in DISTRO_FEATURES
userland: Fix build race with wayland support gstreamer1.0-omx: Add raspberry pi optimization patches and config
options
weston: Specify egl and compositor options for rpi gstreamer1.0-omx: Backports and fixes for smooth video playback
linux-raspberrypi: Upgrade 4.1 kernel to 4.1.17
firmware: Upgrade to latest stable 20160209
rpi-config: Upgrade to tip of tree to get GPU_MEM_1024
linux-raspberrypi: Add recipe for 4.4 release
userland: Upgrade to latest
linux-raspberrypi: Upgrade 4.4.1 -> 4.4.2
userland: Drop extern inline patches

 README                                             |    2 +
 conf/machine/include/rpi-default-versions.inc      |    2 +-
 recipes-bsp/bootfiles/bcm2835-bootfiles.bb         |    2 +-
 recipes-bsp/bootfiles/rpi-config_git.bb            |    5 +-
 recipes-bsp/common/firmware.inc                    |    4 +-
 ...0001-include-asm-ioctl.h-for-ioctl-define.patch |   33 +
 recipes-devtools/python/python-rtimu_git.bb        |    4 +-
 .../rpi-gpio/0001-Remove-nested-functions.patch    |  294 +++
 .../{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb}      |    6 +-
 ...-types.h-explicitly-for-getting-caddr_t-d.patch |   30 +
 recipes-devtools/python/rpio_0.10.0.bb             |    6 +-
 ...de-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch |   58 +
 recipes-devtools/wiringPi/wiringpi_git.bb          |    8 +-
 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend     |    1 +
 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend    |    1 +
 .../userland/0001-fix-gcc-5.x-inlines.patch        |   26 -
 .../userland/userland/0002-fix-musl-build.patch    |   22 -
 .../0002-set-VMCS_INSTALL_PREFIX-to-usr.patch      |    7 +-
 ...make-generate-and-install-pkgconfig-files.patch |   24 +-
 .../0003-fix-alloc-size-uninitialized.patch        |   13 -
 ...-applications-to-set-next-resource-handle.patch |  208 +++
 ...ayland-Add-support-for-the-Wayland-winsys.patch | 1880 ++++++++++++++++++++
 .../0007-wayland-Add-Wayland-example.patch         |  866 +++++++++
 ...-wayland-egl-Add-bcm_host-to-dependencies.patch |   28 +
 ...emove-faulty-assert-to-make-weston-happy-.patch |   29 +
 ...0-zero-out-wl-buffers-in-egl_surface_free.patch |   33 +
 ...011-initialize-front-back-wayland-buffers.patch |   34 +
 .../userland/userland/0012-Remove-RPC_FLUSH.patch  |   27 +
 .../userland/0013-fix-cmake-dependency-race.patch  |   78 +
 .../0014-Fix-enum-conversion-warnings.patch        |   99 ++
 recipes-graphics/userland/userland_git.bb          |   33 +-
 recipes-graphics/wayland/weston_%.bbappend         |    4 +
 recipes-graphics/weston/weston_%.bbappend          |    7 +
 recipes-kernel/linux/linux-raspberrypi_4.1.bb      |    4 +-
 ...raspberrypi_4.1.bb => linux-raspberrypi_4.4.bb} |    6 +-
 .../gstreamer1.0-omx/0001-config-files-path.patch  |  137 ++
 ...o-acquire-buffer-when-src-pad-isn-t-activ.patch |   47 +
 .../0003-fix-decoder-flushing.patch                |   15 +
 .../0003-no-timeout-on-get-state.patch             |   16 +
 ...erly-handle-drain-requests-while-flushing.patch |   69 +
 ...-gst_omx_video_dec_set_format-if-there-s-.patch |   30 +
 .../gstreamer/gstreamer1.0-omx_%.bbappend          |   22 +
 42 files changed, 4114 insertions(+), 106 deletions(-)
 create mode 100644 recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
 create mode 100644 recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
 rename recipes-devtools/python/{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb} (70%)
 create mode 100644 recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
 create mode 100644 recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch
 create mode 100644 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
 create mode 100644 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
 delete mode 100644 recipes-graphics/userland/userland/0001-fix-gcc-5.x-inlines.patch
 delete mode 100644 recipes-graphics/userland/userland/0002-fix-musl-build.patch
 delete mode 100644 recipes-graphics/userland/userland/0003-fix-alloc-size-uninitialized.patch
 create mode 100644 recipes-graphics/userland/userland/0005-Allow-applications-to-set-next-resource-handle.patch
 create mode 100644 recipes-graphics/userland/userland/0006-wayland-Add-support-for-the-Wayland-winsys.patch
 create mode 100644 recipes-graphics/userland/userland/0007-wayland-Add-Wayland-example.patch
 create mode 100644 recipes-graphics/userland/userland/0008-wayland-egl-Add-bcm_host-to-dependencies.patch
 create mode 100644 recipes-graphics/userland/userland/0009-interface-remove-faulty-assert-to-make-weston-happy-.patch
 create mode 100644 recipes-graphics/userland/userland/0010-zero-out-wl-buffers-in-egl_surface_free.patch
 create mode 100644 recipes-graphics/userland/userland/0011-initialize-front-back-wayland-buffers.patch
 create mode 100644 recipes-graphics/userland/userland/0012-Remove-RPC_FLUSH.patch
 create mode 100644 recipes-graphics/userland/userland/0013-fix-cmake-dependency-race.patch
 create mode 100644 recipes-graphics/userland/userland/0014-Fix-enum-conversion-warnings.patch
 create mode 100644 recipes-graphics/wayland/weston_%.bbappend
 create mode 100644 recipes-graphics/weston/weston_%.bbappend
 copy recipes-kernel/linux/{linux-raspberrypi_4.1.bb => linux-raspberrypi_4.4.bb} (50%)
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-config-files-path.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-fix-decoder-flushing.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-no-timeout-on-get-state.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-Properly-handle-drain-requests-while-flushing.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend

--
1.9.1

#32 lore raw

Hi Khen,

I started to merge the ones that were obvious. The rest need rebasing, conflict fixing and so on. And then I test them locally. So it will take a while. But I'll merge as I test. So you can easily see the progress.

--
Andrei Gherzan

Quoted 155 lines · Khem Raj

Andrei

I see you merged few of patches from here
What is status of rest of series ?

This series has been tested to work with Webkit and weston images on Pi2

Quoted 1 line · Khem Raj

This patchset has been growing for a while, Adds recipes for kenrel 4.4

and switches

Quoted 46 lines

to use kernel 4.4
Fixes userland to compile with clang Upgrade userland to latest
Add option to support GPU_MEM_1024 Upgrade firmware to latest

Khem Raj (23):
userland: Upgrade to latest git master
userland: Fix build with clang compiler
userland: Add wayland support
weston: Enable rpi compositor backend
rpi-gpio: Upgrade to 0.6.1 and fix build with clang eglinfo-x11,eglinfo-fb: Add EGLINFO_DEVICE via bbappends
python-rtimu: Fix build with musl
wiringPi: Fix build with musl
Delete rpc flushing of thread in glEGLImageTargetTexture2DOES
rpio: Include sys/types.h for caddr_t
userland: Define PROJECT_APIVER and rprovide libgles2 libgl
userland: Add wayland to deps if in DISTRO_FEATURES
userland: Fix build race with wayland support gstreamer1.0-omx: Add raspberry pi optimization patches and config
options
weston: Specify egl and compositor options for rpi gstreamer1.0-omx: Backports and fixes for smooth video playback
linux-raspberrypi: Upgrade 4.1 kernel to 4.1.17
firmware: Upgrade to latest stable 20160209
rpi-config: Upgrade to tip of tree to get GPU_MEM_1024
linux-raspberrypi: Add recipe for 4.4 release
userland: Upgrade to latest
linux-raspberrypi: Upgrade 4.4.1 -> 4.4.2
userland: Drop extern inline patches

 README                                             |    2 +
 conf/machine/include/rpi-default-versions.inc      |    2 +-
 recipes-bsp/bootfiles/bcm2835-bootfiles.bb         |    2 +-
 recipes-bsp/bootfiles/rpi-config_git.bb            |    5 +-
 recipes-bsp/common/firmware.inc                    |    4 +-
 ...0001-include-asm-ioctl.h-for-ioctl-define.patch |   33 +
 recipes-devtools/python/python-rtimu_git.bb        |    4 +-
 .../rpi-gpio/0001-Remove-nested-functions.patch    |  294 +++
 .../{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb}      |    6 +-
 ...-types.h-explicitly-for-getting-caddr_t-d.patch |   30 +
 recipes-devtools/python/rpio_0.10.0.bb             |    6 +-
 ...de-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch |   58 +
 recipes-devtools/wiringPi/wiringpi_git.bb          |    8 +-
 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend     |    1 +
Quoted 8 lines
 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend    |    1 +
 .../userland/0001-fix-gcc-5.x-inlines.patch        |   26 -
 .../userland/userland/0002-fix-musl-build.patch    |   22 -
 .../0002-set-VMCS_INSTALL_PREFIX-to-usr.patch      |    7 +-
 ...make-generate-and-install-pkgconfig-files.patch |   24 +-
 .../0003-fix-alloc-size-uninitialized.patch        |   13 -
 ...-applications-to-set-next-resource-handle.patch |  208 +++
 ...ayland-Add-support-for-the-Wayland-winsys.patch | 1880

++++++++++++++++++++

Quoted 14 lines
 .../0007-wayland-Add-Wayland-example.patch         |  866 +++++++++
 ...-wayland-egl-Add-bcm_host-to-dependencies.patch |   28 +
 ...emove-faulty-assert-to-make-weston-happy-.patch |   29 +
 ...0-zero-out-wl-buffers-in-egl_surface_free.patch |   33 +
 ...011-initialize-front-back-wayland-buffers.patch |   34 +
 .../userland/userland/0012-Remove-RPC_FLUSH.patch  |   27 +
 .../userland/0013-fix-cmake-dependency-race.patch  |   78 +
 .../0014-Fix-enum-conversion-warnings.patch        |   99 ++
 recipes-graphics/userland/userland_git.bb          |   33 +-
 recipes-graphics/wayland/weston_%.bbappend         |    4 +
 recipes-graphics/weston/weston_%.bbappend          |    7 +
 recipes-kernel/linux/linux-raspberrypi_4.1.bb      |    4 +-
 ...raspberrypi_4.1.bb => linux-raspberrypi_4.4.bb} |    6 +-
 .../gstreamer1.0-omx/0001-config-files-path.patch  |  137 ++
Quoted 8 lines
 ...o-acquire-buffer-when-src-pad-isn-t-activ.patch |   47 +
 .../0003-fix-decoder-flushing.patch                |   15 +
 .../0003-no-timeout-on-get-state.patch             |   16 +
 ...erly-handle-drain-requests-while-flushing.patch |   69 +
 ...-gst_omx_video_dec_set_format-if-there-s-.patch |   30 +
 .../gstreamer/gstreamer1.0-omx_%.bbappend          |   22 +
 42 files changed, 4114 insertions(+), 106 deletions(-)
 create mode 100644

recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch

Quoted 1 line
 create mode 100644

recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch

Quoted 1 line
 rename recipes-devtools/python/{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb}

(70%)

Quoted 1 line
 create mode 100644

recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch

Quoted 1 line
 create mode 100644

recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch

Quoted 3 lines
 create mode 100644 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
 create mode 100644 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
 delete mode 100644

recipes-graphics/userland/userland/0001-fix-gcc-5.x-inlines.patch

Quoted 1 line
 delete mode 100644

recipes-graphics/userland/userland/0002-fix-musl-build.patch

Quoted 1 line
 delete mode 100644

recipes-graphics/userland/userland/0003-fix-alloc-size-uninitialized.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0005-Allow-applications-to-set-next-resource-handle.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0006-wayland-Add-support-for-the-Wayland-winsys.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0007-wayland-Add-Wayland-example.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0008-wayland-egl-Add-bcm_host-to-dependencies.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0009-interface-remove-faulty-assert-to-make-weston-happy-.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0010-zero-out-wl-buffers-in-egl_surface_free.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0011-initialize-front-back-wayland-buffers.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0012-Remove-RPC_FLUSH.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0013-fix-cmake-dependency-race.patch

Quoted 1 line
 create mode 100644

recipes-graphics/userland/userland/0014-Fix-enum-conversion-warnings.patch

Quoted 3 lines
 create mode 100644 recipes-graphics/wayland/weston_%.bbappend
 create mode 100644 recipes-graphics/weston/weston_%.bbappend
 copy recipes-kernel/linux/{linux-raspberrypi_4.1.bb =>

linux-raspberrypi_4.4.bb} (50%)

Quoted 1 line
 create mode 100644

recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-config-files-path.patch

Quoted 1 line
 create mode 100644

recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch

Quoted 1 line
 create mode 100644

recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-fix-decoder-flushing.patch

Quoted 1 line
 create mode 100644

recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-no-timeout-on-get-state.patch

Quoted 1 line
 create mode 100644

recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-Properly-handle-drain-requests-while-flushing.patch

Quoted 1 line
 create mode 100644

recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch

Quoted 1 line
 create mode 100644

recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend

Quoted 4 lines

--
1.9.1

--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

author
#33 lore raw
Quoted 5 lines · Andrei Gherzan

Hi Khen,

I started to merge the ones that were obvious. The rest need rebasing, conflict fixing and so on. And then I test them locally. So it will take a while. But I'll merge as I test. So you can easily see the progress.

You can use kraj/master branch from

https://github.com/kraj/meta-raspberrypi/tree/kraj/master

This is fully rebased on top of master. Should have no coflicts

Quoted 162 lines

--
Andrei Gherzan

Quoted 155 lines · Khem Raj

Andrei

I see you merged few of patches from here
What is status of rest of series ?

This series has been tested to work with Webkit and weston images on Pi2

Quoted 133 lines · Khem Raj

This patchset has been growing for a while, Adds recipes for kenrel 4.4 and switches
to use kernel 4.4
Fixes userland to compile with clang
Upgrade userland to latest
Add option to support GPU_MEM_1024
Upgrade firmware to latest

Khem Raj (23):
userland: Upgrade to latest git master
userland: Fix build with clang compiler
userland: Add wayland support
weston: Enable rpi compositor backend
rpi-gpio: Upgrade to 0.6.1 and fix build with clang eglinfo-x11,eglinfo-fb: Add EGLINFO_DEVICE via bbappends
python-rtimu: Fix build with musl
wiringPi: Fix build with musl
Delete rpc flushing of thread in glEGLImageTargetTexture2DOES
rpio: Include sys/types.h for caddr_t
userland: Define PROJECT_APIVER and rprovide libgles2 libgl
userland: Add wayland to deps if in DISTRO_FEATURES
userland: Fix build race with wayland support gstreamer1.0-omx: Add raspberry pi optimization patches and config
options
weston: Specify egl and compositor options for rpi gstreamer1.0-omx: Backports and fixes for smooth video playback
linux-raspberrypi: Upgrade 4.1 kernel to 4.1.17
firmware: Upgrade to latest stable 20160209
rpi-config: Upgrade to tip of tree to get GPU_MEM_1024
linux-raspberrypi: Add recipe for 4.4 release
userland: Upgrade to latest
linux-raspberrypi: Upgrade 4.4.1 -> 4.4.2
userland: Drop extern inline patches

 README                                             |    2 +
 conf/machine/include/rpi-default-versions.inc      |    2 +-
 recipes-bsp/bootfiles/bcm2835-bootfiles.bb         |    2 +-
 recipes-bsp/bootfiles/rpi-config_git.bb            |    5 +-
 recipes-bsp/common/firmware.inc                    |    4 +-
 ...0001-include-asm-ioctl.h-for-ioctl-define.patch |   33 +
 recipes-devtools/python/python-rtimu_git.bb        |    4 +-
 .../rpi-gpio/0001-Remove-nested-functions.patch    |  294 +++
 .../{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb}      |    6 +-
 ...-types.h-explicitly-for-getting-caddr_t-d.patch |   30 +
 recipes-devtools/python/rpio_0.10.0.bb             |    6 +-
 ...de-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch |   58 +
 recipes-devtools/wiringPi/wiringpi_git.bb          |    8 +-
 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend     |    1 +
 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend    |    1 +
 .../userland/0001-fix-gcc-5.x-inlines.patch        |   26 -
 .../userland/userland/0002-fix-musl-build.patch    |   22 -
 .../0002-set-VMCS_INSTALL_PREFIX-to-usr.patch      |    7 +-
 ...make-generate-and-install-pkgconfig-files.patch |   24 +-
 .../0003-fix-alloc-size-uninitialized.patch        |   13 -
 ...-applications-to-set-next-resource-handle.patch |  208 +++
 ...ayland-Add-support-for-the-Wayland-winsys.patch | 1880
++++++++++++++++++++
 .../0007-wayland-Add-Wayland-example.patch         |  866 +++++++++
 ...-wayland-egl-Add-bcm_host-to-dependencies.patch |   28 +
 ...emove-faulty-assert-to-make-weston-happy-.patch |   29 +
 ...0-zero-out-wl-buffers-in-egl_surface_free.patch |   33 +
 ...011-initialize-front-back-wayland-buffers.patch |   34 +
 .../userland/userland/0012-Remove-RPC_FLUSH.patch  |   27 +
 .../userland/0013-fix-cmake-dependency-race.patch  |   78 +
 .../0014-Fix-enum-conversion-warnings.patch        |   99 ++
 recipes-graphics/userland/userland_git.bb          |   33 +-
 recipes-graphics/wayland/weston_%.bbappend         |    4 +
 recipes-graphics/weston/weston_%.bbappend          |    7 +
 recipes-kernel/linux/linux-raspberrypi_4.1.bb      |    4 +-
 ...raspberrypi_4.1.bb => linux-raspberrypi_4.4.bb} |    6 +-
 .../gstreamer1.0-omx/0001-config-files-path.patch  |  137 ++
 ...o-acquire-buffer-when-src-pad-isn-t-activ.patch |   47 +
 .../0003-fix-decoder-flushing.patch                |   15 +
 .../0003-no-timeout-on-get-state.patch             |   16 +
 ...erly-handle-drain-requests-while-flushing.patch |   69 +
 ...-gst_omx_video_dec_set_format-if-there-s-.patch |   30 +
 .../gstreamer/gstreamer1.0-omx_%.bbappend          |   22 +
 42 files changed, 4114 insertions(+), 106 deletions(-)
 create mode 100644
recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
 create mode 100644
recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
 rename recipes-devtools/python/{rpi-gpio_0.5.11.bb =>
rpi-gpio_0.6.1.bb} (70%)
 create mode 100644
recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
 create mode 100644
recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch
 create mode 100644 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
 create mode 100644 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
 delete mode 100644
recipes-graphics/userland/userland/0001-fix-gcc-5.x-inlines.patch
 delete mode 100644
recipes-graphics/userland/userland/0002-fix-musl-build.patch
 delete mode 100644
recipes-graphics/userland/userland/0003-fix-alloc-size-uninitialized.patch
 create mode 100644
recipes-graphics/userland/userland/0005-Allow-applications-to-set-next-resource-handle.patch
 create mode 100644
recipes-graphics/userland/userland/0006-wayland-Add-support-for-the-Wayland-winsys.patch
 create mode 100644
recipes-graphics/userland/userland/0007-wayland-Add-Wayland-example.patch
 create mode 100644
recipes-graphics/userland/userland/0008-wayland-egl-Add-bcm_host-to-dependencies.patch
 create mode 100644
recipes-graphics/userland/userland/0009-interface-remove-faulty-assert-to-make-weston-happy-.patch
 create mode 100644
recipes-graphics/userland/userland/0010-zero-out-wl-buffers-in-egl_surface_free.patch
 create mode 100644
recipes-graphics/userland/userland/0011-initialize-front-back-wayland-buffers.patch
 create mode 100644
recipes-graphics/userland/userland/0012-Remove-RPC_FLUSH.patch
 create mode 100644
recipes-graphics/userland/userland/0013-fix-cmake-dependency-race.patch
 create mode 100644
recipes-graphics/userland/userland/0014-Fix-enum-conversion-warnings.patch
 create mode 100644 recipes-graphics/wayland/weston_%.bbappend
 create mode 100644 recipes-graphics/weston/weston_%.bbappend
 copy recipes-kernel/linux/{linux-raspberrypi_4.1.bb =>
linux-raspberrypi_4.4.bb} (50%)
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-config-files-path.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-fix-decoder-flushing.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-no-timeout-on-get-state.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-Properly-handle-drain-requests-while-flushing.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
 create mode 100644
Quoted 5 lines

recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend

--
1.9.1

--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

author
#34 lore raw

ping^2

Quoted 178 lines · Khem Raj
Quoted 5 lines · Andrei Gherzan

Hi Khen,

I started to merge the ones that were obvious. The rest need rebasing, conflict fixing and so on. And then I test them locally. So it will take a while. But I'll merge as I test. So you can easily see the progress.

You can use kraj/master branch from

https://github.com/kraj/meta-raspberrypi/tree/kraj/master

This is fully rebased on top of master. Should have no coflicts

Quoted 162 lines

--
Andrei Gherzan

Quoted 155 lines · Khem Raj

Andrei

I see you merged few of patches from here
What is status of rest of series ?

This series has been tested to work with Webkit and weston images on Pi2

Quoted 133 lines · Khem Raj

This patchset has been growing for a while, Adds recipes for kenrel 4.4 and switches
to use kernel 4.4
Fixes userland to compile with clang
Upgrade userland to latest
Add option to support GPU_MEM_1024
Upgrade firmware to latest

Khem Raj (23):
userland: Upgrade to latest git master
userland: Fix build with clang compiler
userland: Add wayland support
weston: Enable rpi compositor backend
rpi-gpio: Upgrade to 0.6.1 and fix build with clang eglinfo-x11,eglinfo-fb: Add EGLINFO_DEVICE via bbappends
python-rtimu: Fix build with musl
wiringPi: Fix build with musl
Delete rpc flushing of thread in glEGLImageTargetTexture2DOES
rpio: Include sys/types.h for caddr_t
userland: Define PROJECT_APIVER and rprovide libgles2 libgl
userland: Add wayland to deps if in DISTRO_FEATURES
userland: Fix build race with wayland support gstreamer1.0-omx: Add raspberry pi optimization patches and config
options
weston: Specify egl and compositor options for rpi gstreamer1.0-omx: Backports and fixes for smooth video playback
linux-raspberrypi: Upgrade 4.1 kernel to 4.1.17
firmware: Upgrade to latest stable 20160209
rpi-config: Upgrade to tip of tree to get GPU_MEM_1024
linux-raspberrypi: Add recipe for 4.4 release
userland: Upgrade to latest
linux-raspberrypi: Upgrade 4.4.1 -> 4.4.2
userland: Drop extern inline patches

 README                                             |    2 +
 conf/machine/include/rpi-default-versions.inc      |    2 +-
 recipes-bsp/bootfiles/bcm2835-bootfiles.bb         |    2 +-
 recipes-bsp/bootfiles/rpi-config_git.bb            |    5 +-
 recipes-bsp/common/firmware.inc                    |    4 +-
 ...0001-include-asm-ioctl.h-for-ioctl-define.patch |   33 +
 recipes-devtools/python/python-rtimu_git.bb        |    4 +-
 .../rpi-gpio/0001-Remove-nested-functions.patch    |  294 +++
 .../{rpi-gpio_0.5.11.bb => rpi-gpio_0.6.1.bb}      |    6 +-
 ...-types.h-explicitly-for-getting-caddr_t-d.patch |   30 +
 recipes-devtools/python/rpio_0.10.0.bb             |    6 +-
 ...de-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch |   58 +
 recipes-devtools/wiringPi/wiringpi_git.bb          |    8 +-
 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend     |    1 +
 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend    |    1 +
 .../userland/0001-fix-gcc-5.x-inlines.patch        |   26 -
 .../userland/userland/0002-fix-musl-build.patch    |   22 -
 .../0002-set-VMCS_INSTALL_PREFIX-to-usr.patch      |    7 +-
 ...make-generate-and-install-pkgconfig-files.patch |   24 +-
 .../0003-fix-alloc-size-uninitialized.patch        |   13 -
 ...-applications-to-set-next-resource-handle.patch |  208 +++
 ...ayland-Add-support-for-the-Wayland-winsys.patch | 1880
++++++++++++++++++++
 .../0007-wayland-Add-Wayland-example.patch         |  866 +++++++++
 ...-wayland-egl-Add-bcm_host-to-dependencies.patch |   28 +
 ...emove-faulty-assert-to-make-weston-happy-.patch |   29 +
 ...0-zero-out-wl-buffers-in-egl_surface_free.patch |   33 +
 ...011-initialize-front-back-wayland-buffers.patch |   34 +
 .../userland/userland/0012-Remove-RPC_FLUSH.patch  |   27 +
 .../userland/0013-fix-cmake-dependency-race.patch  |   78 +
 .../0014-Fix-enum-conversion-warnings.patch        |   99 ++
 recipes-graphics/userland/userland_git.bb          |   33 +-
 recipes-graphics/wayland/weston_%.bbappend         |    4 +
 recipes-graphics/weston/weston_%.bbappend          |    7 +
 recipes-kernel/linux/linux-raspberrypi_4.1.bb      |    4 +-
 ...raspberrypi_4.1.bb => linux-raspberrypi_4.4.bb} |    6 +-
 .../gstreamer1.0-omx/0001-config-files-path.patch  |  137 ++
 ...o-acquire-buffer-when-src-pad-isn-t-activ.patch |   47 +
 .../0003-fix-decoder-flushing.patch                |   15 +
 .../0003-no-timeout-on-get-state.patch             |   16 +
 ...erly-handle-drain-requests-while-flushing.patch |   69 +
 ...-gst_omx_video_dec_set_format-if-there-s-.patch |   30 +
 .../gstreamer/gstreamer1.0-omx_%.bbappend          |   22 +
 42 files changed, 4114 insertions(+), 106 deletions(-)
 create mode 100644
recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
 create mode 100644
recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
 rename recipes-devtools/python/{rpi-gpio_0.5.11.bb =>
rpi-gpio_0.6.1.bb} (70%)
 create mode 100644
recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
 create mode 100644
recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch
 create mode 100644 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
 create mode 100644 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
 delete mode 100644
recipes-graphics/userland/userland/0001-fix-gcc-5.x-inlines.patch
 delete mode 100644
recipes-graphics/userland/userland/0002-fix-musl-build.patch
 delete mode 100644
recipes-graphics/userland/userland/0003-fix-alloc-size-uninitialized.patch
 create mode 100644
recipes-graphics/userland/userland/0005-Allow-applications-to-set-next-resource-handle.patch
 create mode 100644
recipes-graphics/userland/userland/0006-wayland-Add-support-for-the-Wayland-winsys.patch
 create mode 100644
recipes-graphics/userland/userland/0007-wayland-Add-Wayland-example.patch
 create mode 100644
recipes-graphics/userland/userland/0008-wayland-egl-Add-bcm_host-to-dependencies.patch
 create mode 100644
recipes-graphics/userland/userland/0009-interface-remove-faulty-assert-to-make-weston-happy-.patch
 create mode 100644
recipes-graphics/userland/userland/0010-zero-out-wl-buffers-in-egl_surface_free.patch
 create mode 100644
recipes-graphics/userland/userland/0011-initialize-front-back-wayland-buffers.patch
 create mode 100644
recipes-graphics/userland/userland/0012-Remove-RPC_FLUSH.patch
 create mode 100644
recipes-graphics/userland/userland/0013-fix-cmake-dependency-race.patch
 create mode 100644
recipes-graphics/userland/userland/0014-Fix-enum-conversion-warnings.patch
 create mode 100644 recipes-graphics/wayland/weston_%.bbappend
 create mode 100644 recipes-graphics/weston/weston_%.bbappend
 copy recipes-kernel/linux/{linux-raspberrypi_4.1.bb =>
linux-raspberrypi_4.4.bb} (50%)
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-config-files-path.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-fix-decoder-flushing.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-no-timeout-on-get-state.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-Properly-handle-drain-requests-while-flushing.patch
 create mode 100644
recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
 create mode 100644
Quoted 5 lines

recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend

--
1.9.1

--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

#35 lore raw
In reply to Khem Raj
Quoted 7 lines · Khem Raj
Quoted 5 lines · Andrei Gherzan

Hi Khen,

I started to merge the ones that were obvious. The rest need rebasing, conflict fixing and so on. And then I test them locally. So it will take a while. But I'll merge as I test. So you can easily see the progress.

Quoted 6 lines

You can use kraj/master branch from

https://github.com/kraj/meta-raspberrypi/tree/kraj/master

This is fully rebased on top of master. Should have no coflicts

Thank you Khem. I merged the patches to master.

Signature · 1 line
Andrei Gherzan