summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-raspberrypi/recipes-graphics
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-raspberrypi/recipes-graphics')
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend2
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend3
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch16
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch97
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch16
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch6
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch24
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch8
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch8
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch6
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch8
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-enum-conversion-warnings.patch99
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch (renamed from import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-Fix-for-framerate-with-nested-composition.patch)8
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch (renamed from import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-build-shared-library-for-vchostif.patch)8
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch (renamed from import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0013-implement-buffer-wrapping-interface-for-dispmanx.patch)6
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb16
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend16
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/weston/weston_%.bbappend7
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend9
19 files changed, 146 insertions, 217 deletions
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
index fd32abc45..2d720baaa 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
+++ b/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
@@ -1,2 +1,2 @@
-EGLINFO_DEVICE_rpi = "raspberrypi"
+EGLINFO_DEVICE_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'generic', 'raspberrypi', d)}"
ASNEEDED = ""
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
new file mode 100644
index 000000000..e7890224c
--- /dev/null
+++ b/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
@@ -0,0 +1,3 @@
+PACKAGECONFIG_append_rpi = " gallium"
+GALLIUMDRIVERS_rpi = "vc4"
+DRIDRIVERS_rpi = ""
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch
index 4d026bda8..4f72845dc 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch
@@ -1,7 +1,7 @@
-From 83c5ac5892d0cd29caa8922ff8b639b9a373c3cb Mon Sep 17 00:00:00 2001
+From 4b68419e58ef31e72abab688d0c7cc5db80efc13 Mon Sep 17 00:00:00 2001
From: Dom Cobley <dc4@broadcom.com>
Date: Tue, 9 Jul 2013 09:26:26 -0400
-Subject: [PATCH 01/13] Allow applications to set next resource handle
+Subject: [PATCH 01/12] Allow applications to set next resource handle
This patch adds provisions in userland to
let apps callers set the next rendereing dispmanx resource.
@@ -16,10 +16,10 @@ It's useful for implementing, say, a buffer carousel.
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
+index dc4351d..10ea060 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
+@@ -685,6 +685,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); }
@@ -27,7 +27,7 @@ index 418aa67..a7557a8 100644
#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
+@@ -702,6 +703,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)
@@ -56,7 +56,7 @@ index 8378f4a..ec961e0 100644
#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
+index 9d617c8..b8bb374 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 *
@@ -125,7 +125,7 @@ index 472ef0c..234da65 100644
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
+index 6846dfa..128325e 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(
@@ -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.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch
index aa09ddac9..6cc8ea84c 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch
@@ -1,7 +1,7 @@
-From 79ce2b4125359593f37c5b9744a37203e24249de Mon Sep 17 00:00:00 2001
+From e3d2d0007e1c6c32ab7d9a28f1e399d42b511333 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
-Subject: [PATCH 02/13] wayland: Add support for the Wayland winsys
+Subject: [PATCH 02/12] wayland: Add support for the Wayland winsys
* Adds EGL_WL_bind_wayland_display extension
* Adds wayland-egl library
@@ -20,8 +20,9 @@ vc_vchi_dispmanx.h
.gitignore | 2 +
CMakeLists.txt | 11 +
README.md | 4 +
- buildme | 14 +-
- interface/khronos/CMakeLists.txt | 52 ++++-
+ buildme | 10 +-
+ .../linux/apps/raspicam/CMakeLists.txt | 2 +-
+ interface/khronos/CMakeLists.txt | 53 ++++-
interface/khronos/common/khrn_client.c | 15 ++
interface/khronos/common/khrn_client.h | 10 +
interface/khronos/common/khrn_client_mangle.h | 3 +
@@ -46,7 +47,7 @@ vc_vchi_dispmanx.h
interface/vmcs_host/vc_vchi_dispmanx.h | 15 ++
interface/wayland/dispmanx.xml | 123 +++++++++++
makefiles/cmake/Wayland.cmake | 72 ++++++
- 29 files changed, 1260 insertions(+), 97 deletions(-)
+ 30 files changed, 1258 insertions(+), 98 deletions(-)
create mode 100644 interface/khronos/common/linux/khrn_wayland.c
copy interface/{vmcs_host/vc_vchi_dispmanx.h => khronos/common/linux/khrn_wayland.h} (56%)
create mode 100644 interface/khronos/ext/egl_wayland.c
@@ -57,20 +58,20 @@ vc_vchi_dispmanx.h
create mode 100644 makefiles/cmake/Wayland.cmake
diff --git a/.gitignore b/.gitignore
-index 8df9393..d0d1387 100644
+index 4a88665..5da71a9 100644
--- a/.gitignore
+++ b/.gitignore
-@@ -10,3 +10,5 @@
+@@ -13,3 +13,5 @@ build/
*.lai
*.la
*.a
+
+*~
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3113618..56b7fb8 100644
+index 98252c3..d6ae907 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -19,6 +19,17 @@ include(makefiles/cmake/global_settings.cmake)
+@@ -24,6 +24,17 @@ include(makefiles/cmake/global_settings.cmake)
include(makefiles/cmake/arm-linux.cmake)
include(makefiles/cmake/vmcs.cmake)
@@ -101,11 +102,12 @@ index 358d2b4..4da4448 100644
+
+$ BUILD_WAYLAND=1 ./buildme.
diff --git a/buildme b/buildme
-index d5d3de9..c46f214 100755
+index 1061745..d0e6e54 100755
--- a/buildme
+++ b/buildme
-@@ -1,10 +1,14 @@
- #!/bin/bash
+@@ -8,6 +8,10 @@ fi
+
+ BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`;
+if [ -n "$BUILD_WAYLAND" ]; then
+ WAYLAND_VARS="-DBUILD_WAYLAND=TRUE"
@@ -113,32 +115,37 @@ index d5d3de9..c46f214 100755
+
if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
# Native compile on the Raspberry Pi
- mkdir -p build/raspberry/release
- pushd build/raspberry/release
-- cmake -DCMAKE_BUILD_TYPE=Release ../../..
-+ cmake -DCMAKE_BUILD_TYPE=Release $WAYLAND_VARS ../../..
- if [ "armv6l" = `arch` ]; then
- make
- else
-@@ -17,9 +21,15 @@ if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
- fi
+ mkdir -p build/raspberry/$BUILDSUBDIR
+@@ -32,9 +36,13 @@ elif [ "$1" = "--native" ]; then
+ make -j 6 $*
else
# Cross compile on a more capable machine
-+
+ if [ -n "$BUILD_WAYLAND" ]; then
+ # Use wayland-scanner from the build platform
+ WAYLAND_VARS+=" -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=/usr/bin/wayland-scanner"
+ fi
-+
- mkdir -p build/arm-linux/release/
- pushd build/arm-linux/release/
-- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=Release ../../..
-+ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=Release $WAYLAND_VARS ../../..
+ mkdir -p build/arm-linux/$BUILDSUBDIR
+ pushd build/arm-linux/$BUILDSUBDIR
+- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../..
++ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE $WAYLAND_VARS ../../..
make -j 6
if [ "$1" != "" ]; then
+diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt
+index e6aa6b8..69059cb 100644
+--- a/host_applications/linux/apps/raspicam/CMakeLists.txt
++++ b/host_applications/linux/apps/raspicam/CMakeLists.txt
+@@ -28,7 +28,7 @@ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c)
+
+ set (MMAL_LIBS mmal_core mmal_util mmal_vc_client)
+
+-target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m)
++target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES})
+ target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host)
+ target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host)
+ target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host)
diff --git a/interface/khronos/CMakeLists.txt b/interface/khronos/CMakeLists.txt
-index c437291..6778e10 100644
+index 9ad615b..3d3571a 100644
--- a/interface/khronos/CMakeLists.txt
+++ b/interface/khronos/CMakeLists.txt
@@ -6,6 +6,12 @@
@@ -154,7 +161,7 @@ index c437291..6778e10 100644
set(EGL_SOURCE
egl/egl_client_config.c
egl/egl_client_context.c
-@@ -55,19 +61,63 @@ set(CLIENT_SOURCE
+@@ -55,12 +61,56 @@ set(CLIENT_SOURCE
common/khrn_int_hash_asm.s
common/khrn_client_cache.c)
@@ -211,16 +218,18 @@ index c437291..6778e10 100644
# TODO do we need EGL_static and GLESv2_static now that khrn_static exists?
add_library(EGL_static STATIC ${EGL_SOURCE})
add_library(GLESv2_static STATIC ${GLES_SOURCE})
- add_library(khrn_static STATIC
- ${EGL_SOURCE} ${GLES_SOURCE} ${VG_SOURCE} ${WFC_SOURCE} ${CLIENT_SOURCE})
-
--target_link_libraries(EGL khrn_client vchiq_arm vcos bcm_host -lm)
-+target_link_libraries(EGL ${EGL_LIBS})
+@@ -72,8 +122,7 @@ include_directories (../../host_applications/linux/libs/sm )
+ set(VCSM_LIBS vcsm)
+ add_definitions(-DKHRONOS_HAVE_VCSM)
+ endif()
+-
+-target_link_libraries(EGL khrn_client vchiq_arm vcos bcm_host ${VCSM_LIBS} -lm)
++target_link_libraries(EGL ${EGL_LIBS} ${VCSM_LIBS})
target_link_libraries(GLESv2 EGL khrn_client vcos)
target_link_libraries(WFC EGL)
target_link_libraries(OpenVG EGL)
diff --git a/interface/khronos/common/khrn_client.c b/interface/khronos/common/khrn_client.c
-index e38a85f..783a68e 100644
+index ef4babd..d7e798e 100644
--- a/interface/khronos/common/khrn_client.c
+++ b/interface/khronos/common/khrn_client.c
@@ -54,6 +54,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -333,7 +342,7 @@ index 4f3ce49..84f6ec0 100644
/* OpenGL ES 1.1 and 2.0 functions */
diff --git a/interface/khronos/common/linux/khrn_client_platform_linux.c b/interface/khronos/common/linux/khrn_client_platform_linux.c
-index 9d43d15..00821d3 100644
+index 710d20f..50d60a6 100644
--- a/interface/khronos/common/linux/khrn_client_platform_linux.c
+++ b/interface/khronos/common/linux/khrn_client_platform_linux.c
@@ -37,6 +37,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -348,7 +357,7 @@ index 9d43d15..00821d3 100644
extern VCOS_LOG_CAT_T khrn_client_log;
extern void vc_vchi_khronos_init();
-@@ -460,13 +465,36 @@ EGLDisplay khrn_platform_set_display_id(EGLNativeDisplayType display_id)
+@@ -464,13 +469,36 @@ EGLDisplay khrn_platform_set_display_id(EGLNativeDisplayType display_id)
return EGL_NO_DISPLAY;
}
#else
@@ -387,7 +396,7 @@ index 9d43d15..00821d3 100644
#endif
#ifdef WANT_X
-@@ -801,22 +829,81 @@ static EGL_DISPMANX_WINDOW_T *check_default(EGLNativeWindowType win)
+@@ -805,22 +833,81 @@ static EGL_DISPMANX_WINDOW_T *check_default(EGLNativeWindowType win)
void platform_get_dimensions(EGLDisplay dpy, EGLNativeWindowType win,
uint32_t *width, uint32_t *height, uint32_t *swapchain_count)
{
@@ -767,7 +776,7 @@ index b723b76..b9bf08c 100644
-#endif
+struct wl_dispmanx_client_buffer *allocate_wl_buffer(struct wl_egl_window *window, KHRN_IMAGE_FORMAT_T color);
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
-index 234da65..024f3ed 100644
+index b8bb374..03fe67b 100644
--- a/interface/khronos/egl/egl_client.c
+++ b/interface/khronos/egl/egl_client.c
@@ -153,6 +153,10 @@ by an attribute value"
@@ -941,7 +950,7 @@ index 4cfa9ff..6a715af 100644
}
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
-index 0dc10e2..49cf7e5 100644
+index 128325e..42350bf 100644
--- a/interface/khronos/egl/egl_client_surface.c
+++ b/interface/khronos/egl/egl_client_surface.c
@@ -46,6 +46,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1533,7 +1542,7 @@ index 0000000..8bafc15
+Libs: -L${libdir} -lwayland-egl
+Cflags: -I${includedir}
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index e0c6e13..35150ed 100755
+index 0b3adc9..f44d01f 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -9,13 +9,24 @@ add_definitions(-fno-strict-aliasing)
@@ -1595,10 +1604,10 @@ index 37fdae1..fe3619a 100755
}
#endif
diff --git a/interface/vmcs_host/vc_vchi_dispmanx.c b/interface/vmcs_host/vc_vchi_dispmanx.c
-index d188068..3e668f5 100755
+index 133e86d..45f4cff 100755
--- a/interface/vmcs_host/vc_vchi_dispmanx.c
+++ b/interface/vmcs_host/vc_vchi_dispmanx.c
-@@ -1316,3 +1316,45 @@ static void *dispmanx_notify_func( void *arg ) {
+@@ -1319,3 +1319,45 @@ static void *dispmanx_notify_func( void *arg ) {
}
return 0;
}
@@ -1876,5 +1885,5 @@ index 0000000..ad90d30
+ set(${_sources} ${${_sources}} PARENT_SCOPE)
+endfunction()
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch
index 11befc371..bbd972761 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch
@@ -1,7 +1,7 @@
-From b6ee187184456d66095146e3dc06b6baa29c17d7 Mon Sep 17 00:00:00 2001
+From 8a4b3ea902bbcc08452e13a61ffbdc834bc13ea3 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
-Subject: [PATCH 03/13] wayland: Add Wayland example
+Subject: [PATCH 03/12] wayland: Add Wayland example
---
.../linux/apps/hello_pi/CMakeLists.txt | 1 +
@@ -844,23 +844,23 @@ index 0000000..1a7bfc4
+}
+
diff --git a/host_applications/linux/apps/hello_pi/rebuild.sh b/host_applications/linux/apps/hello_pi/rebuild.sh
-index fa4539e..37120ac 100755
+index 8225dd5..0be6ce7 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
+@@ -14,6 +14,7 @@ make -C hello_videocube clean
make -C hello_teapot clean
make -C hello_fft clean
+ make -C hello_mmal_encode 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
+@@ -31,4 +32,4 @@ make -C hello_videocube
make -C hello_teapot
make -C hello_fft
+ make -C hello_mmal_encode
-
+make -C hello_wayland
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
index 2a44e2658..752b61a0c 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
@@ -1,7 +1,7 @@
-From e3df3fec01aefac3ec301f6f3d5ec3e91652b9c5 Mon Sep 17 00:00:00 2001
+From 718402e1be80ff9fb9863e847e31072ec735a5eb Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 10 Aug 2015 02:38:27 -0700
-Subject: [PATCH 04/13] wayland-egl: Add bcm_host to dependencies
+Subject: [PATCH 04/12] 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.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
index 6f4193296..05b0dfa7b 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
@@ -1,7 +1,7 @@
-From 6c9d407c9ec0859380e7bcf35cf915cef4b3687b Mon Sep 17 00:00:00 2001
+From 2a6e3d53a75fe44ec6fa3ae64c8ca5664b614979 Mon Sep 17 00:00:00 2001
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Date: Sat, 24 Jan 2015 22:07:19 +0100
-Subject: [PATCH 05/13] interface: remove faulty assert() to make weston happy
+Subject: [PATCH 05/12] interface: remove faulty assert() to make weston happy
at runtime
This was removed after a discussion on IRC with the weston guys
@@ -13,17 +13,17 @@ Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
1 file changed, 1 deletion(-)
diff --git a/interface/vmcs_host/vc_vchi_dispmanx.c b/interface/vmcs_host/vc_vchi_dispmanx.c
-index 3e668f5..8e065dc 100755
+index 45f4cff..5d0368c 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 {
+@@ -1306,7 +1306,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.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch
index 2d522664a..f4da1c13e 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch
@@ -1,7 +1,7 @@
-From e3ffe9438fe8417586d0045d00eb1368ca3a71b6 Mon Sep 17 00:00:00 2001
+From a3d43c1b754fc0576b428d36a877b9b50dd5d1ce Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:10:47 -0800
-Subject: [PATCH 06/13] zero-out wl buffers in egl_surface_free
+Subject: [PATCH 06/12] zero-out wl buffers in egl_surface_free
origins from buildroot
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
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
+index 42350bf..1f923d9 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)
@@ -29,5 +29,5 @@ index 49cf7e5..512c83b 100644
#endif
}
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch
index f54f77d7e..47f633a6d 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch
@@ -1,7 +1,7 @@
-From ed31a6a206c9e205bd5316e95788e5d7bb837e38 Mon Sep 17 00:00:00 2001
+From 5b37f53cff07f37b281c25f987b9dbdacc264bf6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:11:41 -0800
-Subject: [PATCH 07/13] initialize front back wayland buffers
+Subject: [PATCH 07/12] initialize front back wayland buffers
origins from metrological wayland support
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
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
+index 1f923d9..9a9582c 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(
@@ -30,5 +30,5 @@ index 512c83b..a429724 100644
}
#endif
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch
index 0206a08f6..74918425e 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch
@@ -1,7 +1,7 @@
-From 6e173040a825185013ccbbb33113442207f10eeb Mon Sep 17 00:00:00 2001
+From 14a749a3f840e93db548373b907a7a0e664dcfdb Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:09:18 -0800
-Subject: [PATCH 08/13] Remove RPC_FLUSH
+Subject: [PATCH 08/12] Remove RPC_FLUSH
Origins from buildroot
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
}
#endif
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch
index 87cfce4c1..3f57d1eb7 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch
@@ -1,7 +1,7 @@
-From c4217231fd78daee83b0c0f312c1d392aa6e0f47 Mon Sep 17 00:00:00 2001
+From b5392c39d7407a5226c9314bc01ed82877ff0539 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 13:12:47 -0800
-Subject: [PATCH 09/13] fix cmake dependency race
+Subject: [PATCH 09/12] fix cmake dependency race
Fixes errors like
@@ -42,7 +42,7 @@ index 1d81ca3..d6cd415 100644
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
+index f44d01f..9bcc2c3 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -17,14 +17,6 @@ set(VCHOSTIF_SOURCE
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
struct wl_resource *resource;
struct wl_dispmanx *dispmanx;
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-enum-conversion-warnings.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-enum-conversion-warnings.patch
deleted file mode 100644
index d4e88255f..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-enum-conversion-warnings.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 377f6aada3b7569e3d662fc830e01b8c5ba8a15d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 18 Feb 2016 09:04:46 +0000
-Subject: [PATCH 10/13] Fix enum conversion warnings
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/mmal/openmaxil/mmalomx_core.c | 4 ++--
- interface/mmal/openmaxil/mmalomx_parameters.c | 6 +++---
- interface/mmal/openmaxil/mmalomx_util_params_video.c | 8 ++++----
- 3 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/interface/mmal/openmaxil/mmalomx_core.c b/interface/mmal/openmaxil/mmalomx_core.c
-index 9bc632b..20d4fc7 100644
---- a/interface/mmal/openmaxil/mmalomx_core.c
-+++ b/interface/mmal/openmaxil/mmalomx_core.c
-@@ -281,7 +281,7 @@ static OMX_ERRORTYPE mmalomx_ComponentGetParameter(
- {
- OMX_PARAM_PORTDEFINITIONTYPE *param = (OMX_PARAM_PORTDEFINITIONTYPE *)pParam;
- PARAM_GET_PORT(port, component, param->nPortIndex);
-- return mmalil_error_to_mmal(mmalomx_get_port_settings(port, param));
-+ return mmalil_error_to_omx(mmalomx_get_port_settings(port, param));
- }
- return OMX_ErrorNone;
- break;
-@@ -475,7 +475,7 @@ static OMX_ERRORTYPE mmalomx_ComponentSetParameter(
- {
- OMX_PARAM_PORTDEFINITIONTYPE *param = (OMX_PARAM_PORTDEFINITIONTYPE *)pParam;
- PARAM_GET_PORT(port, component, param->nPortIndex);
-- return mmalil_error_to_mmal(mmalomx_set_port_settings(port, param));
-+ return mmalil_error_to_omx(mmalomx_set_port_settings(port, param));
- }
- return OMX_ErrorNone;
- break;
-diff --git a/interface/mmal/openmaxil/mmalomx_parameters.c b/interface/mmal/openmaxil/mmalomx_parameters.c
-index a20a5bd..c4f97d4 100644
---- a/interface/mmal/openmaxil/mmalomx_parameters.c
-+++ b/interface/mmal/openmaxil/mmalomx_parameters.c
-@@ -170,7 +170,7 @@ static OMX_ERRORTYPE mmalomx_parameter_get_xlat(MMALOMX_COMPONENT_T *component,
-
- if (xlat->fn.custom)
- {
-- return mmalil_error_to_mmal(xlat->fn.custom(MMALOMX_PARAM_MAPPING_TO_OMX, xlat, mmal_header,
-+ return mmalil_error_to_omx(xlat->fn.custom(MMALOMX_PARAM_MAPPING_TO_OMX, xlat, mmal_header,
- pParam, mmal_port));
- }
-
-@@ -554,14 +554,14 @@ OMX_ERRORTYPE mmalomx_parameter_set(MMALOMX_COMPONENT_T *component,
- port->mmal->format->es->video.par.num = param->nX;
- port->mmal->format->es->video.par.den = param->nY;
- mmal_rational_simplify(&port->mmal->format->es->video.par);
-- return mmalil_error_to_mmal(mmal_port_format_commit(port->mmal));
-+ return mmalil_error_to_omx(mmal_port_format_commit(port->mmal));
- }
- case OMX_IndexParamColorSpace:
- {
- OMX_PARAM_COLORSPACETYPE *param = (OMX_PARAM_COLORSPACETYPE *)pParam;
- PARAM_GET_PORT(port, component, param->nPortIndex);
- port->mmal->format->es->video.color_space = mmalil_omx_color_space_to_mmal(param->eColorSpace);
-- return mmalil_error_to_mmal(mmal_port_format_commit(port->mmal));
-+ return mmalil_error_to_omx(mmal_port_format_commit(port->mmal));
- }
- case OMX_IndexParamBrcmVideoCroppingDisable:
- {
-diff --git a/interface/mmal/openmaxil/mmalomx_util_params_video.c b/interface/mmal/openmaxil/mmalomx_util_params_video.c
-index f088296..83e3724 100644
---- a/interface/mmal/openmaxil/mmalomx_util_params_video.c
-+++ b/interface/mmal/openmaxil/mmalomx_util_params_video.c
-@@ -56,11 +56,11 @@ static MMAL_STATUS_T mmalomx_param_mapping_displayregion(MMALOMX_PARAM_MAPPING_D
- mmal->set = omx->set;
- mmal->display_num = omx->num;
- mmal->fullscreen = omx->fullscreen;
-- mmal->transform = omx->transform;
-+ mmal->transform = (MMAL_DISPLAYTRANSFORM_T)omx->transform;
- rect_to_mmal(&mmal->dest_rect, &omx->dest_rect);
- rect_to_mmal(&mmal->src_rect, &omx->src_rect);
- mmal->noaspect = omx->noaspect;
-- mmal->mode = omx->mode;
-+ mmal->mode = (MMAL_DISPLAYMODE_T)omx->mode;
- mmal->pixel_x = omx->pixel_x;
- mmal->pixel_y = omx->pixel_y;
- mmal->layer = omx->layer;
-@@ -72,11 +72,11 @@ static MMAL_STATUS_T mmalomx_param_mapping_displayregion(MMALOMX_PARAM_MAPPING_D
- omx->set = mmal->set;
- omx->num = mmal->display_num;
- omx->fullscreen = mmal->fullscreen;
-- omx->transform = mmal->transform;
-+ omx->transform = (OMX_DISPLAYTRANSFORMTYPE)mmal->transform;
- rect_to_omx(&omx->dest_rect, &mmal->dest_rect);
- rect_to_omx(&omx->src_rect, &mmal->src_rect);
- omx->noaspect = mmal->noaspect;
-- omx->mode = mmal->mode;
-+ omx->mode = (OMX_DISPLAYMODETYPE)mmal->mode;
- omx->pixel_x = mmal->pixel_x;
- omx->pixel_y = mmal->pixel_y;
- omx->layer = mmal->layer;
---
-2.9.0
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-Fix-for-framerate-with-nested-composition.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch
index 5e97571d9..8a34f3f1a 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-Fix-for-framerate-with-nested-composition.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch
@@ -1,7 +1,7 @@
-From 6e634184ee4b3d2c98c3213a3931845ec3014754 Mon Sep 17 00:00:00 2001
+From 098faed5e7035b51f14700fdf4cf5875aa7af97e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 29 Mar 2016 20:38:30 -0700
-Subject: [PATCH 11/13] Fix for framerate with nested composition
+Subject: [PATCH 10/12] Fix for framerate with nested composition
frame rate appears irregular and lower than expected when using nested composition.
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 8 insertions(+)
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
-index 024f3ed..83970ec 100644
+index 03fe67b..13a110c 100644
--- a/interface/khronos/egl/egl_client.c
+++ b/interface/khronos/egl/egl_client.c
@@ -2342,6 +2342,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
@@ -56,5 +56,5 @@ index 024f3ed..83970ec 100644
#ifdef ANDROID
CLIENT_UNLOCK();
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-build-shared-library-for-vchostif.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch
index 44815c571..f2455e52c 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-build-shared-library-for-vchostif.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch
@@ -1,7 +1,7 @@
-From 559209ce15027b3370466ccb56223a7a66d2a40c Mon Sep 17 00:00:00 2001
+From b533d784484caead1dc84c766127e1d3854d2aad Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:37:24 -0700
-Subject: [PATCH 12/13] build shared library for vchostif
+Subject: [PATCH 11/12] build shared library for vchostif
Fixes #149
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index 22949a8..f8c2f2f 100755
+index 9bcc2c3..0ef753f 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -17,7 +17,7 @@ set(VCHOSTIF_SOURCE
@@ -24,5 +24,5 @@ index 22949a8..f8c2f2f 100755
#add_library(bufman vc_vchi_bufman.c )
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0013-implement-buffer-wrapping-interface-for-dispmanx.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
index 8f36048f9..aa3e0ef35 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0013-implement-buffer-wrapping-interface-for-dispmanx.patch
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
@@ -1,7 +1,7 @@
-From 5b55a152651eece345d9ea1e0e40ecd9fc4ca2d5 Mon Sep 17 00:00:00 2001
+From ee5ebfcf0e030efed17f2a45fbb018a02dd421b3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:54:59 -0700
-Subject: [PATCH 13/13] implement buffer wrapping interface for dispmanx
+Subject: [PATCH 12/12] implement buffer wrapping interface for dispmanx
Courtesy: Zan Dobersek
@@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644
</protocol>
--
-2.9.0
+2.10.2
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index 6e73ca74b..a37249c82 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
@@ -16,7 +16,7 @@ COMPATIBLE_MACHINE = "raspberrypi"
SRCBRANCH = "master"
SRCFORK = "raspberrypi"
-SRCREV = "0147f98bdd4fdc822d25d8a70cf5adc5adb89096"
+SRCREV = "bb15afe33b313fe045d52277a78653d288e04f67"
SRC_URI = "\
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
@@ -29,19 +29,23 @@ SRC_URI = "\
file://0007-initialize-front-back-wayland-buffers.patch \
file://0008-Remove-RPC_FLUSH.patch \
file://0009-fix-cmake-dependency-race.patch \
- file://0010-Fix-enum-conversion-warnings.patch \
- file://0011-Fix-for-framerate-with-nested-composition.patch \
- file://0012-build-shared-library-for-vchostif.patch \
- file://0013-implement-buffer-wrapping-interface-for-dispmanx.patch \
+ file://0010-Fix-for-framerate-with-nested-composition.patch \
+ file://0011-build-shared-library-for-vchostif.patch \
+ file://0012-implement-buffer-wrapping-interface-for-dispmanx.patch \
"
S = "${WORKDIR}/git"
inherit cmake pkgconfig
+ASNEEDED = ""
+
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \
-DVMCS_INSTALL_PREFIX=${exec_prefix} \
"
+EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON "
+
+
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland"
@@ -71,3 +75,5 @@ FILES_${PN}-doc += "${datadir}/install"
FILES_${PN}-dbg += "${libdir}/plugins/.debug"
PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend
index c3a742148..f2cb7aa1f 100644
--- a/import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend
+++ b/import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend
@@ -1,4 +1,12 @@
-EXTRA_OECONF_append_rpi = "\
- --enable-rpi-compositor \
- WESTON_NATIVE_BACKEND=rpi-backend.so \
- "
+EXTRA_OECONF_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' --enable-rpi-compositor WESTON_NATIVE_BACKEND=rpi-backend.so', d)}"
+
+PACKAGECONFIG_remove_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'fbdev', '', d)}"
+
+EXTRA_OECONF += "--disable-xwayland-test \
+ --disable-simple-egl-clients \
+"
+
+EXTRA_OECONF += "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '--enable-rpi-compositor', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '--disable-resize-optimization', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '--disable-setuid-install', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'WESTON_NATIVE_BACKEND=rpi-backend.so', d)}"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/weston/weston_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/weston/weston_%.bbappend
deleted file mode 100644
index 3ec311d4e..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/weston/weston_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-EXTRA_OECONF += "--enable-rpi-compositor \
- --disable-resize-optimization \
- --disable-setuid-install \
- --disable-xwayland-test \
- --disable-simple-egl-clients \
- WESTON_NATIVE_BACKEND=rpi-backend.so \
-"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
new file mode 100644
index 000000000..a5a6af3f3
--- /dev/null
+++ b/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -0,0 +1,9 @@
+OPENGL_PKGCFG = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
+
+# slightly modified to oe-core's default: add ${OPENGL_PKGCFG}
+PACKAGECONFIG_rpi ?= " \
+ dri2 udev ${XORG_CRYPTO} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri glx ${OPENGL_PKGCFG}', '', d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "xwayland", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)} \
+"
OpenPOWER on IntegriCloud