From 35a774200999ac2fca48693c1c169bf99d2f63ea Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Tue, 26 May 2020 13:25:03 -0400 Subject: reset upstream subtrees to HEAD Reset the following subtrees on HEAD: poky: ed3bdd7fbc(dunfell) meta-raspberrypi: 8066fac91d(dunfell) meta-security: d83f7cb0c9(dunfell) meta-openembedded: e413c1ef62(dunfell) Change-Id: Ifd3228663b08911c890d7631310294cccb3dd232 Signed-off-by: Brad Bishop --- .../files/0001-dri2-query-dma-buf-modifiers.patch | 43 ++++++++++++++++++++++ .../recipes-graphics/mesa/mesa_%.bbappend | 4 ++ ...-applications-to-set-next-resource-handle.patch | 7 +--- ...ayland-Add-support-for-the-Wayland-winsys.patch | 32 ++++++++-------- .../files/0003-wayland-Add-Wayland-example.patch | 7 +--- ...-wayland-egl-Add-bcm_host-to-dependencies.patch | 7 +--- ...emove-faulty-assert-to-make-weston-happy-.patch | 9 ++--- ...6-zero-out-wl-buffers-in-egl_surface_free.patch | 7 +--- ...007-initialize-front-back-wayland-buffers.patch | 7 +--- .../userland/files/0008-Remove-RPC_FLUSH.patch | 7 +--- .../files/0009-fix-cmake-dependency-race.patch | 9 ++--- ...Fix-for-framerate-with-nested-composition.patch | 7 +--- .../0011-build-shared-library-for-vchostif.patch | 11 ++---- ...nt-buffer-wrapping-interface-for-dispmanx.patch | 7 +--- ...13-Implement-triple-buffering-for-wayland.patch | 7 +--- ...-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch | 7 +--- .../0015-EGL-glplatform.h-define-EGL_CAST.patch | 7 +--- ...ple-wayland-compositor-state-data-per-pro.patch | 8 +--- ...kport-typedef-for-EGL_EXT_image_dma_buf_i.patch | 8 +--- ...-EGL_IMG_context_priority-related-defines.patch | 7 +--- ...dt-Undefine-__wordsize-if-already-defined.patch | 17 ++++----- .../files/0020-openmaxil-add-pkg-config-file.patch | 40 ++++++++++++++++++++ ...-Disable-format-overflow-warning-as-error.patch | 32 ++++++++++++++++ .../recipes-graphics/userland/userland_git.bb | 11 +++++- 24 files changed, 188 insertions(+), 120 deletions(-) create mode 100644 meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch create mode 100644 meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch create mode 100644 meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch (limited to 'meta-raspberrypi/recipes-graphics') diff --git a/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch b/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch new file mode 100644 index 0000000000..0bda014505 --- /dev/null +++ b/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch @@ -0,0 +1,43 @@ +mesa: querying dma_buf_modifiers for specific formats + +mesa wl_drm protocol is the backend for wayland server side which requires +the dmabuf modifiers for some DRM formats on specific devices like RPI. +Currently there is no support of giving any dmabuf modifiers on wl_drm protocol. +This dma_buf modifiers allows EGL implementations to add extra attributes +to drm_fourcc format. + +Upstream-Status: Pending + +Signed-off-by: Balaji Velmurugan + +--- a/src/gallium/state_trackers/dri/dri2.c ++++ b/src/gallium/state_trackers/dri/dri2.c +@@ -1366,14 +1366,28 @@ dri2_from_planar(__DRIimage *image, int + return img; + } + ++static boolean ++dri2_query_dma_buf_modifiers(__DRIscreen *_screen, int fourcc, int max, ++ uint64_t *modifiers, unsigned int *external_only, ++ int *count); + static __DRIimage * + dri2_from_fds(__DRIscreen *screen, int width, int height, int fourcc, + int *fds, int num_fds, int *strides, int *offsets, + void *loaderPrivate) + { ++ uint64_t modifier= DRM_FORMAT_MOD_INVALID; ++ unsigned int external_only= 0; ++ int count= 0; ++ boolean result; ++ result= dri2_query_dma_buf_modifiers( screen, fourcc, 1, &modifier, &external_only, &count); ++ return dri2_create_image_from_fd(screen, width, height, fourcc, ++ modifier, fds, num_fds, ++ strides, offsets, NULL, loaderPrivate); ++ #if 0 + return dri2_create_image_from_fd(screen, width, height, fourcc, + DRM_FORMAT_MOD_INVALID, fds, num_fds, + strides, offsets, NULL, loaderPrivate); ++ #endif + } + + static boolean diff --git a/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend index eaa46f27b6..d3435e720d 100644 --- a/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend +++ b/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend @@ -1,6 +1,10 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" # DRI3 note: # With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set # as default. To state out clearly that Raspi needs dri3 and to avoid surprises # in case oe-core changes this default, we set dri3 explicitly. + +SRC_URI_append_rpi = " file://0001-dri2-query-dma-buf-modifiers.patch " + PACKAGECONFIG_append_rpi = " gallium vc4 v3d kmsro ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}" DRIDRIVERS_class-target_rpi = "" diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch index af803a3de1..21b40a3e13 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch @@ -1,7 +1,7 @@ -From ccb7f6f1a2bc491a24c0402616a2d24b85e3933a Mon Sep 17 00:00:00 2001 +From 4ffe3e0bc856ce1d2c52e84be6ea9337a5ce5410 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 9 Jul 2013 09:26:26 -0400 -Subject: [PATCH 01/19] Allow applications to set next resource handle +Subject: [PATCH] Allow applications to set next resource handle This patch adds provisions in userland to let apps callers set the next rendereing dispmanx resource. @@ -203,6 +203,3 @@ index 8a5734c..51b3580 100644 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.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch index 8ce9090c19..9b0dd21eb8 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch @@ -1,7 +1,7 @@ -From 7432d49ddca97b34e402d0108221d34ec69bcd66 Mon Sep 17 00:00:00 2001 +From 21dba61f098020d1143289017841ca76995618d4 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 1 Oct 2013 13:19:20 +0200 -Subject: [PATCH 02/19] wayland: Add support for the Wayland winsys +Subject: [PATCH] wayland: Add support for the Wayland winsys * Adds EGL_WL_bind_wayland_display extension * Adds wayland-egl library @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj CMakeLists.txt | 11 + README.md | 4 + buildme | 10 +- - .../linux/apps/raspicam/CMakeLists.txt | 2 +- + .../linux/apps/raspicam/CMakeLists.txt | 3 +- interface/khronos/CMakeLists.txt | 54 +++- interface/khronos/common/khrn_client.c | 15 ++ interface/khronos/common/khrn_client.h | 10 + @@ -49,7 +49,7 @@ Signed-off-by: Khem Raj interface/vmcs_host/vc_vchi_dispmanx.h | 15 ++ interface/wayland/dispmanx.xml | 123 +++++++++ makefiles/cmake/Wayland.cmake | 72 +++++ - 30 files changed, 1257 insertions(+), 99 deletions(-) + 30 files changed, 1258 insertions(+), 99 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 @@ -69,10 +69,10 @@ index 63570f1..1459436 100644 *.mkv +*~ diff --git a/CMakeLists.txt b/CMakeLists.txt -index cfc8ae5..673a5ad 100644 +index d8ba238..8c5bf5f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -24,6 +24,17 @@ include(makefiles/cmake/global_settings.cmake) +@@ -20,6 +20,17 @@ include(makefiles/cmake/global_settings.cmake) include(makefiles/cmake/arm-linux.cmake) include(makefiles/cmake/vmcs.cmake) @@ -103,7 +103,7 @@ index 404e4d4..97a6b8f 100644 + +$ BUILD_WAYLAND=1 ./buildme. diff --git a/buildme b/buildme -index cee90a6..d1d76a7 100755 +index 9e2d405..7b8c0d6 100755 --- a/buildme +++ b/buildme @@ -17,6 +17,10 @@ fi @@ -133,15 +133,16 @@ index cee90a6..d1d76a7 100755 if [ "$1" != "" ]; then diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt -index f7db21e..73997b7 100644 +index 656a9a0..4b0a888 100644 --- a/host_applications/linux/apps/raspicam/CMakeLists.txt +++ b/host_applications/linux/apps/raspicam/CMakeLists.txt -@@ -54,7 +54,7 @@ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c) +@@ -59,7 +59,8 @@ add_executable(raspivid ${COMMON_SOURCES} RaspiVid.c) + 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 dl) -+target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES}) +-target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host ${EGL_LIBS} m dl) ++ ++target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host ${EGL_LIBS} m dl ${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) @@ -1551,7 +1552,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 a157db1..55b6ace 100755 +index 4a914a7..c202204 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -7,13 +7,24 @@ @@ -1582,8 +1583,8 @@ index a157db1..55b6ace 100755 +add_library(vchostif ${VCHOSTIF_SOURCE}) + #add_library(bufman vc_vchi_bufman.c ) + set(INSTALL_TARGETS vchostif) - # OpenMAX/IL component service diff --git a/interface/vmcs_host/vc_dispmanx.h b/interface/vmcs_host/vc_dispmanx.h index 37fdae1..fe3619a 100755 --- a/interface/vmcs_host/vc_dispmanx.h @@ -1893,6 +1894,3 @@ index 0000000..ad90d30 + list(APPEND ${_sources} "${_server_header}") + set(${_sources} ${${_sources}} PARENT_SCOPE) +endfunction() --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch index 3da0f50ded..b995769665 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch @@ -1,7 +1,7 @@ -From 481a9aeba3f84371668fdf8a1380a3cb23bfc502 Mon Sep 17 00:00:00 2001 +From d2fd39ea43f948feba34e895600afd801e03691f Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 1 Oct 2013 13:19:20 +0200 -Subject: [PATCH 03/19] wayland: Add Wayland example +Subject: [PATCH] wayland: Add Wayland example --- .../linux/apps/hello_pi/CMakeLists.txt | 1 + @@ -861,6 +861,3 @@ index 8225dd5..0be6ce7 100755 make -C hello_mmal_encode - +make -C hello_wayland --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch index 9ca6b9f874..b081468334 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch @@ -1,7 +1,7 @@ -From 4463e2732a09dbb721d0614e7147cbfaa9059930 Mon Sep 17 00:00:00 2001 +From 53ef88cdb879050fc6f5247e7ca05260af69f2e8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 10 Aug 2015 02:38:27 -0700 -Subject: [PATCH 04/19] wayland-egl: Add bcm_host to dependencies +Subject: [PATCH] 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 @@ -23,6 +23,3 @@ index 8bafc15..fd259c9 100644 +Requires: bcm_host Libs: -L${libdir} -lwayland-egl Cflags: -I${includedir} --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch index 459fc04a19..27e69a91cf 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch @@ -1,8 +1,8 @@ -From 571c417c055a57cfd42c30a7a8279332397bad83 Mon Sep 17 00:00:00 2001 +From 237b9690154d2840d02aa927c56d80ef43f384b3 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Sat, 24 Jan 2015 22:07:19 +0100 -Subject: [PATCH 05/19] interface: remove faulty assert() to make weston happy - at runtime +Subject: [PATCH] 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). @@ -24,6 +24,3 @@ index eab146e..29e0dee 100755 dispmanx_client.update_callback(handle, dispmanx_client.update_callback_param); } } else { --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch index cc59ca6198..872bc7b82c 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch @@ -1,7 +1,7 @@ -From 393e90beb9f5e535b5ce5d9eba4bc74907a96afe Mon Sep 17 00:00:00 2001 +From 5acedbd1d27fe528687f27173d2af9b1786f580d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Feb 2016 11:10:47 -0800 -Subject: [PATCH 06/19] zero-out wl buffers in egl_surface_free +Subject: [PATCH] zero-out wl buffers in egl_surface_free origins from buildroot @@ -28,6 +28,3 @@ index 42350bf..1f923d9 100644 } #endif } --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch index c5ad5195f8..0494e6ed82 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch @@ -1,7 +1,7 @@ -From 3e7e309de25d546a4836c59523060f286aadd87d Mon Sep 17 00:00:00 2001 +From 9159eff795a8ef3be0b3bfd554ef1aa23340884d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Feb 2016 11:11:41 -0800 -Subject: [PATCH 07/19] initialize front back wayland buffers +Subject: [PATCH] initialize front back wayland buffers origins from metrological wayland support @@ -29,6 +29,3 @@ index 1f923d9..9a9582c 100644 resource = DISPMANX_NO_HANDLE; } #endif --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch index 219a25874f..68875eb50f 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch @@ -1,7 +1,7 @@ -From a08887086cf4418fa0999a340c574b66a5ab4412 Mon Sep 17 00:00:00 2001 +From 581742c1edf89d4ed3728a3c6d59484ced4234cc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Feb 2016 11:09:18 -0800 -Subject: [PATCH 08/19] Remove RPC_FLUSH +Subject: [PATCH] Remove RPC_FLUSH Origins from buildroot @@ -22,6 +22,3 @@ index f9b7287..b04ffef 100644 #if EGL_BRCM_global_image } #endif --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch index 9e148ee448..fceeb6ebfa 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch @@ -1,7 +1,7 @@ -From e14d2bfff42be64361a873e73674ce1205af3ee5 Mon Sep 17 00:00:00 2001 +From acc4ffbb0f2a64e82b9cceda201a59df969e1d0f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Feb 2016 13:12:47 -0800 -Subject: [PATCH 09/19] fix cmake dependency race +Subject: [PATCH] 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 55b6ace..ae52495 100755 +index c202204..16d3184 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -15,14 +15,6 @@ set(VCHOSTIF_SOURCE @@ -73,6 +73,3 @@ index f0bae30..8c44c58 100644 struct wl_dispmanx_server_buffer { struct wl_resource *resource; struct wl_dispmanx *dispmanx; --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch index a075b1efa0..0ddef975c0 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch @@ -1,7 +1,7 @@ -From ea3f7c3822efd33cec96a79eb9a345544b942d9e Mon Sep 17 00:00:00 2001 +From 0af26805c35c6a600a13ed106bbc7cf85a37ce66 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 29 Mar 2016 20:38:30 -0700 -Subject: [PATCH 10/19] Fix for framerate with nested composition +Subject: [PATCH] Fix for framerate with nested composition frame rate appears irregular and lower than expected when using nested composition. @@ -55,6 +55,3 @@ index 03fe67b..13a110c 100644 #ifdef ANDROID CLIENT_UNLOCK(); --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch index 1e6075118f..6e2f658d40 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch @@ -1,7 +1,7 @@ -From 407ab0ed315b4c7b49d1a1dd3777d5af8e0b7e66 Mon Sep 17 00:00:00 2001 +From 6172dbb6fd7cf821471d721569abe9a0de0d869d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 2 Apr 2016 10:37:24 -0700 -Subject: [PATCH 11/19] build shared library for vchostif +Subject: [PATCH] build shared library for vchostif Fixes #149 @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt -index ae52495..369758b 100755 +index 16d3184..e54f046 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -15,7 +15,7 @@ set(VCHOSTIF_SOURCE @@ -22,7 +22,4 @@ index ae52495..369758b 100755 +add_library(vchostif SHARED ${VCHOSTIF_SOURCE}) #add_library(bufman vc_vchi_bufman.c ) - --- -2.22.0 - + set(INSTALL_TARGETS vchostif) diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch index c4ec57161c..19939e07e9 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch @@ -1,7 +1,7 @@ -From 48a946e24c3e7172f1044f5815e9cfed96982830 Mon Sep 17 00:00:00 2001 +From efd80d2b278c326cc3dae7eeb1fed6c4dd12a8a6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 2 Apr 2016 10:54:59 -0700 -Subject: [PATCH 12/19] implement buffer wrapping interface for dispmanx +Subject: [PATCH] implement buffer wrapping interface for dispmanx Courtesy: Zan Dobersek @@ -87,6 +87,3 @@ index c18626d..11ed1ef 100644 --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch index 85b9a4e460..3df1f6d22d 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch @@ -1,7 +1,7 @@ -From 31e61d1a1d26442be9c90c479e2b14589acedb0e Mon Sep 17 00:00:00 2001 +From 2e1e3c857cdf365c5a13bcd5d09685cf12f8047c Mon Sep 17 00:00:00 2001 From: Jeff Wannamaker Date: Thu, 19 Jan 2017 18:56:07 +0000 -Subject: [PATCH 13/19] Implement triple buffering for wayland +Subject: [PATCH] Implement triple buffering for wayland Change from double to triple buffering for wayland. This enables higher frame rates without tearing artifacts @@ -85,6 +85,3 @@ index e328b77..58a3184 100644 /* back_wl_buffer --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch index c491550969..1d5247de0d 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch @@ -1,7 +1,7 @@ -From 961cd03f4db37041ae068cd8535f11cf739e42c0 Mon Sep 17 00:00:00 2001 +From a64be7ff40bd6de2ac099c3f0091f14edfe57fe7 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 10 May 2017 06:39:34 +0000 -Subject: [PATCH 14/19] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT +Subject: [PATCH] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT weston code uses these defines Upstream-Status: Pending @@ -30,6 +30,3 @@ index 4eacf7f..b1acc9f 100644 /* GL_EXT_texture_type_2_10_10_10_REV */ #ifndef GL_EXT_texture_type_2_10_10_10_REV #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch index 2fc16b1593..a77f6d4808 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch @@ -1,7 +1,7 @@ -From 9568135c3e4c23e9056135a13cee58c37456aaac Mon Sep 17 00:00:00 2001 +From 8f32b772d869481f88d9b7e14feb43c39b3fc33d Mon Sep 17 00:00:00 2001 From: Andrea Galbusera Date: Fri, 14 Jul 2017 09:52:54 +0200 -Subject: [PATCH 15/19] EGL/glplatform.h: define EGL_CAST +Subject: [PATCH] EGL/glplatform.h: define EGL_CAST C++ / C typecast macros for special EGL handle values: used by libepoxy code The definition comes from the updated version of this header in mesa. @@ -27,6 +27,3 @@ index 1f7c930..c39d425 100644 +#endif + #endif /* __eglplatform_h */ --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch index 570b72cacd..444595859b 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch @@ -1,8 +1,7 @@ -From 493b013cb702b821fdeaef7021ae25dea88900c6 Mon Sep 17 00:00:00 2001 +From fe9ff55dac403b148f229c865bf2826ea4edf447 Mon Sep 17 00:00:00 2001 From: Jeff Wannamaker Date: Sat, 27 Jan 2018 12:28:31 -0500 -Subject: [PATCH 16/19] Allow multiple wayland compositor state data per - process +Subject: [PATCH] Allow multiple wayland compositor state data per process When eglBindWaylandDisplayWL is called store the wl_global created in a list associated with the wayland display. @@ -140,6 +139,3 @@ index 9ef89cd..abd5ab3 100644 CLIENT_UNLOCK(); --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch index 2f37989fd8..a2f2ded455 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch @@ -1,8 +1,7 @@ -From cc25f8abd4498004a276a4ee40e37681fa42422a Mon Sep 17 00:00:00 2001 +From 8f8c22bc8aad6eb0f7c1b68f9f9a89f99adff996 Mon Sep 17 00:00:00 2001 From: Hugo Hromic Date: Sun, 13 May 2018 10:49:04 +0100 -Subject: [PATCH 17/19] khronos: backport typedef for - EGL_EXT_image_dma_buf_import +Subject: [PATCH] khronos: backport typedef for EGL_EXT_image_dma_buf_import The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which expects the `EGLuint64KHR` typedef that is present in recent versions of Khronos. @@ -33,6 +32,3 @@ index d7e5ba7..dcc90ce 100755 #ifndef EGL_WL_bind_wayland_display #define EGL_WL_bind_wayland_display 1 --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch index c44c82165a..defaf3e246 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch @@ -1,7 +1,7 @@ -From e091388b4382d90494b5842e9f591043a45b2b21 Mon Sep 17 00:00:00 2001 +From fe9bf7b9d79133ca5c72f68ed33002a7539e9797 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 15 Jul 2018 00:48:38 -0700 -Subject: [PATCH 18/19] Add EGL_IMG_context_priority related defines +Subject: [PATCH] Add EGL_IMG_context_priority related defines These defines are needed for compiling weston 4.x taken from Khronos headers @@ -30,6 +30,3 @@ index dcc90ce..6842bf9 100755 #ifndef EGL_KHR_vg_parent_image #define EGL_KHR_vg_parent_image 1 #define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch b/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch index fc66f535a1..34ca21add1 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch @@ -1,7 +1,7 @@ -From 5229430874b5275547babdbef1e322922317456d Mon Sep 17 00:00:00 2001 +From 339af0cea0dc29b33773a3d851ea17c42610de7b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 25 Jul 2019 23:30:27 -0700 -Subject: [PATCH 19/19] libfdt: Undefine __wordsize if already defined +Subject: [PATCH] libfdt: Undefine __wordsize if already defined glibc 2.30+ defines __wordsize, which is same so its easier to compile for multiple versions of glibc even ones which does not have this define @@ -12,20 +12,17 @@ Signed-off-by: Khem Raj 1 file changed, 4 insertions(+) diff --git a/opensrc/helpers/libfdt/libfdt_env.h b/opensrc/helpers/libfdt/libfdt_env.h -index 1c966b8..fc25ca6 100644 +index f4608be..5e83a27 100644 --- a/opensrc/helpers/libfdt/libfdt_env.h +++ b/opensrc/helpers/libfdt/libfdt_env.h -@@ -56,6 +56,10 @@ - #include +@@ -18,6 +18,10 @@ #include + #include +#ifdef __bitwise +#undef __bitwise +#endif + #ifdef __CHECKER__ - #define __force __attribute__((force)) - #define __bitwise __attribute__((bitwise)) --- -2.22.0 - + #define FDT_FORCE __attribute__((force)) + #define FDT_BITWISE __attribute__((bitwise)) diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch b/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch new file mode 100644 index 0000000000..3823c12e75 --- /dev/null +++ b/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch @@ -0,0 +1,40 @@ +From d1a9839c6e4b4d187382baf341d25b3d023242cd Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 13 Jun 2018 18:22:22 +0000 +Subject: [PATCH] openmaxil: add pkg-config file + +--- + CMakeLists.txt | 2 +- + pkgconfig/openmaxil.pc.in | 10 ++++++++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + create mode 100644 pkgconfig/openmaxil.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8c5bf5f..9f4165a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -131,7 +131,7 @@ include_directories("${PROJECT_BINARY_DIR}") + include(FindPkgConfig QUIET) + if(PKG_CONFIG_FOUND) + # Produce a pkg-config file +- foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc) ++ foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc openmaxil.pc) + configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}" + DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") +diff --git a/pkgconfig/openmaxil.pc.in b/pkgconfig/openmaxil.pc.in +new file mode 100644 +index 0000000..8793a61 +--- /dev/null ++++ b/pkgconfig/openmaxil.pc.in +@@ -0,0 +1,10 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=${prefix} ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include ++ ++Name: openmaxil ++Description: Broadcom openmaxil library ++Version: 1 ++Libs: -L${libdir} -lopenmaxil -lvcos -lvchiq_arm -pthread ++Cflags: -I${includedir} -I${includedir}/IL -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch b/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch new file mode 100644 index 0000000000..703d3006cf --- /dev/null +++ b/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch @@ -0,0 +1,32 @@ +From 4886bd9f33727f6a16aeb3b1aa3c25e459f06581 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 31 Mar 2020 11:51:02 -0700 +Subject: [PATCH] cmake: Disable format-overflow warning as error + +gcc10 complains about a check which could potentially be null + +build/inc/interface/vcos/vcos_logging.h:234:88: error: '%s' directive argument is null [-Werror=format-overflow=] + 234 | # define _VCOS_LOG_X(cat, _level, fmt...) do { if (vcos_is_log_enabled(cat,_level)) vcos_log_impl(cat,_level,fmt); } while (0) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A potential fix would be to check for fmt not being null but lets leave +that to experts + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + host_applications/linux/libs/bcm_host/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/host_applications/linux/libs/bcm_host/CMakeLists.txt ++++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt +@@ -3,7 +3,7 @@ if (WIN32) + set(VCOS_PLATFORM win32) + else () + set(VCOS_PLATFORM pthreads) +- add_definitions(-Wall -Werror) ++ add_definitions(-Wall) + endif () + + # set this as we want all the source of vchostif to be available in libbcm_host diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb index 99a3f23c26..eefc1ecd89 100644 --- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb +++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb @@ -6,17 +6,18 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196" PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}" +PROVIDES += "virtual/libomxil" RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl libegl1 libglesv2-2", d)}" COMPATIBLE_MACHINE = "^rpi$" SRCBRANCH = "master" SRCFORK = "raspberrypi" -SRCREV = "17d2fdc1abd370e09ba7074753294c7976dd6b0d" +SRCREV = "6fb59736b1ae80fc62cddfe3309c800f72e1c07e" # Use the date of the above commit as the package version. Update this when # SRCREV is changed. -PV = "20190724" +PV = "20200316" SRC_URI = "\ git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \ @@ -39,6 +40,8 @@ SRC_URI = "\ file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch \ file://0018-Add-EGL_IMG_context_priority-related-defines.patch \ file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch \ + file://0020-openmaxil-add-pkg-config-file.patch \ + file://0021-cmake-Disable-format-overflow-warning-as-error.patch \ " S = "${WORKDIR}/git" @@ -73,6 +76,10 @@ do_install_append () { rm -rf ${D}${libdir}/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/glesv2.pc \ ${D}${libdir}/pkgconfig/wayland-egl.pc rm -rf ${D}${includedir}/EGL ${D}${includedir}/GLES* ${D}${includedir}/KHR + else + ln -sf brcmglesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc + ln -sf brcmegl.pc ${D}${libdir}/pkgconfig/egl.pc + ln -sf brcmvg.pc ${D}${libdir}/pkgconfig/vg.pc fi } -- cgit v1.2.3