diff options
Diffstat (limited to 'import-layers/meta-raspberrypi/recipes-graphics')
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)} \ +" |