aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics')
-rw-r--r--meta/recipes-graphics/cairo/cairo_1.16.0.bb6
-rw-r--r--meta/recipes-graphics/drm/libdrm_2.4.114.bb (renamed from meta/recipes-graphics/drm/libdrm_2.4.112.bb)33
-rw-r--r--meta/recipes-graphics/fontconfig/fontconfig_2.14.1.bb (renamed from meta/recipes-graphics/fontconfig/fontconfig_2.14.0.bb)2
-rw-r--r--meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch18
-rw-r--r--meta/recipes-graphics/glslang/glslang_1.3.231.1.bb (renamed from meta/recipes-graphics/glslang/glslang_1.3.216.0.bb)2
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch27
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb (renamed from meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb)11
-rw-r--r--meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.4.bb (renamed from meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb)2
-rw-r--r--meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch27
-rw-r--r--meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch33
-rw-r--r--meta/recipes-graphics/kmscube/kmscube_git.bb7
-rw-r--r--meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb (renamed from meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb)8
-rw-r--r--meta/recipes-graphics/libsdl2/libsdl2/0001-Disable-libunwind-in-native-OE-builds-by-not-looking.patch36
-rw-r--r--meta/recipes-graphics/libsdl2/libsdl2/0001-video-restore-ability-to-disable-fb-accel-via-hint.patch36
-rw-r--r--meta/recipes-graphics/libsdl2/libsdl2_2.26.0.bb (renamed from meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb)18
-rw-r--r--meta/recipes-graphics/libva/libva-initial_2.16.0.bb (renamed from meta/recipes-graphics/libva/libva-initial_2.15.0.bb)0
-rw-r--r--meta/recipes-graphics/libva/libva-utils_2.16.0.bb (renamed from meta/recipes-graphics/libva/libva-utils_2.15.0.bb)4
-rw-r--r--meta/recipes-graphics/libva/libva.inc8
-rw-r--r--meta/recipes-graphics/libva/libva_2.16.0.bb (renamed from meta/recipes-graphics/libva/libva_2.15.0.bb)0
-rw-r--r--meta/recipes-graphics/mesa/files/0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch158
-rw-r--r--meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch10
-rw-r--r--meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch2
-rw-r--r--meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch10
-rw-r--r--meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch20
-rw-r--r--meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch113
-rw-r--r--meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch6
-rw-r--r--meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch61
-rw-r--r--meta/recipes-graphics/mesa/mesa-gl_22.2.3.bb (renamed from meta/recipes-graphics/mesa/mesa-gl_22.1.5.bb)0
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc32
-rw-r--r--meta/recipes-graphics/mesa/mesa_22.2.3.bb (renamed from meta/recipes-graphics/mesa/mesa_22.1.5.bb)0
-rw-r--r--meta/recipes-graphics/pango/pango/0001-tests-meson.build-install-nofonts-fonts.conf-as-it-i.patch35
-rw-r--r--meta/recipes-graphics/pango/pango_1.50.11.bb (renamed from meta/recipes-graphics/pango/pango_1.50.8.bb)9
-rw-r--r--meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch25
-rw-r--r--meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch (renamed from meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch)0
-rw-r--r--meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch (renamed from meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch)0
-rw-r--r--meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch32
-rw-r--r--meta/recipes-graphics/piglit/piglit_git.bb16
-rw-r--r--meta/recipes-graphics/shaderc/files/0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch76
-rw-r--r--meta/recipes-graphics/shaderc/shaderc_2022.3.bb (renamed from meta/recipes-graphics/shaderc/shaderc_2022.1.bb)3
-rw-r--r--meta/recipes-graphics/spir/spirv-headers_1.3.231.1.bb (renamed from meta/recipes-graphics/spir/spirv-headers_1.3.216.0.bb)2
-rw-r--r--meta/recipes-graphics/spir/spirv-tools_1.3.231.1.bb (renamed from meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb)7
-rw-r--r--meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb4
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch11
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0135.patch117
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0175.patch107
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer_0.10.3.bb33
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb25
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-headers_1.3.231.1.bb (renamed from meta/recipes-graphics/vulkan/vulkan-headers_1.3.216.0.bb)2
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-loader_1.3.231.1.bb (renamed from meta/recipes-graphics/vulkan/vulkan-loader_1.3.216.0.bb)6
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch405
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch27
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples_git.bb6
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-tools_1.3.231.1.bb (renamed from meta/recipes-graphics/vulkan/vulkan-tools_1.3.216.0.bb)4
-rw-r--r--meta/recipes-graphics/wayland/files/0001-wayland-info-Fix-build-without-libdrm.patch42
-rw-r--r--meta/recipes-graphics/wayland/libinput_1.21.0.bb (renamed from meta/recipes-graphics/wayland/libinput_1.19.4.bb)5
-rw-r--r--meta/recipes-graphics/wayland/wayland-protocols_1.28.bb (renamed from meta/recipes-graphics/wayland/wayland-protocols_1.26.bb)5
-rw-r--r--meta/recipes-graphics/wayland/wayland-utils_1.1.0.bb (renamed from meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb)5
-rw-r--r--meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch32
-rw-r--r--meta/recipes-graphics/wayland/weston_11.0.0.bb (renamed from meta/recipes-graphics/wayland/weston_10.0.1.bb)11
-rw-r--r--meta/recipes-graphics/xorg-app/rgb_1.1.0.bb (renamed from meta/recipes-graphics/xorg-app/rgb_1.0.6.bb)4
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.4.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb)4
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.2.0.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libfontenc_1.1.6.bb (renamed from meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libpciaccess_0.17.bb (renamed from meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb)7
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11/0001-fix-a-memory-leak-in-XRegisterIMInstantiateCallback.patch57
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11_1.8.1.bb1
-rw-r--r--meta/recipes-graphics/xorg-lib/libxau_1.0.10.bb (renamed from meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb)4
-rw-r--r--meta/recipes-graphics/xorg-lib/libxext_1.3.5.bb (renamed from meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb)7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxfont2_2.0.6.bb (renamed from meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/libxft_2.3.6.bb (renamed from meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/libxinerama_1.1.5.bb (renamed from meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxkbfile_1.1.1.bb (renamed from meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxmu_1.1.4.bb (renamed from meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb)9
-rw-r--r--meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb (renamed from meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxshmfence_1.3.1.bb (renamed from meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb)4
-rw-r--r--meta/recipes-graphics/xorg-lib/libxtst_1.2.4.bb (renamed from meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb (renamed from meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb (renamed from meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.1.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.10.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.2.bb (renamed from meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb)3
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util.inc2
-rw-r--r--meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb2
-rw-r--r--meta/recipes-graphics/xorg-lib/xkeyboard-config_2.37.bb (renamed from meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb)2
-rw-r--r--meta/recipes-graphics/xorg-lib/xorg-lib-common.inc3
-rw-r--r--meta/recipes-graphics/xorg-proto/xorgproto_2022.2.bb (renamed from meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb)4
-rw-r--r--meta/recipes-graphics/xorg-util/makedepend_1.0.7.bb (renamed from meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb)3
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg.inc8
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch63
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-proof-GetCountedString-against-request-length-at.patch38
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb2
-rw-r--r--meta/recipes-graphics/xwayland/xwayland_22.1.5.bb (renamed from meta/recipes-graphics/xwayland/xwayland_22.1.3.bb)2
93 files changed, 989 insertions, 1035 deletions
diff --git a/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/meta/recipes-graphics/cairo/cairo_1.16.0.bb
index 67081bb8cb..ffb813d290 100644
--- a/meta/recipes-graphics/cairo/cairo_1.16.0.bb
+++ b/meta/recipes-graphics/cairo/cairo_1.16.0.bb
@@ -17,9 +17,13 @@ LICENSE:${PN}-doc = "MPL-1.1 | LGPL-2.1-only"
LICENSE:${PN}-gobject = "MPL-1.1 | LGPL-2.1-only"
LICENSE:${PN}-script-interpreter = "MPL-1.1 | LGPL-2.1-only"
LICENSE:${PN}-perf-utils = "GPL-3.0-or-later"
+# Adapt the licenses for cairo-dbg and cairo-src depending on whether
+# cairo-trace is being built.
+LICENSE:${PN}-dbg = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFIG', 'trace', ' & GPL-3.0-or-later', '', d)}"
+LICENSE:${PN}-src = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFIG', 'trace', ' & GPL-3.0-or-later', '', d)}"
LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77 \
- file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504"
+ ${@bb.utils.contains('PACKAGECONFIG', 'trace', 'file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504', '', d)}"
DEPENDS = "fontconfig glib-2.0 libpng pixman zlib"
diff --git a/meta/recipes-graphics/drm/libdrm_2.4.112.bb b/meta/recipes-graphics/drm/libdrm_2.4.114.bb
index 48838245dd..16087f97e5 100644
--- a/meta/recipes-graphics/drm/libdrm_2.4.112.bb
+++ b/meta/recipes-graphics/drm/libdrm_2.4.114.bb
@@ -13,28 +13,29 @@ DEPENDS = "libpthread-stubs"
SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
"
-SRC_URI[sha256sum] = "00b07710bd09b35cd8d80eaf4f4497fe27f4becf467a9830f1f5e8324f8420ff"
+SRC_URI[sha256sum] = "3049cf843a47d12e5eeefbc3be3496d782fa09f42346bf0b7defe3d1e598d026"
inherit meson pkgconfig manpages
-PACKAGECONFIG ??= "intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs"
-PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess"
-PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false"
-PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false"
-PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false"
-PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false"
-PACKAGECONFIG[omap] = "-Domap=true,-Domap=false"
-PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false"
-PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false"
-PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false"
-PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false"
-PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false"
+PACKAGECONFIG ??= "intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv tests install-test-programs"
+PACKAGECONFIG[intel] = "-Dintel=enabled,-Dintel=disabled,libpciaccess"
+PACKAGECONFIG[radeon] = "-Dradeon=enabled,-Dradeon=disabled"
+PACKAGECONFIG[amdgpu] = "-Damdgpu=enabled,-Damdgpu=disabled"
+PACKAGECONFIG[nouveau] = "-Dnouveau=enabled,-Dnouveau=disabled"
+PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=enabled,-Dvmwgfx=disabled"
+PACKAGECONFIG[omap] = "-Domap=enabled,-Domap=disabled"
+PACKAGECONFIG[exynos] = "-Dexynos=enabled,-Dexynos=disabled"
+PACKAGECONFIG[freedreno] = "-Dfreedreno=enabled,-Dfreedreno=disabled"
+PACKAGECONFIG[tegra] = "-Dtegra=enabled,-Dtegra=disabled"
+PACKAGECONFIG[vc4] = "-Dvc4=enabled,-Dvc4=disabled"
+PACKAGECONFIG[etnaviv] = "-Detnaviv=enabled,-Detnaviv=disabled"
PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
-PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind"
+PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind"
PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
-PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
+PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=enabled,-Dcairo-tests=disabled"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
-PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native"
+PACKAGECONFIG[manpages] = "-Dman-pages=enabled,-Dman-pages=disabled,libxslt-native xmlto-native python3-docutils-native"
ALLOW_EMPTY:${PN}-drivers = "1"
PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.14.0.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.14.1.bb
index 80f952a024..ae5a45be54 100644
--- a/meta/recipes-graphics/fontconfig/fontconfig_2.14.0.bb
+++ b/meta/recipes-graphics/fontconfig/fontconfig_2.14.1.bb
@@ -25,7 +25,7 @@ SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
file://revert-static-pkgconfig.patch \
"
-SRC_URI[sha256sum] = "b8f607d556e8257da2f3616b4d704be30fd73bd71e367355ca78963f9a7f0434"
+SRC_URI[sha256sum] = "ae480e9ca34382790312ff062c625ec70df94d6d9a9366e2b2b3d525f7f90387"
UPSTREAM_CHECK_REGEX = "fontconfig-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
diff --git a/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
index cddd330971..a2dcb13b36 100644
--- a/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
+++ b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
@@ -1,4 +1,4 @@
-From 6692611126b40d499c94bbcc8e29604560262072 Mon Sep 17 00:00:00 2001
+From e8c1b7e1dc6d108a3b49d0adfdc4f836cfafcf1a Mon Sep 17 00:00:00 2001
From: Jose Quaresma <quaresma.jose@gmail.com>
Date: Sun, 7 Feb 2021 01:30:39 +0000
Subject: [PATCH] generate glslang pkg-config
@@ -16,21 +16,21 @@ Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
create mode 100644 glslang/glslang.pc.cmake.in
diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
-index 1c7d22a2..10c1e841 100644
+index 72e82b48..c6188e12 100644
--- a/glslang/CMakeLists.txt
+++ b/glslang/CMakeLists.txt
-@@ -209,6 +209,8 @@ if(ENABLE_GLSLANG_INSTALL)
- EXPORT glslangTargets
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+@@ -223,6 +223,8 @@ if(ENABLE_GLSLANG_INSTALL)
+ ")
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glslangTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
endif()
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- install(EXPORT glslangTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
-
+ set(ALL_HEADERS
+ ${GLSLANG_HEADERS}
diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in
new file mode 100644
-index 00000000..64b6882d
+index 00000000..948a0952
--- /dev/null
+++ b/glslang/glslang.pc.cmake.in
@@ -0,0 +1,11 @@
@@ -43,5 +43,5 @@ index 00000000..64b6882d
+Description: OpenGL and OpenGL ES shader front end and validator
+Requires:
+Version: @GLSLANG_VERSION@
-+Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper
++Libs: -L${libdir} -lglslang -lHLSL -lSPVRemapper
+Cflags: -I${includedir}
diff --git a/meta/recipes-graphics/glslang/glslang_1.3.216.0.bb b/meta/recipes-graphics/glslang/glslang_1.3.231.1.bb
index 69d9a0a84e..fede2516b1 100644
--- a/meta/recipes-graphics/glslang/glslang_1.3.216.0.bb
+++ b/meta/recipes-graphics/glslang/glslang_1.3.231.1.bb
@@ -8,7 +8,7 @@ HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler"
LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3"
-SRCREV = "adbf0d3106b26daa237b10b9bf72b1af7c31092d"
+SRCREV = "5755de46b07e4374c05fb1081f65f7ae1f8cca81"
SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=master \
file://0001-generate-glslang-pkg-config.patch"
PE = "1"
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch
deleted file mode 100644
index 029ca2bfff..0000000000
--- a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 1bd3884bc0544ffbb6545ed2391f0932bb8d7d91 Mon Sep 17 00:00:00 2001
-From: psykose <alice@ayaya.dev>
-Date: Mon, 1 Aug 2022 07:45:25 +0000
-Subject: [PATCH] fix signedness of char in tests
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/test-repacker.cc | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/test-repacker.cc b/src/test-repacker.cc
-index 053c0c6..1b7e1f0 100644
---- a/src/test-repacker.cc
-+++ b/src/test-repacker.cc
-@@ -112,9 +112,9 @@ static void start_lookup (int8_t type,
- hb_serialize_context_t* c)
- {
- char lookup[] = {
-- 0, type, // type
-+ 0, (char)type, // type
- 0, 0, // flag
-- 0, num_subtables, // num subtables
-+ 0, (char)num_subtables, // num subtables
- };
-
- start_object (lookup, 6, c);
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb
index 4c2d774803..f56403d428 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb
@@ -8,15 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6ee0f16281694fb6aa689cca1e0fb3da \
file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc \
"
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
+SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "4a6ce097b75a8121facc4ba83b5b083bfec657f45b003cd5a3424f2ae6b4434d"
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \
- file://0001-fix-signedness-of-char-in-tests.patch \
- "
-SRC_URI[sha256sum] = "2edb95db668781aaa8d60959d21be2ff80085f31b12053cdd660d9a50ce84f05"
-
-inherit meson pkgconfig lib_package gtk-doc gobject-introspection
+inherit meson pkgconfig lib_package gtk-doc gobject-introspection github-releases
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.4.bb
index fdc035d5f7..1708fa97f0 100644
--- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb
+++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.4.bb
@@ -14,7 +14,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
file://0001-libjpeg-turbo-fix-package_qa-error.patch \
"
-SRC_URI[sha256sum] = "467b310903832b033fe56cd37720d1b73a6a3bd0171dbf6ff0b620385f4f76d0"
+SRC_URI[sha256sum] = "d3ed26a1131a13686dfca4935e520eb7c90ae76fbc45d98bb50a8dc86230342b"
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch b/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch
deleted file mode 100644
index 58ff3ba561..0000000000
--- a/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bdde833c254092a47df6c7109a9751653c82aaae Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Mon, 8 Aug 2022 20:22:39 +0200
-Subject: [PATCH] drm-common.c: do not use invalid modifier
-
-Prior to kernel 5.19 this was a soft failure, but 5.19
-adds checks that result in a hard syscall fail.
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/kmscube/-/merge_requests/33]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- drm-common.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drm-common.c b/drm-common.c
-index 5c9cca2..964e1c3 100644
---- a/drm-common.c
-+++ b/drm-common.c
-@@ -92,7 +92,7 @@ struct drm_fb * drm_fb_get_from_bo(struct gbm_bo *bo)
- modifiers[i] = modifiers[0];
- }
-
-- if (modifiers[0]) {
-+ if (modifiers[0] && modifiers[0] != DRM_FORMAT_MOD_INVALID) {
- flags = DRM_MODE_FB_MODIFIERS;
- printf("Using modifier %" PRIx64 "\n", modifiers[0]);
- }
diff --git a/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch b/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch
deleted file mode 100644
index 5965782de7..0000000000
--- a/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 2b74e0e32235f6ab2e3e42d53dea985a7ba6227f Mon Sep 17 00:00:00 2001
-From: Damian Hobson-Garcia <dhobsong@igel.co.jp>
-Date: Wed, 16 Dec 2020 11:08:25 +0900
-Subject: [PATCH] texturator: Use correct GL extension header
-
-gl2ext.h is the extenstion header for OpenGL ES 2.0 and all later
-versions according to the Khronos documentation [1]. gl3ext.h is either
-an empty stub, or may not even exist on some platforms.
-
-[1]: https://www.khronos.org/registry/OpenGL/index_es.php#headers
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/kmscube/-/merge_requests/26]
-Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
----
- texturator.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/texturator.c b/texturator.c
-index d9335d7..6d97856 100644
---- a/texturator.c
-+++ b/texturator.c
-@@ -30,7 +30,7 @@
- #include <math.h>
-
- #include <GLES3/gl3.h>
--#include <GLES3/gl3ext.h>
-+#include <GLES2/gl2ext.h>
-
- #ifdef HAVE_LIBPNG
- #include <png.h>
---
-2.33.1
-
diff --git a/meta/recipes-graphics/kmscube/kmscube_git.bb b/meta/recipes-graphics/kmscube/kmscube_git.bb
index f7ee6e4e10..6ed97dfafe 100644
--- a/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -10,11 +10,8 @@ DEPENDS = "virtual/libgles3 virtual/libgles2 virtual/egl libdrm"
LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
-SRCREV = "9f63f359fab1b5d8e862508e4e51c9dfe339ccb0"
-SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \
- file://0001-texturator-Use-correct-GL-extension-header.patch \
- file://0001-drm-common.c-do-not-use-invalid-modifier.patch \
- "
+SRCREV = "3bf6ee1a02334386d87cfe356c3bfb0b24e1fed8"
+SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https"
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb
index 487fc00360..d10134568a 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb
@@ -9,13 +9,13 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
-SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+SRC_URI = "git://github.com/anholt/libepoxy;branch=master;protocol=https \
file://0001-dispatch_common.h-define-also-EGL_NO_X11.patch \
"
-SRC_URI[sha256sum] = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4"
-UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
+SRCREV = "c84bc9459357a40e46e2fec0408d04fbdde2c973"
+S = "${WORKDIR}/git"
-inherit meson pkgconfig features_check
+inherit meson pkgconfig features_check github-releases
REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta/recipes-graphics/libsdl2/libsdl2/0001-Disable-libunwind-in-native-OE-builds-by-not-looking.patch b/meta/recipes-graphics/libsdl2/libsdl2/0001-Disable-libunwind-in-native-OE-builds-by-not-looking.patch
deleted file mode 100644
index 57bc522393..0000000000
--- a/meta/recipes-graphics/libsdl2/libsdl2/0001-Disable-libunwind-in-native-OE-builds-by-not-looking.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0234c546d86174fafe9ab280cf5f44de50b73676 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <crg7475@mailbox.org>
-Date: Fri, 18 Mar 2022 12:06:23 +0100
-Subject: [PATCH] Disable libunwind in native OE builds by not looking for
- libunwind
-
-This is a workaround for this build error:
-
-| -- Checking for one of the modules 'libunwind'
-| CMake Error at [...]/build/tmp/work/x86_64-linux/libsdl2-native/2.0.20-r0/recipe-sysroot-native/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:890 (message):
-| None of the required 'libunwind' found
-| Call Stack (most recent call first):
-| CMakeLists.txt:1367 (pkg_search_module)
-
-By not looking for the libunwind header, the rest of the libunwind
-specific bits in the CMake build script are disabled.
-
-Upstream-Status: Inappropriate [OE specific]
-
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 644715a..bbf2e28 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -869,7 +869,7 @@ if(SDL_LIBC)
- check_include_file(sys/types.h HAVE_SYS_TYPES_H)
- foreach(_HEADER
- stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h limits.h float.h
-- strings.h wchar.h inttypes.h stdint.h ctype.h math.h iconv.h signal.h libunwind.h)
-+ strings.h wchar.h inttypes.h stdint.h ctype.h math.h iconv.h signal.h)
- string(TOUPPER "HAVE_${_HEADER}" _UPPER)
- string(REPLACE "." "_" _HAVE_H ${_UPPER})
- check_include_file("${_HEADER}" ${_HAVE_H})
diff --git a/meta/recipes-graphics/libsdl2/libsdl2/0001-video-restore-ability-to-disable-fb-accel-via-hint.patch b/meta/recipes-graphics/libsdl2/libsdl2/0001-video-restore-ability-to-disable-fb-accel-via-hint.patch
deleted file mode 100644
index fc74d30556..0000000000
--- a/meta/recipes-graphics/libsdl2/libsdl2/0001-video-restore-ability-to-disable-fb-accel-via-hint.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 14ad91658fd296e34bb9e833281e72c871bfb189 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Tue, 3 May 2022 12:31:50 +0200
-Subject: [PATCH] video: restore ability to disable fb accel via hint
-
-Somewhere in code refactoring between .20 and .22 this check
-was lost, and so the hint had no effect anymore.
-
-Upstream-Status: Submitted [https://github.com/libsdl-org/SDL/pull/5611]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/video/SDL_video.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
-index 93c803e..cbe7616 100644
---- a/src/video/SDL_video.c
-+++ b/src/video/SDL_video.c
-@@ -2503,6 +2503,14 @@ SDL_CreateWindowFramebuffer(SDL_Window * window)
- if (!_this->checked_texture_framebuffer) {
- SDL_bool attempt_texture_framebuffer = SDL_TRUE;
-
-+ /* See if the user or application wants to specifically disable the framebuffer */
-+ const char *hint = SDL_GetHint(SDL_HINT_FRAMEBUFFER_ACCELERATION);
-+ if (hint) {
-+ if (*hint == '0' || SDL_strcasecmp(hint, "false") == 0) {
-+ attempt_texture_framebuffer = SDL_FALSE;
-+ }
-+ }
-+
- if (_this->is_dummy) { /* dummy driver never has GPU support, of course. */
- attempt_texture_framebuffer = SDL_FALSE;
- }
---
-2.30.2
-
diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.26.0.bb
index 8519e7f732..3dda082593 100644
--- a/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb
+++ b/meta/recipes-graphics/libsdl2/libsdl2_2.26.0.bb
@@ -21,16 +21,13 @@ LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', 'f
PROVIDES = "virtual/libsdl2"
-SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
- file://0001-video-restore-ability-to-disable-fb-accel-via-hint.patch \
- "
-SRC_URI:append:class-native = " file://0001-Disable-libunwind-in-native-OE-builds-by-not-looking.patch"
+SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz"
S = "${WORKDIR}/SDL2-${PV}"
-SRC_URI[sha256sum] = "fe7cbf3127882e3fc7259a75a0cb585620272c51745d3852ab9dd87960697f2e"
+SRC_URI[sha256sum] = "8000d7169febce93c84b6bdf376631f8179132fd69f7015d4dadb8b9c2bdb295"
-inherit cmake lib_package binconfig-disabled pkgconfig
+inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even
BINCONFIG = "${bindir}/sdl2-config"
@@ -43,9 +40,7 @@ EXTRA_OECMAKE = "-DSDL_OSS=OFF -DSDL_ESD=OFF -DSDL_ARTS=OFF \
-DSDL_PTHREADS=ON \
-DSDL_RPATH=OFF \
-DSDL_SNDIO=OFF \
- -DSDL_X11_XVM=OFF \
-DSDL_X11_XCURSOR=OFF \
- -DSDL_X11_XINERAMA=OFF \
-DSDL_X11_XDBE=OFF \
-DSDL_X11_XFIXES=OFF \
-DSDL_X11_XINPUT=OFF \
@@ -62,7 +57,7 @@ PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}"
PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}"
PACKAGECONFIG ??= " \
${PACKAGECONFIG_GL} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio pipewire x11 vulkan', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \
"
@@ -75,11 +70,16 @@ PACKAGECONFIG[kmsdrm] = "-DSDL_KMSDRM=ON,-DSDL_KMSDRM=OFF,libdrm virtual/lib
# The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers,
# so we'll just use libusb when it's available.
PACKAGECONFIG[libusb] = ",,libusb1"
+PACKAGECONFIG[libdecor] = "-DSDL_WAYLAND_LIBDECOR=ON,-DSDL_WAYLAND_LIBDECOR=OFF,libdecor"
PACKAGECONFIG[opengl] = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/egl"
+PACKAGECONFIG[pipewire] = "-DSDL_PIPEWIRE_SHARED=ON,-DSDL_PIPEWIRE_SHARED=OFF,pipewire"
PACKAGECONFIG[pulseaudio] = "-DSDL_PULSEAUDIO=ON,-DSDL_PULSEAUDIO=OFF,pulseaudio"
+PACKAGECONFIG[vulkan] = "-DSDL_VULKAN=ON,-DSDL_VULKAN=OFF"
PACKAGECONFIG[wayland] = "-DSDL_WAYLAND=ON,-DSDL_WAYLAND=OFF,wayland-native wayland wayland-protocols libxkbcommon"
PACKAGECONFIG[x11] = "-DSDL_X11=ON,-DSDL_X11=OFF,virtual/libx11 libxext libxrandr libxrender"
CFLAGS:append:class-native = " -DNO_SHARED_MEMORY"
+FILES:${PN} += "${datadir}/licenses/SDL2/LICENSE.txt"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/libva/libva-initial_2.15.0.bb b/meta/recipes-graphics/libva/libva-initial_2.16.0.bb
index 453096822f..453096822f 100644
--- a/meta/recipes-graphics/libva/libva-initial_2.15.0.bb
+++ b/meta/recipes-graphics/libva/libva-initial_2.16.0.bb
diff --git a/meta/recipes-graphics/libva/libva-utils_2.15.0.bb b/meta/recipes-graphics/libva/libva-utils_2.16.0.bb
index 4c46c386ec..cdf4d79dc1 100644
--- a/meta/recipes-graphics/libva/libva-utils_2.15.0.bb
+++ b/meta/recipes-graphics/libva/libva-utils_2.16.0.bb
@@ -14,8 +14,8 @@ SECTION = "x11"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
-SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.15-branch;protocol=https"
-SRCREV = "be203c8b85b07e1f7a3faedd13057b0a8cabd3c3"
+SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.16-branch;protocol=https"
+SRCREV = "cdf39e1e3da85a91ef53438c3b6a97e77dda96aa"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$"
diff --git a/meta/recipes-graphics/libva/libva.inc b/meta/recipes-graphics/libva/libva.inc
index 956cd50756..0f16dacc98 100644
--- a/meta/recipes-graphics/libva/libva.inc
+++ b/meta/recipes-graphics/libva/libva.inc
@@ -16,17 +16,17 @@ BUGTRACKER = "https://github.com/intel/libva/issues"
SECTION = "x11"
LICENSE = "MIT"
-SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2"
+SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/libva-${PV}.tar.bz2"
LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
-SRC_URI[sha256sum] = "258ed409458d3e7a000e1908bc852619615ee6a933359c745fcd93eb3e461eca"
+SRC_URI[sha256sum] = "115faca0db2c417a37da49830870e260450fa13066f5e24e252a20c36d920a1c"
S = "${WORKDIR}/libva-${PV}"
-UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
+GITHUB_BASE_URI = "https://github.com/intel/libva/releases"
DEPENDS = "libdrm"
-inherit meson pkgconfig
+inherit meson pkgconfig github-releases
PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes"
PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa"
diff --git a/meta/recipes-graphics/libva/libva_2.15.0.bb b/meta/recipes-graphics/libva/libva_2.16.0.bb
index 63dc5af8f2..63dc5af8f2 100644
--- a/meta/recipes-graphics/libva/libva_2.15.0.bb
+++ b/meta/recipes-graphics/libva/libva_2.16.0.bb
diff --git a/meta/recipes-graphics/mesa/files/0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch b/meta/recipes-graphics/mesa/files/0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch
deleted file mode 100644
index dac2de4e62..0000000000
--- a/meta/recipes-graphics/mesa/files/0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 7796c2c56c960ac55e49246f0349ac52539ada55 Mon Sep 17 00:00:00 2001
-From: Leandro Ribeiro <leandro.ribeiro@collabora.com>
-Date: Sun, 10 Apr 2022 22:54:36 -0300
-Subject: [PATCH] Revert "egl/wayland: deprecate drm_handle_format() and
- drm_handle_capabilities()"
-
-Commit af1ee8e010441f8f2ed8c77065b159652a4ac9fe dropped support to
-wl_drm, as we thought that most compositors from active projects were
-already supporting zwp_linux_dmabuf_v1.
-
-But that's not true, so revert this commit in order to give these
-projects a longer transition period.
-
-Note that we didn't add back the support to GEM name API, and that was
-on purpose.
-
-Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
-Reviewed-by: Simon Ser <contact@emersion.fr>
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15822>
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/c60fea8c228ae3f32e20d6b65c473d9f04871d20]
----
- src/egl/drivers/dri2/egl_dri2.h | 1 +
- src/egl/drivers/dri2/platform_wayland.c | 59 +++++++++++++++++++------
- 2 files changed, 47 insertions(+), 13 deletions(-)
-
-diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
-index c466ff83c53..eecb32a53fd 100644
---- a/src/egl/drivers/dri2/egl_dri2.h
-+++ b/src/egl/drivers/dri2/egl_dri2.h
-@@ -283,6 +283,7 @@ struct dri2_egl_display
- struct zwp_linux_dmabuf_feedback_v1 *wl_dmabuf_feedback;
- struct dmabuf_feedback_format_table format_table;
- bool authenticated;
-+ uint32_t capabilities;
- char *device_name;
- #endif
-
-diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
-index 5ff83cce08a..843434376a7 100644
---- a/src/egl/drivers/dri2/platform_wayland.c
-+++ b/src/egl/drivers/dri2/platform_wayland.c
-@@ -1343,7 +1343,7 @@ create_wl_buffer(struct dri2_egl_display *dri2_dpy,
- struct dri2_egl_surface *dri2_surf,
- __DRIimage *image)
- {
-- struct wl_buffer *ret;
-+ struct wl_buffer *ret = NULL;
- EGLBoolean query;
- int width, height, fourcc, num_planes;
- uint64_t modifier = DRM_FORMAT_MOD_INVALID;
-@@ -1447,11 +1447,28 @@ create_wl_buffer(struct dri2_egl_display *dri2_dpy,
- ret = zwp_linux_buffer_params_v1_create_immed(params, width, height,
- fourcc, 0);
- zwp_linux_buffer_params_v1_destroy(params);
-+ } else {
-+ struct wl_drm *wl_drm =
-+ dri2_surf ? dri2_surf->wl_drm_wrapper : dri2_dpy->wl_drm;
-+ int fd = -1, stride;
-+
-+ if (num_planes > 1)
-+ return NULL;
-+
-+ query = dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_FD, &fd);
-+ query &= dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_STRIDE, &stride);
-+ if (!query) {
-+ if (fd >= 0)
-+ close(fd);
-+ return NULL;
-+ }
-
-- return ret;
-+ ret = wl_drm_create_prime_buffer(wl_drm, fd, width, height, fourcc, 0,
-+ stride, 0, 0, 0, 0);
-+ close(fd);
- }
-
-- return NULL;
-+ return ret;
- }
-
- static EGLBoolean
-@@ -1698,16 +1715,21 @@ drm_handle_device(void *data, struct wl_drm *drm, const char *device)
- static void
- drm_handle_format(void *data, struct wl_drm *drm, uint32_t format)
- {
-- /* deprecated, as compositors already support the dma-buf protocol extension
-- * and so we can rely on dmabuf_handle_modifier() to receive formats and
-- * modifiers */
-+ struct dri2_egl_display *dri2_dpy = data;
-+ int visual_idx = dri2_wl_visual_idx_from_fourcc(format);
-+
-+ if (visual_idx == -1)
-+ return;
-+
-+ BITSET_SET(dri2_dpy->formats.formats_bitmap, visual_idx);
- }
-
- static void
- drm_handle_capabilities(void *data, struct wl_drm *drm, uint32_t value)
- {
-- /* deprecated, as compositors already support the dma-buf protocol extension
-- * and so we can rely on it to create wl_buffer's */
-+ struct dri2_egl_display *dri2_dpy = data;
-+
-+ dri2_dpy->capabilities = value;
- }
-
- static void
-@@ -2075,13 +2097,12 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp)
- wl_registry_add_listener(dri2_dpy->wl_registry,
- &registry_listener_drm, dri2_dpy);
-
-- /* The compositor must expose the dma-buf interface. */
-- if (roundtrip(dri2_dpy) < 0 || dri2_dpy->wl_dmabuf == NULL)
-+ if (roundtrip(dri2_dpy) < 0)
- goto cleanup;
-
- /* Get default dma-buf feedback */
-- if (zwp_linux_dmabuf_v1_get_version(dri2_dpy->wl_dmabuf) >=
-- ZWP_LINUX_DMABUF_V1_GET_DEFAULT_FEEDBACK_SINCE_VERSION) {
-+ if (dri2_dpy->wl_dmabuf && zwp_linux_dmabuf_v1_get_version(dri2_dpy->wl_dmabuf) >=
-+ ZWP_LINUX_DMABUF_V1_GET_DEFAULT_FEEDBACK_SINCE_VERSION) {
- dmabuf_feedback_format_table_init(&dri2_dpy->format_table);
- dri2_dpy->wl_dmabuf_feedback =
- zwp_linux_dmabuf_v1_get_default_feedback(dri2_dpy->wl_dmabuf);
-@@ -2089,7 +2110,6 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp)
- &dmabuf_feedback_listener, dri2_dpy);
- }
-
-- /* Receive events from the interfaces */
- if (roundtrip(dri2_dpy) < 0)
- goto cleanup;
-
-@@ -2176,6 +2196,19 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp)
-
- dri2_wl_setup_swap_interval(disp);
-
-+ if (dri2_dpy->wl_drm) {
-+ /* To use Prime, we must have _DRI_IMAGE v7 at least. createImageFromFds
-+ * support indicates that Prime export/import is supported by the driver.
-+ * We deprecated the support to GEM names API, so we bail out if the
-+ * driver does not suport Prime. */
-+ if (!(dri2_dpy->capabilities & WL_DRM_CAPABILITY_PRIME) ||
-+ (dri2_dpy->image->base.version < 7) ||
-+ (dri2_dpy->image->createImageFromFds == NULL)) {
-+ _eglLog(_EGL_WARNING, "wayland-egl: display does not support prime");
-+ goto cleanup;
-+ }
-+ }
-+
- if (dri2_dpy->is_different_gpu &&
- (dri2_dpy->image->base.version < 9 ||
- dri2_dpy->image->blitImage == NULL)) {
---
-2.35.1
-
diff --git a/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch b/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
index 3b0bfa323b..e7d92197be 100644
--- a/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
+++ b/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
@@ -1,4 +1,4 @@
-From 253b042d2bf10e9abfa9cc508e0782aefd834145 Mon Sep 17 00:00:00 2001
+From 859bfc342d1db9b61c43f30d9aa27cea35ca7599 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 16 Oct 2020 11:03:47 -0700
Subject: [PATCH] futex.h: Define __NR_futex if it does not exist
@@ -18,12 +18,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/src/util/futex.h b/src/util/futex.h
-index 43097f4..941b0ec 100644
+index 2a2a00c..92fc123 100644
--- a/src/util/futex.h
+++ b/src/util/futex.h
-@@ -34,6 +34,10 @@
- #include <sys/syscall.h>
- #include <sys/time.h>
+@@ -38,6 +38,10 @@
+ #define SYS_futex SYS_futex_time64
+ #endif
+#if !defined(SYS_futex) && defined(SYS_futex_time64)
+# define SYS_futex SYS_futex_time64
diff --git a/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
index b08e4d86c2..9cd9bee2d2 100644
--- a/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
+++ b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
@@ -1,4 +1,4 @@
-From d34bdbd80e5a1f309d2ba280cdc66ff0ee0e5c43 Mon Sep 17 00:00:00 2001
+From 3ef37c63f03ad6f2af407de350486fdd25e9132a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 13 Jan 2020 15:23:47 -0800
Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
diff --git a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
index aea23d0ec2..ec263ce479 100644
--- a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
+++ b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -1,4 +1,4 @@
-From f9c597a2c517eb85c23cbeeb2e95c55794c74cda Mon Sep 17 00:00:00 2001
+From d092a9000da62dfccca5b58fca56b94eb9989c48 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair@alistair23.me>
Date: Thu, 14 Nov 2019 13:04:49 -0800
Subject: [PATCH] meson.build: check for all linux host_os combinations
@@ -20,10 +20,10 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
-index bca6b1f..70d06c0 100644
+index 250b528..b5c98f8 100644
--- a/meson.build
+++ b/meson.build
-@@ -172,7 +172,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
+@@ -173,7 +173,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
# Only build shared_glapi if at least one OpenGL API is enabled
with_shared_glapi = with_shared_glapi and with_any_opengl
@@ -32,11 +32,11 @@ index bca6b1f..70d06c0 100644
dri_drivers = get_option('dri-drivers')
if dri_drivers.length() != 0
-@@ -1074,7 +1074,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
+@@ -1091,7 +1091,7 @@ if cc.has_function('reallocarray')
endif
# TODO: this is very incomplete
--if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system())
+-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android'].contains(host_machine.system())
+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux')
pre_args += '-D_GNU_SOURCE'
elif host_machine.system() == 'sunos'
diff --git a/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch b/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch
index 48fc1e37ff..7989843eb4 100644
--- a/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch
+++ b/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch
@@ -1,3 +1,11 @@
+From da6e47f1717f34c73de388c56ffaf4861a07fdc5 Mon Sep 17 00:00:00 2001
+From: t bettler <thomas.bettler@gmail.com>
+Date: Sat, 9 Jul 2022 09:28:51 +0000
+Subject: [PATCH] nir/nir_opt_move: fix ALWAYS_INLINE compiler error
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
Backport merge request to fix mesa compile error when debug build
enabled.
@@ -5,10 +13,6 @@ Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_req
Signed-off-by: Kai Kang <kai.kang@windriver.com>
-From c69c6e7a35205557de73734ad4a1f411c8f99926 Mon Sep 17 00:00:00 2001
-From: t bettler <thomas.bettler@gmail.com>
-Date: Sat, 9 Jul 2022 09:28:51 +0000
-Subject: [PATCH] nir/nir_opt_move: fix ALWAYS_INLINE compiler error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -17,13 +21,14 @@ fix call to ‘always_inline’ ‘src_is_ssa’
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6825
Fixes: f1d20ec67c3f186886b97de94f74484650f8fda1 ("nir/nir_opt_move: handle non-SSA defs ")
+
---
src/compiler/nir/nir_inline_helpers.h | 10 ++++++++--
src/compiler/nir/nir_opt_move.c | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/compiler/nir/nir_inline_helpers.h b/src/compiler/nir/nir_inline_helpers.h
-index 125dd8a537c..ec33f0509f7 100644
+index 125dd8a..ec33f05 100644
--- a/src/compiler/nir/nir_inline_helpers.h
+++ b/src/compiler/nir/nir_inline_helpers.h
@@ -73,8 +73,8 @@ nir_foreach_dest(nir_instr *instr, nir_foreach_dest_cb cb, void *state)
@@ -48,7 +53,7 @@ index 125dd8a537c..ec33f0509f7 100644
+ return _nir_foreach_src(instr, cb, state);
+}
diff --git a/src/compiler/nir/nir_opt_move.c b/src/compiler/nir/nir_opt_move.c
-index 81bcde5c436..051c3cc6295 100644
+index 81bcde5..051c3cc 100644
--- a/src/compiler/nir/nir_opt_move.c
+++ b/src/compiler/nir/nir_opt_move.c
@@ -60,7 +60,7 @@ src_is_ssa(nir_src *src, void *state)
@@ -60,6 +65,3 @@ index 81bcde5c436..051c3cc6295 100644
}
static bool
---
-2.34.1
-
diff --git a/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch b/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch
deleted file mode 100644
index db25e16f4a..0000000000
--- a/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From feb4ec510b1328fdd9aa77305d3273d1f9c7e124 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Thu, 9 Jun 2022 11:42:05 +0200
-Subject: [PATCH] swrast_kms: use swkmsDRI2Extension instead of
- driDRI2Extension
-
-This set of changes:
-https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649
-
-caused a regression in Xorg when using swrast_kms:
- (EE) AIGLX error: Calling driver entry point failed
-
-This commit changes the swrast_kms driver to use a dedicated screen init function
-(which I believe was overlooked); I also took the opportunity to rename the
-associated plumbling to have swrast-specific names.
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16942]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/gallium/frontends/dri/dri2.c | 16 ++++++++--------
- src/gallium/frontends/dri/dri_screen.h | 4 ++--
- src/gallium/frontends/dri/dri_util.c | 2 +-
- src/gallium/targets/dri/target.c | 2 +-
- 4 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/src/gallium/frontends/dri/dri2.c b/src/gallium/frontends/dri/dri2.c
-index 63ac9d5..de33789 100644
---- a/src/gallium/frontends/dri/dri2.c
-+++ b/src/gallium/frontends/dri/dri2.c
-@@ -2508,7 +2508,7 @@ release_pipe:
- * Returns the struct gl_config supported by this driver.
- */
- static const __DRIconfig **
--dri_kms_init_screen(__DRIscreen * sPriv)
-+dri_swrast_kms_init_screen(__DRIscreen * sPriv)
- {
- #if defined(GALLIUM_SOFTPIPE)
- const __DRIconfig **configs;
-@@ -2613,8 +2613,8 @@ static const struct __DRIDriverVtableExtensionRec galliumdrm_vtable = {
- * hook. The latter is used to explicitly initialise the kms_swrast driver
- * rather than selecting the approapriate driver as suggested by the loader.
- */
--const struct __DriverAPIRec dri_kms_driver_api = {
-- .InitScreen = dri_kms_init_screen,
-+const struct __DriverAPIRec dri_swrast_kms_driver_api = {
-+ .InitScreen = dri_swrast_kms_init_screen,
- .DestroyScreen = dri_destroy_screen,
- .CreateBuffer = dri2_create_buffer,
- .DestroyBuffer = dri_destroy_buffer,
-@@ -2633,17 +2633,17 @@ const __DRIextension *galliumdrm_driver_extensions[] = {
- NULL
- };
-
--static const struct __DRIDriverVtableExtensionRec dri_kms_vtable = {
-+static const struct __DRIDriverVtableExtensionRec dri_swrast_kms_vtable = {
- .base = { __DRI_DRIVER_VTABLE, 1 },
-- .vtable = &dri_kms_driver_api,
-+ .vtable = &dri_swrast_kms_driver_api,
- };
-
--const __DRIextension *dri_kms_driver_extensions[] = {
-+const __DRIextension *dri_swrast_kms_driver_extensions[] = {
- &driCoreExtension.base,
- &driImageDriverExtension.base,
-- &driDRI2Extension.base,
-+ &swkmsDRI2Extension.base,
- &gallium_config_options.base,
-- &dri_kms_vtable.base,
-+ &dri_swrast_kms_vtable.base,
- NULL
- };
-
-diff --git a/src/gallium/frontends/dri/dri_screen.h b/src/gallium/frontends/dri/dri_screen.h
-index 0ee2feb..0bb8817 100644
---- a/src/gallium/frontends/dri/dri_screen.h
-+++ b/src/gallium/frontends/dri/dri_screen.h
-@@ -168,8 +168,8 @@ dri_destroy_screen_helper(struct dri_screen * screen);
- void
- dri_destroy_screen(__DRIscreen * sPriv);
-
--extern const struct __DriverAPIRec dri_kms_driver_api;
--extern const __DRIextension *dri_kms_driver_extensions[];
-+extern const struct __DriverAPIRec dri_swrast_kms_driver_api;
-+extern const __DRIextension *dri_swrast_kms_driver_extensions[];
- extern const struct __DriverAPIRec galliumdrm_driver_api;
- extern const __DRIextension *galliumdrm_driver_extensions[];
- extern const struct __DriverAPIRec galliumsw_driver_api;
-diff --git a/src/gallium/frontends/dri/dri_util.c b/src/gallium/frontends/dri/dri_util.c
-index 8d60526..03614e1 100644
---- a/src/gallium/frontends/dri/dri_util.c
-+++ b/src/gallium/frontends/dri/dri_util.c
-@@ -187,7 +187,7 @@ swkmsCreateNewScreen(int scrn, int fd,
- const __DRIconfig ***driver_configs, void *data)
- {
- return driCreateNewScreen2(scrn, fd, extensions,
-- dri_kms_driver_extensions,
-+ dri_swrast_kms_driver_extensions,
- driver_configs, data);
- }
-
-diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c
-index 9b78351..e02b03b 100644
---- a/src/gallium/targets/dri/target.c
-+++ b/src/gallium/targets/dri/target.c
-@@ -25,7 +25,7 @@ const __DRIextension **__driDriverGetExtensions_kms_swrast(void);
-
- PUBLIC const __DRIextension **__driDriverGetExtensions_kms_swrast(void)
- {
-- return dri_kms_driver_extensions;
-+ return dri_swrast_kms_driver_extensions;
- }
-
- #endif
diff --git a/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch b/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
index 5c6165c281..d22ff3c8a8 100644
--- a/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
+++ b/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
@@ -1,4 +1,4 @@
-From fdb2face4eeac3c20eedcca7520f4e7014225fb4 Mon Sep 17 00:00:00 2001
+From f17e836ef9b1bbc6056790596420b699e48128c2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 2 Dec 2021 19:57:42 -0800
Subject: [PATCH] util/format: Check for NEON before using it
@@ -20,10 +20,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c
-index 36c5e52..f0a0097 100644
+index c071250..0880984 100644
--- a/src/util/format/u_format.c
+++ b/src/util/format/u_format.c
-@@ -1138,7 +1138,7 @@ static void
+@@ -1184,7 +1184,7 @@ static void
util_format_unpack_table_init(void)
{
for (enum pipe_format format = PIPE_FORMAT_NONE; format < PIPE_FORMAT_COUNT; format++) {
diff --git a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
deleted file mode 100644
index af11baee86..0000000000
--- a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From bf41fa026ae3d378e62fd83d03a6f5933b52ca04 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair@alistair23.me>
-Date: Thu, 14 Nov 2019 13:08:31 -0800
-Subject: [PATCH] meson.build: make TLS ELF optional
-
-USE_ELF_TLS has replaced GLX_USE_TLS so this patch is the original "make
-TLS GLX optional again" patch updated to the latest mesa.
-
-For details, see:
-https://gitlab.freedesktop.org/mesa/mesa/-/issues/966
-
-This prevents runtime segfault on musl:
-
-Traceback (most recent call last):
- File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/core/decorator/__init__.py", line 36, in wrapped_f
- return func(*args, **kwargs)
- File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/runtime/cases/parselogs.py", line 378, in test_parselogs
- self.assertEqual(errcount, 0, msg=self.msg)
-AssertionError: 1 != 0 : Log: /home/pokybuild/yocto-worker/musl-qemux86/build/build/tmp/work/qemux86-poky-linux-musl/core-image-sato-sdk/1.0-r0/target_logs/Xorg.0.log
-
-Upstream-Status: Inappropriate [configuration]
----
- meson.build | 7 +++++--
- meson_options.txt | 6 ++++++
- 2 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 70d06c0..1441611 100644
---- a/meson.build
-+++ b/meson.build
-@@ -490,8 +490,11 @@ foreach platform : _platforms
- pre_args += '-DHAVE_@0@_PLATFORM'.format(platform.to_upper())
- endforeach
-
--use_elf_tls = true
--pre_args += '-DUSE_ELF_TLS'
-+use_elf_tls = false
-+if get_option('elf-tls')
-+ use_elf_tls = true
-+ pre_args += '-DUSE_ELF_TLS'
-+endif
-
- if with_platform_android and get_option('platform-sdk-version') >= 29
- # By default the NDK compiler, at least, emits emutls references instead of
-diff --git a/meson_options.txt b/meson_options.txt
-index 1f6ef38..99cc5cb 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -440,6 +440,12 @@ option(
- value : true,
- description : 'Enable direct rendering in GLX and EGL for DRI',
- )
-+option(
-+ 'elf-tls',
-+ type : 'boolean',
-+ value : true,
-+ description : 'Enable TLS support in ELF',
-+)
- option('egl-lib-suffix',
- type : 'string',
- value : '',
diff --git a/meta/recipes-graphics/mesa/mesa-gl_22.1.5.bb b/meta/recipes-graphics/mesa/mesa-gl_22.2.3.bb
index f2bc8f6b5b..f2bc8f6b5b 100644
--- a/meta/recipes-graphics/mesa/mesa-gl_22.1.5.bb
+++ b/meta/recipes-graphics/mesa/mesa-gl_22.2.3.bb
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index fccf14a7d1..1949fc15a9 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -10,22 +10,22 @@ HOMEPAGE = "http://mesa3d.org"
BUGTRACKER = "https://bugs.freedesktop.org"
SECTION = "x11"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9a383ee9f65a4e939d6630e9b067ff58"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10"
PE = "2"
SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
- file://0002-meson.build-make-TLS-ELF-optional.patch \
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
file://0001-util-format-Check-for-NEON-before-using-it.patch \
- file://0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch \
- file://0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch \
- file://0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch \
+ ${NATIVE_PATCHES} \
"
+NATIVE_PATCHES ?= ""
+# required by mesa-native on Ubuntu 18.04 with gcc 7.5 when DEBUG_BUILD enabled
+NATIVE_PATCHES:class-native = "file://0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch"
-SRC_URI[sha256sum] = "6fd60d38efdd25317948c61494b5117e01d42da695278728b1faef9f5f9a47ba"
+SRC_URI[sha256sum] = "ee7d026f7b1991dbae0861d359b671145c3a86f2a731353b885d2ea2d5c098d6"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
@@ -55,10 +55,6 @@ ANY_OF_DISTRO_FEATURES:class-target = "opengl vulkan"
PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
-export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-config"
-export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}"
-export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
-
MESA_LLVM_RELEASE ?= "${LLVMVERSION}"
# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
@@ -89,7 +85,7 @@ PACKAGECONFIG = " \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
- ${@bb.utils.contains('TCLIBC', 'glibc', 'elf-tls', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
"
# "gbm" requires "opengl"
@@ -98,7 +94,6 @@ PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr"
# "x11" requires "opengl"
PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
-PACKAGECONFIG[elf-tls] = "-Delf-tls=true, -Delf-tls=false"
PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=enabled,-Dgallium-xvmc=disabled,libxvmc"
PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
@@ -111,7 +106,7 @@ VULKAN_DRIVERS:append:x86:class-target = ",intel"
VULKAN_DRIVERS:append:x86-64:class-target = ",intel"
VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
-PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',"
+PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
@@ -122,7 +117,8 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2
PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
# "opencl" requires libclc from meta-clang and spirv-tools from OE-Core
-PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true,-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools"
+OPENCL_NATIVE = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', '', d)}"
+PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools"
PACKAGECONFIG[broadcom] = ""
PACKAGECONFIG[etnaviv] = ""
@@ -130,6 +126,7 @@ PACKAGECONFIG[freedreno] = ""
PACKAGECONFIG[kmsro] = ""
PACKAGECONFIG[vc4] = ""
PACKAGECONFIG[v3d] = ""
+PACKAGECONFIG[zink] = ""
GALLIUMDRIVERS = "swrast"
# gallium swrast was found to crash Xorg on startup in x32 qemu
@@ -142,6 +139,7 @@ GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',fre
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
+GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
# radeonsi requires LLVM
GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
@@ -170,8 +168,12 @@ GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '
PACKAGECONFIG[panfrost] = ""
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
+PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
+
PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false"
+PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"
+
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
@@ -296,7 +298,7 @@ FILES:libgbm = "${libdir}/libgbm.so.*"
FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
FILES:libgl-mesa = "${libdir}/libGL.so.*"
-FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${sysconfdir}/OpenCL/vendors/mesa.icd"
+FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/mesa.icd"
FILES:libglapi = "${libdir}/libglapi.so.*"
FILES:libosmesa = "${libdir}/libOSMesa.so.*"
FILES:libxatracker = "${libdir}/libxatracker.so.*"
diff --git a/meta/recipes-graphics/mesa/mesa_22.1.5.bb b/meta/recipes-graphics/mesa/mesa_22.2.3.bb
index 96e8aa38d6..96e8aa38d6 100644
--- a/meta/recipes-graphics/mesa/mesa_22.1.5.bb
+++ b/meta/recipes-graphics/mesa/mesa_22.2.3.bb
diff --git a/meta/recipes-graphics/pango/pango/0001-tests-meson.build-install-nofonts-fonts.conf-as-it-i.patch b/meta/recipes-graphics/pango/pango/0001-tests-meson.build-install-nofonts-fonts.conf-as-it-i.patch
new file mode 100644
index 0000000000..8dacd62138
--- /dev/null
+++ b/meta/recipes-graphics/pango/pango/0001-tests-meson.build-install-nofonts-fonts.conf-as-it-i.patch
@@ -0,0 +1,35 @@
+From 13f8ba5d5b699df1f88eeea859406daba6d6941f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 8 Nov 2022 18:08:51 +0100
+Subject: [PATCH] tests/meson.build: install nofonts/fonts.conf as it is
+ required by tests
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/pango/-/merge_requests/654]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ tests/meson.build | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tests/meson.build b/tests/meson.build
+index 8b4bfa38..6c1c461b 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -250,6 +250,10 @@ foreach d: test_items_data
+ installed_test_items_data += d + '.expected'
+ endforeach
+
++installed_test_nofonts_data = [
++ 'nofonts/fonts.conf',
++]
++
+ installed_test_datadir = join_paths(pango_datadir, 'installed-tests', 'pango')
+ installed_test_bindir = join_paths(pango_libexecdir, 'installed-tests', 'pango')
+
+@@ -261,6 +265,7 @@ if get_option('install-tests')
+ install_data(installed_test_breaks_data, install_dir: join_paths(installed_test_bindir, 'breaks'))
+ install_data(installed_test_items_data, install_dir: join_paths(installed_test_bindir, 'itemize'))
+ install_data(installed_test_fontsets_data, install_dir: join_paths(installed_test_bindir, 'fontsets'))
++ install_data(installed_test_nofonts_data, install_dir: join_paths(installed_test_bindir, 'nofonts'))
+ endif
+
+ gen_installed_test = files([ 'gen-installed-test.py' ])
diff --git a/meta/recipes-graphics/pango/pango_1.50.8.bb b/meta/recipes-graphics/pango/pango_1.50.11.bb
index 936526799f..6f599f5b78 100644
--- a/meta/recipes-graphics/pango/pango_1.50.8.bb
+++ b/meta/recipes-graphics/pango/pango_1.50.11.bb
@@ -21,10 +21,11 @@ GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disabled"
SRC_URI += "file://run-ptest \
- file://0001-Skip-running-test-layout-test.patch \
-"
+ file://0001-Skip-running-test-layout-test.patch \
+ file://0001-tests-meson.build-install-nofonts-fonts.conf-as-it-i.patch \
+ "
-SRC_URI[archive.sha256sum] = "cf626f59dd146c023174c4034920e9667f1d25ac2c1569516d63136c311255fa"
+SRC_URI[archive.sha256sum] = "8800f812d89ee61388188703203f3a7878963c22f8695aaf1fa0a1a1428d17ae"
DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
@@ -38,7 +39,7 @@ PACKAGECONFIG[thai] = ",,libthai"
GIR_MESON_OPTION = 'introspection'
do_configure:prepend() {
- chmod +x ${S}/tests/*.py
+ chmod +x ${S}/tests/*.py
}
LEAD_SONAME = "libpango-1.0*"
diff --git a/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch b/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch
deleted file mode 100644
index 68f783ebe4..0000000000
--- a/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a8ea135125b284a8a9c965d8091b3d1d9a31849c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Tue, 5 Apr 2022 16:51:34 +0200
-Subject: [PATCH] CMakeLists.txt: add missing endian.h check
-
-This is needed to actually have HAVE_ENDIAN_H defined properly in config.h.
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/648]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9fb0508da..158fac4bc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -481,6 +481,7 @@ check_include_file(sys/stat.h HAVE_SYS_STAT_H)
- check_include_file(unistd.h HAVE_UNISTD_H)
- check_include_file(fcntl.h HAVE_FCNTL_H)
- check_include_file(linux/sync_file.h HAVE_LINUX_SYNC_FILE_H)
-+check_include_file(endian.h HAVE_ENDIAN_H)
-
- if(DEFINED PIGLIT_INSTALL_VERSION)
- set(PIGLIT_INSTALL_VERSION_SUFFIX
diff --git a/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch b/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
index 5d6ec368ba..5d6ec368ba 100644
--- a/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
+++ b/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
diff --git a/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch b/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
index 16c7c5c803..16c7c5c803 100644
--- a/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
+++ b/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
diff --git a/meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch b/meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch
new file mode 100644
index 0000000000..ef6fda0f4e
--- /dev/null
+++ b/meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch
@@ -0,0 +1,32 @@
+From 13ff43fe760ac343b33d8e8c84b89886aac07116 Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Fri, 3 Jun 2022 10:44:29 -0500
+Subject: [PATCH] cmake: Don't enable GLX if tests are disabled
+
+Allow building for systems that don't support GLX.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/720]
+Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
+---
+ CMakeLists.txt | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e1aeb5ddf..85e171aba 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -134,10 +134,7 @@ if(PIGLIT_BUILD_CL_TESTS)
+ endif(PIGLIT_BUILD_CL_TESTS)
+
+ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+- if(X11_FOUND AND OPENGL_gl_LIBRARY)
+- # Assume the system has GLX. In the future, systems may exist
+- # with libGL and libX11 but no GLX, but that world hasn't
+- # arrived yet.
++ if(X11_FOUND AND OPENGL_gl_LIBRARY AND PIGLIT_BUILD_GLX_TESTS)
+ set(PIGLIT_HAS_GLX True)
+ add_definitions(-DPIGLIT_HAS_GLX)
+ endif()
+--
+2.17.1
+
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index b1e948ea69..8d66df4e09 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -8,13 +8,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \
file://0001-cmake-install-bash-completions-in-the-right-place.patch \
- file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
- file://0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
- file://0001-CMakeLists.txt-add-missing-endian.h-check.patch \
+ file://0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
+ file://0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
+ file://0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "b95782f470ca2915b0d9b9079f9cd6d81bae092c"
+SRCREV = "1cd716180cfb6ef0c1fc54702460ef49e5115791"
# (when PV goes above 1.0 remove the trailing r)
PV = "1.0+gitr${SRCPV}"
@@ -36,8 +36,10 @@ REQUIRED_DISTRO_FEATURES += "opengl"
export TEMP = "${B}/temp/"
do_compile[dirs] =+ "${B}/temp/"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glx', '', d)}"
PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
+PACKAGECONFIG[glx] = "-DPIGLIT_BUILD_GLX_TESTS=ON,-DPIGLIT_BUILD_GLX_TESTS=OFF"
+PACKAGECONFIG[opencl] = "-DPIGLIT_BUILD_CL_TESTS=ON,-DPIGLIT_BUILD_CL_TESTS=OFF,opencl-icd-loader"
PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}"
PACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,vulkan-loader"
@@ -50,8 +52,10 @@ do_configure:prepend() {
fi
}
-# Forcibly strip because Piglit is *huge*
+# Forcibly strip because Piglit is *huge*, and don't bother trying to split/strip the result.
OECMAKE_TARGET_INSTALL = "install/strip"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \
python3-misc \
diff --git a/meta/recipes-graphics/shaderc/files/0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch b/meta/recipes-graphics/shaderc/files/0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch
new file mode 100644
index 0000000000..ecaa2ddb30
--- /dev/null
+++ b/meta/recipes-graphics/shaderc/files/0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch
@@ -0,0 +1,76 @@
+From 7f6c60f928dabd8b15aa948886523ddf15709215 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 2 Nov 2022 15:42:58 +0100
+Subject: [PATCH] CMakeLists.txt: drop OSDependent/OGLCompiler from lists of
+ glslang libraries
+
+glslang no longer installs them separately, and all needed
+functionality has been merged into glslang shared library itself:
+
+This wasn't a problem previously as they were still provided,
+as static libraries but in latest glslang they no longer are:
+https://github.com/KhronosGroup/glslang/commit/7cd519511c32d7e86d901c7ed231cb84c652d18d
+
+Upstream-Status: Submitted [https://github.com/google/shaderc/pull/1276]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ glslc/CMakeLists.txt | 2 +-
+ libshaderc/CMakeLists.txt | 2 +-
+ libshaderc/README.md | 4 ++--
+ libshaderc_util/CMakeLists.txt | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt
+index 31664d1..5093bd9 100644
+--- a/glslc/CMakeLists.txt
++++ b/glslc/CMakeLists.txt
+@@ -43,7 +43,7 @@ if (SHADERC_ENABLE_WGSL_OUTPUT)
+ endif(SHADERC_ENABLE_WGSL_OUTPUT)
+
+ target_link_libraries(glslc PRIVATE
+- glslang OSDependent OGLCompiler HLSL glslang SPIRV # Glslang libraries
++ glslang HLSL glslang SPIRV # Glslang libraries
+ $<$<BOOL:${SHADERC_ENABLE_WGSL_OUTPUT}>:libtint> # Tint libraries, optional
+ shaderc_util shaderc # internal Shaderc libraries
+ ${CMAKE_THREAD_LIBS_INIT})
+diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt
+index 3ada419..d3542bf 100644
+--- a/libshaderc/CMakeLists.txt
++++ b/libshaderc/CMakeLists.txt
+@@ -62,7 +62,7 @@ endif(SHADERC_ENABLE_INSTALL)
+
+ find_package(Threads)
+ set(SHADERC_LIBS
+- glslang OSDependent OGLCompiler glslang ${CMAKE_THREAD_LIBS_INIT}
++ glslang glslang ${CMAKE_THREAD_LIBS_INIT}
+ shaderc_util
+ SPIRV # from glslang
+ SPIRV-Tools
+diff --git a/libshaderc/README.md b/libshaderc/README.md
+index bf9d317..1071769 100644
+--- a/libshaderc/README.md
++++ b/libshaderc/README.md
+@@ -7,8 +7,8 @@ A library for compiling shader strings into SPIR-V.
+ There are two main shaderc libraries that are created during a CMake
+ compilation. The first is `libshaderc`, which is a static library
+ containing just the functionality exposed by libshaderc. It depends
+-on other compilation targets `glslang`, `OSDependent`, `OGLCompiler`,
+-`shaderc_util`, `SPIRV`, `HLSL`, `SPIRV-Tools`, and `SPIRV-Tools-opt`.
++on other compilation targets `glslang`, `shaderc_util`, `SPIRV`,
++`HLSL`, `SPIRV-Tools`, and `SPIRV-Tools-opt`.
+
+ The other is `libshaderc_combined`, which is a static library containing
+ libshaderc and all of its dependencies.
+diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt
+index 99ce3c4..5291175 100644
+--- a/libshaderc_util/CMakeLists.txt
++++ b/libshaderc_util/CMakeLists.txt
+@@ -46,7 +46,7 @@ add_definitions(-DENABLE_HLSL)
+
+ find_package(Threads)
+ target_link_libraries(shaderc_util PRIVATE
+- glslang OSDependent OGLCompiler HLSL glslang SPIRV
++ glslang HLSL glslang SPIRV
+ SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT})
+
+ shaderc_add_tests(
diff --git a/meta/recipes-graphics/shaderc/shaderc_2022.1.bb b/meta/recipes-graphics/shaderc/shaderc_2022.3.bb
index fe9d94094c..c340646fa7 100644
--- a/meta/recipes-graphics/shaderc/shaderc_2022.1.bb
+++ b/meta/recipes-graphics/shaderc/shaderc_2022.3.bb
@@ -6,10 +6,11 @@ HOMEPAGE = "https://github.com/google/shaderc"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRCREV = "e4722b0ad49ee60c143d43baae8390f75ba27d2d"
+SRCREV = "4bbb646ddb3279c6a27e7aa0eb86c10c8add987b"
SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
file://0001-cmake-disable-building-external-dependencies.patch \
file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
+ file://0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/spir/spirv-headers_1.3.216.0.bb b/meta/recipes-graphics/spir/spirv-headers_1.3.231.1.bb
index 94500a96ba..fdcc8d523f 100644
--- a/meta/recipes-graphics/spir/spirv-headers_1.3.216.0.bb
+++ b/meta/recipes-graphics/spir/spirv-headers_1.3.231.1.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://www.khronos.org/registry/spir-v"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
-SRCREV = "b2a156e1c0434bc8c99aaebba1c7be98be7ac580"
+SRCREV = "85a1ed200d50660786c1a88d9166e871123cce39"
SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=master"
PE = "1"
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb b/meta/recipes-graphics/spir/spirv-tools_1.3.231.1.bb
index eb907326c4..e175cde145 100644
--- a/meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb
+++ b/meta/recipes-graphics/spir/spirv-tools_1.3.231.1.bb
@@ -7,7 +7,7 @@ SECTION = "graphics"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRCREV = "c94501352d545e84c821ce031399e76d1af32d18"
+SRCREV = "eb0a36633d2acf4de82588504f951ad0f2cecacb"
SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=master;protocol=https"
PE = "1"
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
@@ -25,9 +25,10 @@ EXTRA_OECMAKE += "\
"
do_install:append:class-target() {
- # reproducibility: remove build host path
+ # Properly set _IMPORT_PREFIX in INTERFACE_LINK_LIBRARIES so that dependent
+ # tools can find the right library
sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \
- -e 's:${STAGING_DIR_HOST}::g'
+ -e 's:INTERFACE_LINK_LIBRARIES.*$:INTERFACE_LINK_LIBRARIES "\$\{_IMPORT_PREFIX\}/lib":'
}
# all the libraries are unversioned, so don't pack it on PN-dev
diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb
index 32247b09c8..b7fdc0d399 100644
--- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb
+++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb
@@ -13,11 +13,11 @@ PE = "1"
SRC_URI = "https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-${PV}.tar.gz \
file://30-liberation-aliases.conf"
SRC_URI[sha256sum] = "7191c669bf38899f73a2094ed00f7b800553364f90e2637010a69c0e268f25d0"
-UPSTREAM_CHECK_URI = "https://github.com/liberationfonts/liberation-fonts/releases"
+GITHUB_BASE_URI = "https://github.com/liberationfonts/liberation-fonts/releases"
S = "${WORKDIR}/liberation-fonts-ttf-${PV}"
-inherit allarch fontcache
+inherit allarch fontcache github-releases
do_install () {
install -d ${D}${datadir}/fonts/ttf/
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
index 0fd1d511d6..8230ba588b 100644
--- a/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
+++ b/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
@@ -1,4 +1,4 @@
-From 63788c63ed39a3ce9994f4315d8997e1a9300d4d Mon Sep 17 00:00:00 2001
+From c853c9e5c44f1b23a15a7ba629ee02f7d8ec23a0 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 6 Jan 2020 12:44:42 +0100
Subject: [PATCH] meson.build: use 'python3' directly for python
@@ -8,17 +8,18 @@ its configuration).
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index 682d7c8..19d2eae 100644
+index 13d95bb..b241eb2 100644
--- a/meson.build
+++ b/meson.build
-@@ -60,7 +60,7 @@ foreach w : warnings
- endif
- endforeach
+@@ -64,7 +64,7 @@ flags = [
+
+ add_project_arguments(cc.get_supported_arguments(flags), language : 'c')
-prog_python = import('python').find_installation('python3')
+prog_python = 'python3'
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0135.patch b/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0135.patch
deleted file mode 100644
index ae42dc8f6c..0000000000
--- a/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0135.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 63aee871365f9c9e7fa9125672302a0fb250d34d Mon Sep 17 00:00:00 2001
-From: Gert Wollny <gert.wollny@collabora.com>
-Date: Tue, 30 Nov 2021 09:16:24 +0100
-Subject: [PATCH 2/2] vrend: propperly check whether the shader image range is
- correct
-
-Also add a test to check the integer underflow.
-
-Closes: #251
-Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
-Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
-
-cherry-pick from anongit.freedesktop.org/virglrenderer
-commit 2aed5d4...
-
-CVE: CVE-2022-0135
-Upstream-Status: Backport
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
- src/vrend_decode.c | 3 +-
- tests/test_fuzzer_formats.c | 57 +++++++++++++++++++++++++++++++++++++
- 2 files changed, 59 insertions(+), 1 deletion(-)
-
-diff --git a/src/vrend_decode.c b/src/vrend_decode.c
-index 91f5f24..6771b10 100644
---- a/src/vrend_decode.c
-+++ b/src/vrend_decode.c
-@@ -1249,8 +1249,9 @@ static int vrend_decode_set_shader_images(struct vrend_context *ctx, const uint3
- if (num_images < 1) {
- return 0;
- }
-+
- if (start_slot > PIPE_MAX_SHADER_IMAGES ||
-- start_slot > PIPE_MAX_SHADER_IMAGES - num_images)
-+ start_slot + num_images > PIPE_MAX_SHADER_IMAGES)
- return EINVAL;
-
- for (uint32_t i = 0; i < num_images; i++) {
-diff --git a/tests/test_fuzzer_formats.c b/tests/test_fuzzer_formats.c
-index 154a2e5..e32caf0 100644
---- a/tests/test_fuzzer_formats.c
-+++ b/tests/test_fuzzer_formats.c
-@@ -958,6 +958,61 @@ static void test_vrend_set_signle_abo_heap_overflow() {
- virgl_renderer_submit_cmd((void *) cmd, ctx_id, 0xde);
- }
-
-+static void test_vrend_set_shader_images_overflow()
-+{
-+ uint32_t num_shaders = PIPE_MAX_SHADER_IMAGES + 1;
-+ uint32_t size = num_shaders * VIRGL_SET_SHADER_IMAGE_ELEMENT_SIZE + 3;
-+ uint32_t cmd[size];
-+ int i = 0;
-+ cmd[i++] = ((size - 1)<< 16) | 0 << 8 | VIRGL_CCMD_SET_SHADER_IMAGES;
-+ cmd[i++] = PIPE_SHADER_FRAGMENT;
-+ memset(&cmd[i], 0, size - i);
-+
-+ virgl_renderer_submit_cmd((void *) cmd, ctx_id, size);
-+}
-+
-+/* Test adapted from yaojun8558363@gmail.com:
-+ * https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/250
-+*/
-+static void test_vrend_3d_resource_overflow() {
-+
-+ struct virgl_renderer_resource_create_args resource;
-+ resource.handle = 0x4c474572;
-+ resource.target = PIPE_TEXTURE_2D_ARRAY;
-+ resource.format = VIRGL_FORMAT_Z24X8_UNORM;
-+ resource.nr_samples = 2;
-+ resource.last_level = 0;
-+ resource.array_size = 3;
-+ resource.bind = VIRGL_BIND_SAMPLER_VIEW;
-+ resource.depth = 1;
-+ resource.width = 8;
-+ resource.height = 4;
-+ resource.flags = 0;
-+
-+ virgl_renderer_resource_create(&resource, NULL, 0);
-+ virgl_renderer_ctx_attach_resource(ctx_id, resource.handle);
-+
-+ uint32_t size = 0x400;
-+ uint32_t cmd[size];
-+ int i = 0;
-+ cmd[i++] = (size - 1) << 16 | 0 << 8 | VIRGL_CCMD_RESOURCE_INLINE_WRITE;
-+ cmd[i++] = resource.handle;
-+ cmd[i++] = 0; // level
-+ cmd[i++] = 0; // usage
-+ cmd[i++] = 0; // stride
-+ cmd[i++] = 0; // layer_stride
-+ cmd[i++] = 0; // x
-+ cmd[i++] = 0; // y
-+ cmd[i++] = 0; // z
-+ cmd[i++] = 8; // w
-+ cmd[i++] = 4; // h
-+ cmd[i++] = 3; // d
-+ memset(&cmd[i], 0, size - i);
-+
-+ virgl_renderer_submit_cmd((void *) cmd, ctx_id, size);
-+}
-+
-+
- int main()
- {
- initialize_environment();
-@@ -980,6 +1035,8 @@ int main()
- test_cs_nullpointer_deference();
- test_vrend_set_signle_abo_heap_overflow();
-
-+ test_vrend_set_shader_images_overflow();
-+ test_vrend_3d_resource_overflow();
-
- virgl_renderer_context_destroy(ctx_id);
- virgl_renderer_cleanup(&cookie);
---
-2.25.1
-
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0175.patch b/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0175.patch
deleted file mode 100644
index 7fbab75091..0000000000
--- a/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0175.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 5ca7aca001092c557f0b6fc1ba3db7dcdab860b7 Mon Sep 17 00:00:00 2001
-From: Gert Wollny <gert.wollny@collabora.com>
-Date: Tue, 30 Nov 2021 09:29:42 +0100
-Subject: [PATCH 1/2] vrend: clear memory when allocating a host-backed memory
- resource
-
-Closes: #249
-Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
-Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
-
-cherry-pick from anongit.freedesktop.org/virglrenderer
-commit b05bb61...
-
-CVE: CVE-2022-0175
-Upstream-Status: Backport
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
- src/vrend_renderer.c | 2 +-
- tests/test_virgl_transfer.c | 51 +++++++++++++++++++++++++++++++++++++
- 2 files changed, 52 insertions(+), 1 deletion(-)
-
-diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
-index b8b2a36..2650cf2 100644
---- a/src/vrend_renderer.c
-+++ b/src/vrend_renderer.c
-@@ -6788,7 +6788,7 @@ vrend_resource_alloc_buffer(struct vrend_resource *gr, uint32_t flags)
- if (bind == VIRGL_BIND_CUSTOM) {
- /* use iovec directly when attached */
- gr->storage_bits |= VREND_STORAGE_HOST_SYSTEM_MEMORY;
-- gr->ptr = malloc(size);
-+ gr->ptr = calloc(1, size);
- if (!gr->ptr)
- return -ENOMEM;
- } else if (bind == VIRGL_BIND_STAGING) {
-diff --git a/tests/test_virgl_transfer.c b/tests/test_virgl_transfer.c
-index bf7f438..3c53c3d 100644
---- a/tests/test_virgl_transfer.c
-+++ b/tests/test_virgl_transfer.c
-@@ -952,6 +952,56 @@ START_TEST(virgl_test_transfer_near_res_bounds_with_stride_succeeds)
- }
- END_TEST
-
-+START_TEST(test_vrend_host_backed_memory_no_data_leak)
-+{
-+ struct iovec iovs[1];
-+ int niovs = 1;
-+
-+ struct virgl_context ctx = {0};
-+
-+ int ret = testvirgl_init_ctx_cmdbuf(&ctx);
-+
-+ struct virgl_renderer_resource_create_args res;
-+ res.handle = 0x400;
-+ res.target = PIPE_BUFFER;
-+ res.format = VIRGL_FORMAT_R8_UNORM;
-+ res.nr_samples = 0;
-+ res.last_level = 0;
-+ res.array_size = 1;
-+ res.bind = VIRGL_BIND_CUSTOM;
-+ res.depth = 1;
-+ res.width = 32;
-+ res.height = 1;
-+ res.flags = 0;
-+
-+ uint32_t size = 32;
-+ uint8_t* data = calloc(1, size);
-+ memset(data, 1, 32);
-+ iovs[0].iov_base = data;
-+ iovs[0].iov_len = size;
-+
-+ struct pipe_box box = {0,0,0, size, 1,1};
-+
-+ virgl_renderer_resource_create(&res, NULL, 0);
-+ virgl_renderer_ctx_attach_resource(ctx.ctx_id, res.handle);
-+
-+ ret = virgl_renderer_transfer_read_iov(res.handle, ctx.ctx_id, 0, 0, 0,
-+ (struct virgl_box *)&box, 0, iovs, niovs);
-+
-+ ck_assert_int_eq(ret, 0);
-+
-+ for (int i = 0; i < 32; ++i)
-+ ck_assert_int_eq(data[i], 0);
-+
-+ virgl_renderer_ctx_detach_resource(1, res.handle);
-+
-+ virgl_renderer_resource_unref(res.handle);
-+ free(data);
-+
-+}
-+END_TEST
-+
-+
- static Suite *virgl_init_suite(void)
- {
- Suite *s;
-@@ -981,6 +1031,7 @@ static Suite *virgl_init_suite(void)
- tcase_add_test(tc_core, virgl_test_transfer_buffer_bad_strides);
- tcase_add_test(tc_core, virgl_test_transfer_2d_array_bad_layer_stride);
- tcase_add_test(tc_core, virgl_test_transfer_2d_bad_level);
-+ tcase_add_test(tc_core, test_vrend_host_backed_memory_no_data_leak);
-
- tcase_add_loop_test(tc_core, virgl_test_transfer_res_read_valid, 0, PIPE_MAX_TEXTURE_TYPES);
- tcase_add_loop_test(tc_core, virgl_test_transfer_res_write_valid, 0, PIPE_MAX_TEXTURE_TYPES);
---
-2.25.1
-
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.3.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.3.bb
new file mode 100644
index 0000000000..3480eb954d
--- /dev/null
+++ b/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "VirGL virtual OpenGL renderer"
+DESCRIPTION = "Virgil is a research project to investigate the possibility of \
+creating a virtual 3D GPU for use inside qemu virtual machines, that allows \
+the guest operating system to use the capabilities of the host GPU to \
+accelerate 3D rendering."
+HOMEPAGE = "https://virgil3d.github.io/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
+
+DEPENDS = "libdrm libepoxy virtual/egl virtual/libgbm"
+SRCREV = "0922041ec6730122e0fec11404e6859e2efc4bc0"
+SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=master;protocol=https \
+ file://0001-meson.build-use-python3-directly-for-python.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig features_check
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'venus-experimental', '', d)}"
+
+PACKAGECONFIG[venus-experimental] = "-Dvenus-experimental=true,-Dvenus-experimental=false,vulkan-loader vulkan-headers"
+PACKAGECONFIG[va] = "-Dvideo=true,-Dvideo=false,libva"
+PACKAGECONFIG[render-server] = "-Drender-server=true,-Drender-server=false"
+PACKAGECONFIG[drm-msm-experimental] = "-Ddrm-msm-experimental=true,-Ddrm-msm-experimental=false"
+PACKAGECONFIG[minigbm_allocation] = "-Dminigbm_allocation=true,-Dminigbm_allocation=false"
+PACKAGECONFIG[venus-validate] = "-Dvenus-validate=true,-Dvenus-validate=false"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,libcheck"
+
+BBCLASSEXTEND = "native nativesdk"
+
+REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb
deleted file mode 100644
index ad3688e300..0000000000
--- a/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "VirGL virtual OpenGL renderer"
-DESCRIPTION = "Virgil is a research project to investigate the possibility of \
-creating a virtual 3D GPU for use inside qemu virtual machines, that allows \
-the guest operating system to use the capabilities of the host GPU to \
-accelerate 3D rendering."
-HOMEPAGE = "https://virgil3d.github.io/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
-
-DEPENDS = "libdrm virtual/egl virtual/libgbm libepoxy"
-SRCREV = "363915595e05fb252e70d6514be2f0c0b5ca312b"
-SRC_URI = "git://anongit.freedesktop.org/git/virglrenderer;branch=branch-0.9.1 \
- file://0001-meson.build-use-python3-directly-for-python.patch \
- file://cve-2022-0135.patch \
- file://cve-2022-0175.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig features_check
-
-BBCLASSEXTEND = "native nativesdk"
-
-REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta/recipes-graphics/vulkan/vulkan-headers_1.3.216.0.bb b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.231.1.bb
index 5f7917ae82..b41b82af9d 100644
--- a/meta/recipes-graphics/vulkan/vulkan-headers_1.3.216.0.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.231.1.bb
@@ -11,7 +11,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https"
-SRCREV = "3ef4c97fd6ea001d75a8e9da408ee473c180e456"
+SRCREV = "98f440ce6868c94f5ec6e198cc1adda4760e8849"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.3.216.0.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.231.1.bb
index 15a079879b..7aab7446f6 100644
--- a/meta/recipes-graphics/vulkan/vulkan-loader_1.3.216.0.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.231.1.bb
@@ -9,15 +9,14 @@ SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.3.216;protocol=https"
-SRCREV = "322f7e3212b4fd9d70d7f48972963c83d24d06e4"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.3.231;protocol=https"
+SRCREV = "eedbf08292a6be19c3527e77ae2df3f209cab285"
S = "${WORKDIR}/git"
REQUIRED_DISTRO_FEATURES = "vulkan"
inherit cmake features_check pkgconfig
-ANY_OF_DISTRO_FEATURES = "x11 wayland"
DEPENDS += "vulkan-headers"
@@ -29,7 +28,6 @@ EXTRA_OECMAKE = "\
-DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \
"
-# must choose x11 or wayland or both
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch
new file mode 100644
index 0000000000..80ee521499
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch
@@ -0,0 +1,405 @@
+From 9e061b12b9305eee96a4d3129b646c244cc02347 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Aug 2022 19:16:45 -0700
+Subject: [PATCH] Qualify move as std::move
+
+Seeing errors like below with clang-15
+
+spirv_common.hpp:692:19: error: unqualified call to std::move
+
+squashed Backport of following upstream commits
+
+https://github.com/KhronosGroup/SPIRV-Cross/commit/44c3333a1c315ead00c24f7aef5fa8a7ccf49299
+https://github.com/KhronosGroup/SPIRV-Cross/commit/0eda71c40936586ea812d0d20d93c11a3e9af192
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Cross/commit/0eda71c40936586ea812d0d20d93c11a3e9af192]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ main.cpp | 38 +++++++++++++++++++-------------------
+ spirv_common.hpp | 2 +-
+ spirv_cpp.hpp | 2 +-
+ spirv_cross.cpp | 18 +++++++++---------
+ spirv_glsl.cpp | 2 +-
+ spirv_glsl.hpp | 2 +-
+ spirv_hlsl.cpp | 4 ++--
+ spirv_hlsl.hpp | 2 +-
+ spirv_msl.cpp | 2 +-
+ spirv_parser.cpp | 4 ++--
+ spirv_reflect.hpp | 2 +-
+ 11 files changed, 39 insertions(+), 39 deletions(-)
+
+diff --git a/main.cpp b/main.cpp
+index 78991094..581c5e3b 100644
+--- a/main.cpp
++++ b/main.cpp
+@@ -65,7 +65,7 @@ struct CLICallbacks
+ struct CLIParser
+ {
+ CLIParser(CLICallbacks cbs_, int argc_, char *argv_[])
+- : cbs(move(cbs_))
++ : cbs(std::move(cbs_))
+ , argc(argc_)
+ , argv(argv_)
+ {
+@@ -722,7 +722,7 @@ static int main_inner(int argc, char *argv[])
+ auto old_name = parser.next_string();
+ auto new_name = parser.next_string();
+ auto model = stage_to_execution_model(parser.next_string());
+- args.entry_point_rename.push_back({ old_name, new_name, move(model) });
++ args.entry_point_rename.push_back({ old_name, new_name, std::move(model) });
+ });
+ cbs.add("--entry", [&args](CLIParser &parser) { args.entry = parser.next_string(); });
+ cbs.add("--stage", [&args](CLIParser &parser) { args.entry_stage = parser.next_string(); });
+@@ -731,20 +731,20 @@ static int main_inner(int argc, char *argv[])
+ HLSLVertexAttributeRemap remap;
+ remap.location = parser.next_uint();
+ remap.semantic = parser.next_string();
+- args.hlsl_attr_remap.push_back(move(remap));
++ args.hlsl_attr_remap.push_back(std::move(remap));
+ });
+
+ cbs.add("--remap", [&args](CLIParser &parser) {
+ string src = parser.next_string();
+ string dst = parser.next_string();
+ uint32_t components = parser.next_uint();
+- args.remaps.push_back({ move(src), move(dst), components });
++ args.remaps.push_back({ std::move(src), std::move(dst), components });
+ });
+
+ cbs.add("--remap-variable-type", [&args](CLIParser &parser) {
+ string var_name = parser.next_string();
+ string new_type = parser.next_string();
+- args.variable_type_remaps.push_back({ move(var_name), move(new_type) });
++ args.variable_type_remaps.push_back({ std::move(var_name), std::move(new_type) });
+ });
+
+ cbs.add("--rename-interface-variable", [&args](CLIParser &parser) {
+@@ -757,18 +757,18 @@ static int main_inner(int argc, char *argv[])
+
+ uint32_t loc = parser.next_uint();
+ string var_name = parser.next_string();
+- args.interface_variable_renames.push_back({ cls, loc, move(var_name) });
++ args.interface_variable_renames.push_back({ cls, loc, std::move(var_name) });
+ });
+
+ cbs.add("--pls-in", [&args](CLIParser &parser) {
+ auto fmt = pls_format(parser.next_string());
+ auto name = parser.next_string();
+- args.pls_in.push_back({ move(fmt), move(name) });
++ args.pls_in.push_back({ std::move(fmt), std::move(name) });
+ });
+ cbs.add("--pls-out", [&args](CLIParser &parser) {
+ auto fmt = pls_format(parser.next_string());
+ auto name = parser.next_string();
+- args.pls_out.push_back({ move(fmt), move(name) });
++ args.pls_out.push_back({ std::move(fmt), std::move(name) });
+ });
+ cbs.add("--shader-model", [&args](CLIParser &parser) {
+ args.shader_model = parser.next_uint();
+@@ -788,7 +788,7 @@ static int main_inner(int argc, char *argv[])
+ cbs.default_handler = [&args](const char *value) { args.input = value; };
+ cbs.error_handler = [] { print_help(); };
+
+- CLIParser parser{ move(cbs), argc - 1, argv + 1 };
++ CLIParser parser{ std::move(cbs), argc - 1, argv + 1 };
+ if (!parser.parse())
+ {
+ return EXIT_FAILURE;
+@@ -808,14 +808,14 @@ static int main_inner(int argc, char *argv[])
+ auto spirv_file = read_spirv_file(args.input);
+ if (spirv_file.empty())
+ return EXIT_FAILURE;
+- Parser spirv_parser(move(spirv_file));
++ Parser spirv_parser(std::move(spirv_file));
+
+ spirv_parser.parse();
+
+ // Special case reflection because it has little to do with the path followed by code-outputting compilers
+ if (!args.reflect.empty())
+ {
+- CompilerReflection compiler(move(spirv_parser.get_parsed_ir()));
++ CompilerReflection compiler(std::move(spirv_parser.get_parsed_ir()));
+ compiler.set_format(args.reflect);
+ auto json = compiler.compile();
+ if (args.output)
+@@ -831,13 +831,13 @@ static int main_inner(int argc, char *argv[])
+
+ if (args.cpp)
+ {
+- compiler.reset(new CompilerCPP(move(spirv_parser.get_parsed_ir())));
++ compiler.reset(new CompilerCPP(std::move(spirv_parser.get_parsed_ir())));
+ if (args.cpp_interface_name)
+ static_cast<CompilerCPP *>(compiler.get())->set_interface_name(args.cpp_interface_name);
+ }
+ else if (args.msl)
+ {
+- compiler.reset(new CompilerMSL(move(spirv_parser.get_parsed_ir())));
++ compiler.reset(new CompilerMSL(std::move(spirv_parser.get_parsed_ir())));
+
+ auto *msl_comp = static_cast<CompilerMSL *>(compiler.get());
+ auto msl_opts = msl_comp->get_msl_options();
+@@ -850,13 +850,13 @@ static int main_inner(int argc, char *argv[])
+ msl_comp->set_msl_options(msl_opts);
+ }
+ else if (args.hlsl)
+- compiler.reset(new CompilerHLSL(move(spirv_parser.get_parsed_ir())));
++ compiler.reset(new CompilerHLSL(std::move(spirv_parser.get_parsed_ir())));
+ else
+ {
+ combined_image_samplers = !args.vulkan_semantics;
+ if (!args.vulkan_semantics)
+ build_dummy_sampler = true;
+- compiler.reset(new CompilerGLSL(move(spirv_parser.get_parsed_ir())));
++ compiler.reset(new CompilerGLSL(std::move(spirv_parser.get_parsed_ir())));
+ }
+
+ if (!args.variable_type_remaps.empty())
+@@ -867,7 +867,7 @@ static int main_inner(int argc, char *argv[])
+ out = remap.new_variable_type;
+ };
+
+- compiler->set_variable_type_remap_callback(move(remap_cb));
++ compiler->set_variable_type_remap_callback(std::move(remap_cb));
+ }
+
+ for (auto &rename : args.entry_point_rename)
+@@ -1019,7 +1019,7 @@ static int main_inner(int argc, char *argv[])
+ {
+ auto active = compiler->get_active_interface_variables();
+ res = compiler->get_shader_resources(active);
+- compiler->set_enabled_interface_variables(move(active));
++ compiler->set_enabled_interface_variables(std::move(active));
+ }
+ else
+ res = compiler->get_shader_resources();
+@@ -1034,7 +1034,7 @@ static int main_inner(int argc, char *argv[])
+
+ auto pls_inputs = remap_pls(args.pls_in, res.stage_inputs, &res.subpass_inputs);
+ auto pls_outputs = remap_pls(args.pls_out, res.stage_outputs, nullptr);
+- compiler->remap_pixel_local_storage(move(pls_inputs), move(pls_outputs));
++ compiler->remap_pixel_local_storage(std::move(pls_inputs), std::move(pls_outputs));
+
+ for (auto &ext : args.extensions)
+ compiler->require_extension(ext);
+@@ -1101,7 +1101,7 @@ static int main_inner(int argc, char *argv[])
+ for (uint32_t i = 0; i < args.iterations; i++)
+ {
+ if (args.hlsl)
+- glsl = static_cast<CompilerHLSL *>(compiler.get())->compile(move(args.hlsl_attr_remap));
++ glsl = static_cast<CompilerHLSL *>(compiler.get())->compile(std::move(args.hlsl_attr_remap));
+ else
+ glsl = compiler->compile();
+ }
+diff --git a/spirv_common.hpp b/spirv_common.hpp
+index aa32142d..0daf5ad5 100644
+--- a/spirv_common.hpp
++++ b/spirv_common.hpp
+@@ -536,7 +536,7 @@ struct SPIRExpression : IVariant
+
+ // Only created by the backend target to avoid creating tons of temporaries.
+ SPIRExpression(std::string expr, uint32_t expression_type_, bool immutable_)
+- : expression(move(expr))
++ : expression(std::move(expr))
+ , expression_type(expression_type_)
+ , immutable(immutable_)
+ {
+diff --git a/spirv_cpp.hpp b/spirv_cpp.hpp
+index bcdb669b..b4da84b9 100644
+--- a/spirv_cpp.hpp
++++ b/spirv_cpp.hpp
+@@ -27,7 +27,7 @@ class CompilerCPP : public CompilerGLSL
+ {
+ public:
+ explicit CompilerCPP(std::vector<uint32_t> spirv_)
+- : CompilerGLSL(move(spirv_))
++ : CompilerGLSL(std::move(spirv_))
+ {
+ }
+
+diff --git a/spirv_cross.cpp b/spirv_cross.cpp
+index 19bac301..d21dbd41 100644
+--- a/spirv_cross.cpp
++++ b/spirv_cross.cpp
+@@ -28,16 +28,16 @@ using namespace spirv_cross;
+
+ Compiler::Compiler(vector<uint32_t> ir_)
+ {
+- Parser parser(move(ir_));
++ Parser parser(std::move(ir_));
+ parser.parse();
+- set_ir(move(parser.get_parsed_ir()));
++ set_ir(std::move(parser.get_parsed_ir()));
+ }
+
+ Compiler::Compiler(const uint32_t *ir_, size_t word_count)
+ {
+ Parser parser(ir_, word_count);
+ parser.parse();
+- set_ir(move(parser.get_parsed_ir()));
++ set_ir(std::move(parser.get_parsed_ir()));
+ }
+
+ Compiler::Compiler(const ParsedIR &ir_)
+@@ -47,12 +47,12 @@ Compiler::Compiler(const ParsedIR &ir_)
+
+ Compiler::Compiler(ParsedIR &&ir_)
+ {
+- set_ir(move(ir_));
++ set_ir(std::move(ir_));
+ }
+
+ void Compiler::set_ir(ParsedIR &&ir_)
+ {
+- ir = move(ir_);
++ ir = std::move(ir_);
+ parse_fixup();
+ }
+
+@@ -716,7 +716,7 @@ unordered_set<uint32_t> Compiler::get_active_interface_variables() const
+
+ void Compiler::set_enabled_interface_variables(std::unordered_set<uint32_t> active_variables)
+ {
+- active_interface_variables = move(active_variables);
++ active_interface_variables = std::move(active_variables);
+ check_active_interface_variables = true;
+ }
+
+@@ -2163,7 +2163,7 @@ void Compiler::CombinedImageSamplerHandler::push_remap_parameters(const SPIRFunc
+ unordered_map<uint32_t, uint32_t> remapping;
+ for (uint32_t i = 0; i < length; i++)
+ remapping[func.arguments[i].id] = remap_parameter(args[i]);
+- parameter_remapping.push(move(remapping));
++ parameter_remapping.push(std::move(remapping));
+ }
+
+ void Compiler::CombinedImageSamplerHandler::pop_remap_parameters()
+@@ -3611,7 +3611,7 @@ void Compiler::analyze_image_and_sampler_usage()
+
+ CombinedImageSamplerUsageHandler handler(*this, dref_handler.dref_combined_samplers);
+ traverse_all_reachable_opcodes(get<SPIRFunction>(ir.default_entry_point), handler);
+- comparison_ids = move(handler.comparison_ids);
++ comparison_ids = std::move(handler.comparison_ids);
+ need_subpass_input = handler.need_subpass_input;
+
+ // Forward information from separate images and samplers into combined image samplers.
+@@ -3650,7 +3650,7 @@ void Compiler::build_function_control_flow_graphs_and_analyze()
+ CFGBuilder handler(*this);
+ handler.function_cfgs[ir.default_entry_point].reset(new CFG(*this, get<SPIRFunction>(ir.default_entry_point)));
+ traverse_all_reachable_opcodes(get<SPIRFunction>(ir.default_entry_point), handler);
+- function_cfgs = move(handler.function_cfgs);
++ function_cfgs = std::move(handler.function_cfgs);
+
+ for (auto &f : function_cfgs)
+ {
+diff --git a/spirv_glsl.cpp b/spirv_glsl.cpp
+index a8855987..fabbb105 100644
+--- a/spirv_glsl.cpp
++++ b/spirv_glsl.cpp
+@@ -6876,7 +6876,7 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
+ bool ptr_chain = opcode == OpPtrAccessChain;
+ auto e = access_chain(ops[2], &ops[3], length - 3, get<SPIRType>(ops[0]), &meta, ptr_chain);
+
+- auto &expr = set<SPIRExpression>(ops[1], move(e), ops[0], should_forward(ops[2]));
++ auto &expr = set<SPIRExpression>(ops[1], std::move(e), ops[0], should_forward(ops[2]));
+
+ auto *backing_variable = maybe_get_backing_variable(ops[2]);
+ expr.loaded_from = backing_variable ? backing_variable->self : ops[2];
+diff --git a/spirv_glsl.hpp b/spirv_glsl.hpp
+index caf0ad3b..aac1196e 100644
+--- a/spirv_glsl.hpp
++++ b/spirv_glsl.hpp
+@@ -138,7 +138,7 @@ public:
+ }
+
+ explicit CompilerGLSL(std::vector<uint32_t> spirv_)
+- : Compiler(move(spirv_))
++ : Compiler(std::move(spirv_))
+ {
+ init();
+ }
+diff --git a/spirv_hlsl.cpp b/spirv_hlsl.cpp
+index a5b6d2dc..0933017e 100644
+--- a/spirv_hlsl.cpp
++++ b/spirv_hlsl.cpp
+@@ -2028,7 +2028,7 @@ void CompilerHLSL::emit_function_prototype(SPIRFunction &func, const Bitset &ret
+ out_argument += " ";
+ out_argument += "SPIRV_Cross_return_value";
+ out_argument += type_to_array_glsl(type);
+- arglist.push_back(move(out_argument));
++ arglist.push_back(std::move(out_argument));
+ }
+
+ for (auto &arg : func.arguments)
+@@ -4553,7 +4553,7 @@ void CompilerHLSL::require_texture_query_variant(const SPIRType &type)
+
+ string CompilerHLSL::compile(std::vector<HLSLVertexAttributeRemap> vertex_attributes)
+ {
+- remap_vertex_attributes = move(vertex_attributes);
++ remap_vertex_attributes = std::move(vertex_attributes);
+ return compile();
+ }
+
+diff --git a/spirv_hlsl.hpp b/spirv_hlsl.hpp
+index b2b60fca..3503c674 100644
+--- a/spirv_hlsl.hpp
++++ b/spirv_hlsl.hpp
+@@ -63,7 +63,7 @@ public:
+ };
+
+ explicit CompilerHLSL(std::vector<uint32_t> spirv_)
+- : CompilerGLSL(move(spirv_))
++ : CompilerGLSL(std::move(spirv_))
+ {
+ }
+
+diff --git a/spirv_msl.cpp b/spirv_msl.cpp
+index 0e1e733d..fbfcdba5 100644
+--- a/spirv_msl.cpp
++++ b/spirv_msl.cpp
+@@ -32,7 +32,7 @@ static const uint32_t k_aux_mbr_idx_swizzle_const = 0u;
+
+ CompilerMSL::CompilerMSL(vector<uint32_t> spirv_, vector<MSLVertexAttr> *p_vtx_attrs,
+ vector<MSLResourceBinding> *p_res_bindings)
+- : CompilerGLSL(move(spirv_))
++ : CompilerGLSL(std::move(spirv_))
+ {
+ if (p_vtx_attrs)
+ for (auto &va : *p_vtx_attrs)
+diff --git a/spirv_parser.cpp b/spirv_parser.cpp
+index 1725b4ca..0fcd7691 100644
+--- a/spirv_parser.cpp
++++ b/spirv_parser.cpp
+@@ -24,7 +24,7 @@ namespace spirv_cross
+ {
+ Parser::Parser(std::vector<uint32_t> spirv)
+ {
+- ir.spirv = move(spirv);
++ ir.spirv = std::move(spirv);
+ }
+
+ Parser::Parser(const uint32_t *spirv_data, size_t word_count)
+@@ -223,7 +223,7 @@ void Parser::parse(const Instruction &instruction)
+ case OpExtension:
+ {
+ auto ext = extract_string(ir.spirv, instruction.offset);
+- ir.declared_extensions.push_back(move(ext));
++ ir.declared_extensions.push_back(std::move(ext));
+ break;
+ }
+
+diff --git a/spirv_reflect.hpp b/spirv_reflect.hpp
+index 13b5b431..f5c6a6ff 100644
+--- a/spirv_reflect.hpp
++++ b/spirv_reflect.hpp
+@@ -34,7 +34,7 @@ class CompilerReflection : public CompilerGLSL
+
+ public:
+ explicit CompilerReflection(std::vector<uint32_t> spirv_)
+- : Parent(move(spirv_))
++ : Parent(std::move(spirv_))
+ {
+ options.vulkan_semantics = true;
+ }
+--
+2.37.2
+
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch
deleted file mode 100644
index c2bb43fe76..0000000000
--- a/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 8c069a1c4452f626e5bafc547463507d86111319 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Tue, 19 Jul 2022 16:55:40 +0200
-Subject: [PATCH] framework/core/hpp_vulkan_resource.h: add header include that
- defines std::exchange
-
-Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/501]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- framework/core/hpp_vulkan_resource.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/framework/core/hpp_vulkan_resource.h b/framework/core/hpp_vulkan_resource.h
-index 0e30f5a..8d83019 100644
---- a/framework/core/hpp_vulkan_resource.h
-+++ b/framework/core/hpp_vulkan_resource.h
-@@ -18,6 +18,7 @@
- #pragma once
-
- #include <vulkan/vulkan.hpp>
-+#include <utility>
-
- namespace vkb
- {
---
-2.30.2
-
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 41cb4a437d..d0b3458e1b 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -5,14 +5,14 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
-SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=master;protocol=https \
+SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=master;protocol=https;lfs=0 \
file://0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch \
file://debugfix.patch \
- file://0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch \
+ file://0001-Qualify-move-as-std-move.patch;patchdir=third_party/spirv-cross \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "ee6c1522af8ba9b56f8416c2eedafb440f681085"
+SRCREV = "74d45aace02d99d766126711a8aaa0978276ca00"
UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/vulkan/vulkan-tools_1.3.216.0.bb b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.231.1.bb
index e26f4504f1..9066821de0 100644
--- a/meta/recipes-graphics/vulkan/vulkan-tools_1.3.216.0.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.231.1.bb
@@ -6,8 +6,8 @@ SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=master;protocol=https"
-SRCREV = "ef9db7a8ec52f6c56158d83f5d57ef388c1abec1"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.3.231;protocol=https"
+SRCREV = "8d2d3e22d684540fdc5a76c15e456fc2fd11e4b7"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/wayland/files/0001-wayland-info-Fix-build-without-libdrm.patch b/meta/recipes-graphics/wayland/files/0001-wayland-info-Fix-build-without-libdrm.patch
new file mode 100644
index 0000000000..86c44d4480
--- /dev/null
+++ b/meta/recipes-graphics/wayland/files/0001-wayland-info-Fix-build-without-libdrm.patch
@@ -0,0 +1,42 @@
+From c79a3fb51718c4286b74edf0f758df9219994844 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Wed, 14 Sep 2022 09:07:10 +0200
+Subject: [PATCH] wayland-info: Fix build without libdrm
+
+wayland-info can optionally use libdrm to provide a description of the
+dmabuf format modifiers.
+
+When not using libdrm however, the build fails because "dev_t" is not
+defined.
+
+The definition of "dev_t" comes from <sys/types.h> which is included
+from <libdrm.h>, which is not included without libdrm support, hence the
+build failure.
+
+Simply include <sys/types.h> unconditionally to make sure "dev_t" is
+defined regardless of libdrm support, to fix the build failure.
+
+Closes: https://gitlab.freedesktop.org/wayland/wayland-utils/-/issues/6
+Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
+Fixes: 240cb739 - "Add support for linux_dmabuf version 4"
+Reviewed-by: Simon Ser <contact@emersion.fr>
+Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/wayland-utils/-/commit/baa65ba9f62e6a05c32b9202b524158a21f24245]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ wayland-info/wayland-info.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/wayland-info/wayland-info.c b/wayland-info/wayland-info.c
+index 53cd04b..98ff205 100644
+--- a/wayland-info/wayland-info.c
++++ b/wayland-info/wayland-info.c
+@@ -34,6 +34,7 @@
+ #include <ctype.h>
+ #include <unistd.h>
+ #include <sys/mman.h>
++#include <sys/types.h>
+
+ #include <wayland-client.h>
+ #if HAVE_HUMAN_FORMAT_MODIFIER
diff --git a/meta/recipes-graphics/wayland/libinput_1.19.4.bb b/meta/recipes-graphics/wayland/libinput_1.21.0.bb
index a7d0c4be69..cf59bd81c5 100644
--- a/meta/recipes-graphics/wayland/libinput_1.19.4.bb
+++ b/meta/recipes-graphics/wayland/libinput_1.21.0.bb
@@ -12,11 +12,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bab4ac7dc1c10bc0fb037dc76c46ef8a"
DEPENDS = "libevdev udev mtdev libcheck"
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
+SRC_URI = "git://gitlab.freedesktop.org/libinput/libinput.git;protocol=https;branch=main \
file://run-ptest \
file://determinism.patch \
"
-SRC_URI[sha256sum] = "ff33a570b5a936c81e6c08389a8581c2665311d026ce3d225c88d09c49f9b440"
+SRCREV = "bc363328a704b3c5e0ee2f0fcf088de67c708979"
+S = "${WORKDIR}/git"
UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.26.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.28.bb
index 322f55dc71..2366cc7859 100644
--- a/meta/recipes-graphics/wayland/wayland-protocols_1.26.bb
+++ b/meta/recipes-graphics/wayland/wayland-protocols_1.28.bb
@@ -9,9 +9,8 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- "
-SRC_URI[sha256sum] = "c553384c1c68afd762fa537a2569cc9074fe7600da12d3472761e77a2ba56f13"
+SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
+SRC_URI[sha256sum] = "c7659fb6bf14905e68ef605f898de60d1c066bf66dbea92798573dddec1535b6"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
diff --git a/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb b/meta/recipes-graphics/wayland/wayland-utils_1.1.0.bb
index 4c51f7e8c5..dcee87e2cd 100644
--- a/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb
+++ b/meta/recipes-graphics/wayland/wayland-utils_1.1.0.bb
@@ -9,9 +9,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \
"
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
+ file://0001-wayland-info-Fix-build-without-libdrm.patch \
"
-SRC_URI[sha256sum] = "64fecc4c58e87ae9b302901abe10c2e8af69c7503c221a96ecd0700e0aa268c0"
+SRC_URI[sha256sum] = "9e685863025b4feade36d53bbc8e31b43e26498be743dea84c7a84912959410a"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
diff --git a/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
deleted file mode 100644
index 1ac0695222..0000000000
--- a/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ece4c3d261aeec230869c0304ed1011ff6837c16 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 12 Sep 2020 14:04:04 -0700
-Subject: [PATCH] Fix atomic modesetting with musl
-
-atomic modesetting seems to fail with drm weston backend and this patch fixes
-it, below errors are seen before weston exits
-
-atomic: couldn't commit new state: Invalid argument
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/issues/158]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- libweston/backend-drm/kms.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libweston/backend-drm/kms.c b/libweston/backend-drm/kms.c
-index 780d007..9994da1 100644
---- a/libweston/backend-drm/kms.c
-+++ b/libweston/backend-drm/kms.c
-@@ -1142,8 +1142,8 @@ drm_pending_state_apply_atomic(struct drm_pending_state *pending_state,
- wl_list_for_each(plane, &b->plane_list, link) {
- drm_debug(b, "\t\t[atomic] starting with plane %lu disabled\n",
- (unsigned long) plane->plane_id);
-- plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
-- plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
-+ //plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
-+ //plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
- }
-
- flags |= DRM_MODE_ATOMIC_ALLOW_MODESET;
diff --git a/meta/recipes-graphics/wayland/weston_10.0.1.bb b/meta/recipes-graphics/wayland/weston_11.0.0.bb
index e27dac164e..ba4f4062d0 100644
--- a/meta/recipes-graphics/wayland/weston_10.0.1.bb
+++ b/meta/recipes-graphics/wayland/weston_11.0.0.bb
@@ -13,11 +13,10 @@ SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downlo
file://systemd-notify.weston-start \
"
-SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
-
-SRC_URI[sha256sum] = "8a9e52506a865a7410981b04f8341b89b84106db8531ab1f9fdd37b5dc034115"
+SRC_URI[sha256sum] = "a6138d4dc9554560ac304312df456019f4be025ec79130f05fb5f2e41c091e1d"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
inherit meson pkgconfig useradd
@@ -59,12 +58,8 @@ PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual
PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo"
# Headless Weston
PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
-# Weston on framebuffer
-PACKAGECONFIG[fbdev] = "-Ddeprecated-backend-fbdev=true,-Ddeprecated-backend-fbdev=false,udev mtdev"
# Weston on RDP
PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
-# weston-launch
-PACKAGECONFIG[launch] = "-Ddeprecated-weston-launch=true,-Ddeprecated-weston-launch=false,drm"
# VA-API desktop recorder
PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
# Weston with EGL support
@@ -78,7 +73,7 @@ PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false
# Weston with Xwayland support (requires X11 and Wayland)
PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false"
# colord CMS support
-PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord"
+PACKAGECONFIG[colord] = "-Ddeprecated-color-management-colord=true,-Ddeprecated-color-management-colord=false,colord"
# Clients support
PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
# Virtual remote output with GStreamer on DRM backend
diff --git a/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb b/meta/recipes-graphics/xorg-app/rgb_1.1.0.bb
index db287a5b57..f14da7fd21 100644
--- a/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb
+++ b/meta/recipes-graphics/xorg-app/rgb_1.1.0.bb
@@ -10,7 +10,7 @@ DEPENDS += " xorgproto util-macros"
LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a"
PE = "1"
-SRC_URI[md5sum] = "eab5bbd7642e5c784429307ec210d198"
-SRC_URI[sha256sum] = "bbca7c6aa59939b9f6a0fb9fff15dfd62176420ffd4ae30c8d92a6a125fbe6b0"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "fc03d7f56e5b2a617668167f8927948cce54f93097e7ccd9f056077f479ed37b"
FILES:${PN} += "${datadir}/X11"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.4.bb
index c38dab505b..191987494e 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.4.bb
@@ -10,5 +10,5 @@ driver."
LIC_FILES_CHKSUM = "file://COPYING;md5=90ea9f90d72b6d9327dede5ffdb2a510"
-SRC_URI[md5sum] = "a2104693bbcfe1413397f7905eecd3dc"
-SRC_URI[sha256sum] = "93ecb350604d05be98b7d4e5db3b8155a44890069a7d8d6b800c0bea79c85cc5"
+SRC_URI[sha256sum] = "7f6f8551fc238abdddcf9f38906564c1f8c7dacb0ad947cfc110487aefbd8d4c"
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.2.0.bb
index 5e740037d9..7567b1ef2b 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.2.0.bb
@@ -6,8 +6,9 @@ protocol that is provided by VMware virtual machines to give absolute \
pointer positioning. The vmmouse driver is capable of falling back to the \
standard 'mouse' driver if a VMware virtual machine is not detected."
-SRC_URI[md5sum] = "85e2e464b7219c495ad3a16465c226ed"
-SRC_URI[sha256sum] = "0af558957ac1be1b2863712c2475de8f4d7f14921fd01ded2e2fde4921b19319"
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
+
+SRC_URI[sha256sum] = "56f077580ab8f02e2f40358c5c46b0ae3e1828fc77744526b24adf1ceea339b8"
RDEPENDS:${PN} += "xf86-input-mouse"
diff --git a/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb b/meta/recipes-graphics/xorg-lib/libfontenc_1.1.6.bb
index 1fc74b1995..8f9602d3ae 100644
--- a/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libfontenc_1.1.6.bb
@@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=96254c20ab81c63e65b26f0dbcd4a1c1"
DEPENDS += "zlib xorgproto font-util"
PE = "1"
-SRC_URI[md5sum] = "6447db6a689fb530c218f0f8328c3abc"
-SRC_URI[sha256sum] = "2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079"
+XORG_EXT = "tar.xz"
+
+SRC_URI[sha256sum] = "ea8606ed5255dda8f570b7d1a74d59ee8d198675b2f114d07807431e6ba1d111"
BBCLASSEXTEND = "native"
diff --git a/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb b/meta/recipes-graphics/xorg-lib/libpciaccess_0.17.bb
index d55315efc2..06c30384ab 100644
--- a/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb
+++ b/meta/recipes-graphics/xorg-lib/libpciaccess_0.17.bb
@@ -5,11 +5,8 @@ PCI bus and devices in a platform-independent way."
require xorg-lib-common.inc
-SRC_URI += "\
-"
-
-SRC_URI[md5sum] = "b34e2cbdd6aa8f9cc3fa613fd401a6d6"
-SRC_URI[sha256sum] = "214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489"
+XORG_EXT = "tar.xz"
+SRC_URI[sha256sum] = "74283ba3c974913029e7a547496a29145b07ec51732bbb5b5c58d5025ad95b73"
LICENSE = "MIT & MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068"
diff --git a/meta/recipes-graphics/xorg-lib/libx11/0001-fix-a-memory-leak-in-XRegisterIMInstantiateCallback.patch b/meta/recipes-graphics/xorg-lib/libx11/0001-fix-a-memory-leak-in-XRegisterIMInstantiateCallback.patch
new file mode 100644
index 0000000000..722116c07e
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11/0001-fix-a-memory-leak-in-XRegisterIMInstantiateCallback.patch
@@ -0,0 +1,57 @@
+CVE: CVE-2022-3554
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 1d11822601fd24a396b354fa616b04ed3df8b4ef Mon Sep 17 00:00:00 2001
+From: "Thomas E. Dickey" <dickey@invisible-island.net>
+Date: Tue, 4 Oct 2022 18:26:17 -0400
+Subject: [PATCH] fix a memory leak in XRegisterIMInstantiateCallback
+
+Analysis:
+
+ _XimRegisterIMInstantiateCallback() opens an XIM and closes it using
+ the internal function pointers, but the internal close function does
+ not free the pointer to the XIM (this would be done in XCloseIM()).
+
+Report/patch:
+
+ Date: Mon, 03 Oct 2022 18:47:32 +0800
+ From: Po Lu <luangruo@yahoo.com>
+ To: xorg-devel@lists.x.org
+ Subject: Re: Yet another leak in Xlib
+
+ For reference, here's how I'm calling XRegisterIMInstantiateCallback:
+
+ XSetLocaleModifiers ("");
+ XRegisterIMInstantiateCallback (compositor.display,
+ XrmGetDatabase (compositor.display),
+ (char *) compositor.resource_name,
+ (char *) compositor.app_name,
+ IMInstantiateCallback, NULL);
+
+ and XMODIFIERS is:
+
+ @im=ibus
+
+Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
+---
+ modules/im/ximcp/imInsClbk.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/modules/im/ximcp/imInsClbk.c b/modules/im/ximcp/imInsClbk.c
+index 95b379cb..c10e347f 100644
+--- a/modules/im/ximcp/imInsClbk.c
++++ b/modules/im/ximcp/imInsClbk.c
+@@ -212,6 +212,9 @@ _XimRegisterIMInstantiateCallback(
+ if( xim ) {
+ lock = True;
+ xim->methods->close( (XIM)xim );
++ /* XIMs must be freed manually after being opened; close just
++ does the protocol to deinitialize the IM. */
++ XFree( xim );
+ lock = False;
+ icb->call = True;
+ callback( display, client_data, NULL );
+--
+2.34.1
+
diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.8.1.bb b/meta/recipes-graphics/xorg-lib/libx11_1.8.1.bb
index 1dcc3abee9..9ff196c897 100644
--- a/meta/recipes-graphics/xorg-lib/libx11_1.8.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11_1.8.1.bb
@@ -15,6 +15,7 @@ PE = "1"
SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.xz"
SRC_URI += "file://disable_tests.patch \
+ file://0001-fix-a-memory-leak-in-XRegisterIMInstantiateCallback.patch \
"
SRC_URI[sha256sum] = "1bc41aa1bbe01401f330d76dfa19f386b79c51881c7bbfee9eb4e27f22f2d9f7"
diff --git a/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb b/meta/recipes-graphics/xorg-lib/libxau_1.0.10.bb
index 3fbc3a5b44..a62c9f088a 100644
--- a/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb
+++ b/meta/recipes-graphics/xorg-lib/libxau_1.0.10.bb
@@ -17,8 +17,8 @@ PROVIDES = "xau"
PE = "1"
XORG_PN = "libXau"
+XORG_EXT = "tar.xz"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI[md5sum] = "c5f16288f2da9f071b29111d68797480"
-SRC_URI[sha256sum] = "ccf8cbf0dbf676faa2ea0a6d64bcc3b6746064722b606c8c52917ed00dcb73ec"
+SRC_URI[sha256sum] = "8be6f292334d2f87e5b919c001e149a9fdc27005d6b3e053862ac6ebbf1a0c0a"
diff --git a/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb b/meta/recipes-graphics/xorg-lib/libxext_1.3.5.bb
index a0ba54d184..d4d4119485 100644
--- a/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxext_1.3.5.bb
@@ -11,7 +11,7 @@ extensions."
require xorg-lib-common.inc
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=879ce266785414bd1cbc3bc2f4d9d7c8"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4234bb3b2f1521ea101e4e9db7c33c69"
DEPENDS += "xorgproto virtual/libx11"
PROVIDES = "xext"
@@ -19,8 +19,7 @@ PROVIDES = "xext"
PE = "1"
XORG_PN = "libXext"
-
+XORG_EXT = "tar.xz"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI[md5sum] = "f5b48bb76ba327cd2a8dc7a383532a95"
-SRC_URI[sha256sum] = "59ad6fcce98deaecc14d39a672cf218ca37aba617c9a0f691cac3bcd28edf82b"
+SRC_URI[sha256sum] = "db14c0c895c57ea33a8559de8cb2b93dc76c42ea4a39e294d175938a133d7bca"
diff --git a/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb b/meta/recipes-graphics/xorg-lib/libxfont2_2.0.6.bb
index 10e44c39ba..59d63e7150 100644
--- a/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb
+++ b/meta/recipes-graphics/xorg-lib/libxfont2_2.0.6.bb
@@ -12,10 +12,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c"
DEPENDS += "freetype xtrans xorgproto libfontenc zlib"
XORG_PN = "libXfont2"
+XORG_EXT = "tar.xz"
BBCLASSEXTEND = "native"
-SRC_URI[sha256sum] = "aa7c6f211cf7215c0ab4819ed893dc98034363d7b930b844bb43603c2e10b53e"
+SRC_URI[sha256sum] = "74ca20017eb0fb3f56d8d5e60685f560fc85e5ff3d84c61c4cb891e40c27aef4"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb b/meta/recipes-graphics/xorg-lib/libxft_2.3.6.bb
index 12636914dd..23c7ece3ab 100644
--- a/meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxft_2.3.6.bb
@@ -20,7 +20,8 @@ PROVIDES = "xft"
PE = "1"
-SRC_URI[sha256sum] = "57dedaab20914002146bdae0cb0c769ba3f75214c4c91bd2613d6ef79fc9abdd"
+XORG_EXT = "tar.xz"
+SRC_URI[sha256sum] = "60a6e7319fc938bbb8d098c9bcc86031cc2327b5d086d3335fc5c76323c03022"
XORG_PN = "libXft"
diff --git a/meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb b/meta/recipes-graphics/xorg-lib/libxinerama_1.1.5.bb
index edce35da5d..966edf6792 100644
--- a/meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxinerama_1.1.5.bb
@@ -15,8 +15,7 @@ PROVIDES = "xinerama"
PE = "1"
XORG_PN = "libXinerama"
-
-SRC_URI[md5sum] = "0d5f826a197dae74da67af4a9ef35885"
-SRC_URI[sha256sum] = "0008dbd7ecf717e1e507eed1856ab0d9cf946d03201b85d5dcf61489bb02d720"
+XORG_EXT = "tar.xz"
+SRC_URI[sha256sum] = "5094d1f0fcc1828cb1696d0d39d9e866ae32520c54d01f618f1a3c1e30c2085c"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb b/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.1.bb
index 0fd0e3f47f..17ff588fdb 100644
--- a/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.1.bb
@@ -13,6 +13,5 @@ DEPENDS += "virtual/libx11 xorgproto"
PE = "1"
BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "dd7e1e946def674e78c0efbc5c7d5b3b"
-SRC_URI[sha256sum] = "758dbdaa20add2db4902df0b1b7c936564b7376c02a0acd1f2a331bd334b38c7"
+XORG_EXT = "tar.xz"
+SRC_URI[sha256sum] = "8623dc26e7aac3c5ad8a25e57b566f4324f5619e5db38457f0804ee4ed953443"
diff --git a/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb b/meta/recipes-graphics/xorg-lib/libxmu_1.1.4.bb
index eab3f07512..22632aa5a7 100644
--- a/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxmu_1.1.4.bb
@@ -10,7 +10,7 @@ second library, libXmuu."
require xorg-lib-common.inc
LICENSE = "MIT & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=def3d8e4e9c42004f1941fa22f01dc18"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e79ad4fcc53b9bfe0fc38507a56446b9"
DEPENDS += "libxt libxext"
PROVIDES = "xmu"
@@ -18,6 +18,7 @@ PROVIDES = "xmu"
PE = "1"
XORG_PN = "libXmu"
+XORG_EXT = "tar.xz"
LEAD_SONAME = "libXmu"
@@ -27,8 +28,4 @@ FILES:libxmuu = "${libdir}/libXmuu.so.*"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "ac774cff8b493f566088a255dbf91201"
-SRC_URI[sha256sum] = "9c343225e7c3dc0904f2122b562278da5fed639b1b5e880d25111561bac5b731"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+SRC_URI[sha256sum] = "210de3ab9c3e9382572c25d17c2518a854ce6e2c62c5f8315deac7579e758244"
diff --git a/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb b/meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb
index 35763a5a26..302cc56e86 100644
--- a/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb
+++ b/meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb
@@ -18,7 +18,6 @@ PE = "1"
XORG_PN = "libXrender"
BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI[md5sum] = "802179a76bded0b658f4e9ec5e1830a4"
-SRC_URI[sha256sum] = "c06d5979f86e64cabbde57c223938db0b939dff49fdb5a793a1d3d0396650949"
+XORG_EXT = "tar.xz"
+SRC_URI[sha256sum] = "bc53759a3a83d1ff702fb59641b3d2f7c56e05051fa0cfa93501166fa782dc24"
diff --git a/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb b/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.1.bb
index b0b6cb6b56..be793882dc 100644
--- a/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.1.bb
@@ -15,7 +15,7 @@ EXTRA_OECONF += "--with-shared-memory-dir=/dev/shm"
SRC_URI += "file://0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch"
-SRC_URI[md5sum] = "42dda8016943dc12aff2c03a036e0937"
-SRC_URI[sha256sum] = "b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7"
+XORG_EXT = "tar.xz"
+SRC_URI[sha256sum] = "1129f95147f7bfe6052988a087f1b7cb7122283d2c47a7dbf7135ce0df69b4f8"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb b/meta/recipes-graphics/xorg-lib/libxtst_1.2.4.bb
index ebe9be5b9a..7ed8f3d89d 100644
--- a/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxtst_1.2.4.bb
@@ -15,8 +15,7 @@ PROVIDES = "xtst"
PE = "1"
XORG_PN = "libXtst"
-
-SRC_URI[md5sum] = "ef8c2c1d16a00bd95b9fdcef63b8a2ca"
-SRC_URI[sha256sum] = "4655498a1b8e844e3d6f21f3b2c4e2b571effb5fd83199d428a6ba7ea4bf5204"
+XORG_EXT = "tar.xz"
+SRC_URI[sha256sum] = "84f5f30b9254b4ffee14b5b0940e2622153b0d3aed8286a3c5b7eeb340ca33c8"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb b/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb
index 1612a50f19..a586159ee3 100644
--- a/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb
@@ -15,8 +15,7 @@ DEPENDS += "libxext xorgproto"
PE = "1"
XORG_PN = "libXxf86vm"
-
-SRC_URI[md5sum] = "298b8fff82df17304dfdb5fe4066fe3a"
-SRC_URI[sha256sum] = "afee27f93c5f31c0ad582852c0fb36d50e4de7cd585fcf655e278a633d85cd57"
+XORG_EXT = "tar.xz"
+SRC_URI[sha256sum] = "247fef48b3e0e7e67129e41f1e789e8d006ba47dba1c0cdce684b9b703f888e7"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb b/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
index ccfe277746..d26d7f581a 100644
--- a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb
+++ b/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
@@ -10,8 +10,7 @@ DEPENDS = "zlib"
SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \
file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
"
-SRC_URI[md5sum] = "73858c0862dd9896fb5f62ae267084a4"
-SRC_URI[sha256sum] = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc"
+SRC_URI[sha256sum] = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e"
# see http://cairographics.org/releases/ - only even minor versions are stable
UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb b/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.1.bb
index c6bb5a61cd..018ac913bf 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-image_0.4.1.bb
@@ -9,5 +9,4 @@ LIC_FILES_CHKSUM = "file://image/xcb_image.c;endline=24;md5=eafdf965cfb89955fded
SRC_URI += "file://clang.patch \
"
-SRC_URI[md5sum] = "08fe8ffecc8d4e37c0ade7906b3f4c87"
-SRC_URI[sha256sum] = "2db96a37d78831d643538dd1b595d7d712e04bdccf8896a5e18ce0f398ea2ffc"
+SRC_URI[sha256sum] = "ccad8ee5dadb1271fd4727ad14d9bd77a64e505608766c4e98267d9aede40d3d"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb b/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb
index bca64ed61f..f1a4c3e500 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb
@@ -3,7 +3,6 @@ require xcb-util.inc
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://keysyms/keysyms.c;endline=30;md5=2f8de023ed823bb92f0b47900574ea9e \
"
-SRC_URI[md5sum] = "1022293083eec9e62d5659261c29e367"
-SRC_URI[sha256sum] = "0ef8490ff1dede52b7de533158547f8b454b241aa3e4dcca369507f66f216dd9"
+SRC_URI[sha256sum] = "7c260a5294412aed429df1da2f8afd3bd07b7cba3fec772fba15a613a6d5c638"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb b/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.10.bb
index 25c22e5fa7..6590fa3301 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.9.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-renderutil_0.3.10.bb
@@ -6,5 +6,4 @@ LIC_FILES_CHKSUM = "file://renderutil/glyph.c;endline=24;md5=c517c483b8d726234ec
file://renderutil/xcb_renderutil.h;endline=24;md5=d0ddab3052dd4949c93cfcb0891c96df \
"
-SRC_URI[md5sum] = "468b119c94da910e1291f3ffab91019a"
-SRC_URI[sha256sum] = "c6e97e48fb1286d6394dddb1c1732f00227c70bd1bedb7d1acabefdd340bea5b"
+SRC_URI[sha256sum] = "3e15d4f0e22d8ddbfbb9f5d77db43eacd7a304029bf25a6166cc63caa96d04ba"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb b/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.2.bb
index 39f1383299..65d340f88c 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.1.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util-wm_0.4.2.bb
@@ -7,5 +7,4 @@ LIC_FILES_CHKSUM = "file://ewmh/ewmh.c.m4;endline=27;md5=63fd80552d7dc886f4eb267
file://icccm/xcb_icccm.h;beginline=4;endline=31;md5=393772b7b07b9868d479d538238c1d8a \
"
-SRC_URI[md5sum] = "87b19a1cd7bfcb65a24e36c300e03129"
-SRC_URI[sha256sum] = "28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f"
+SRC_URI[sha256sum] = "62c34e21d06264687faea7edbf63632c9f04d55e72114aa4a57bb95e4f888a0b"
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util.inc b/meta/recipes-graphics/xorg-lib/xcb-util.inc
index 0e5ab70b2d..9898a6a13e 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util.inc
+++ b/meta/recipes-graphics/xorg-lib/xcb-util.inc
@@ -16,7 +16,7 @@ SECTION = "x11/libs"
DEPENDS = "libxcb"
DEPENDS += "gperf-native"
-SRC_URI = "http://xcb.freedesktop.org/dist/${BPN}-${PV}.tar.bz2"
+SRC_URI = "http://xcb.freedesktop.org/dist/${BPN}-${PV}.tar.xz"
inherit autotools pkgconfig features_check
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb b/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb
index 206f07a65c..6d0af2aa23 100644
--- a/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xcb-util_0.4.0.bb
@@ -1,5 +1,7 @@
require xcb-util.inc
+SRC_URI = "http://xcb.freedesktop.org/dist/${BPN}-${PV}.tar.bz2"
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://src/xcb_aux.c;endline=30;md5=ae305b9c2a38f9ba27060191046a6460 \
file://src/xcb_event.h;endline=27;md5=627be355aee59e1b8ade80d5bd90fad9"
diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.37.bb
index 9e6d17c780..f3d9ac9221 100644
--- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb
+++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.37.bb
@@ -13,7 +13,7 @@ LICENSE = "MIT & MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "1f1bb1292a161d520a3485d378609277d108cd07cde0327c16811ff54c3e1595"
+SRC_URI[sha256sum] = "eb1383a5ac4b6210d7c7302b9d6fab052abdf51c5d2c9b55f1f779997ba68c6c"
SECTION = "x11/libs"
DEPENDS = "util-macros libxslt-native"
diff --git a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
index 60bc8c76fa..68137c4147 100644
--- a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
+++ b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
@@ -6,8 +6,9 @@ LICENSE = "MIT"
DEPENDS = "util-macros"
XORG_PN = "${BPN}"
+XORG_EXT ?= "tar.bz2"
-SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.bz2"
+SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.${XORG_EXT}"
S = "${WORKDIR}/${XORG_PN}-${PV}"
diff --git a/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb b/meta/recipes-graphics/xorg-proto/xorgproto_2022.2.bb
index a1e852b9eb..a1cd66c744 100644
--- a/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb
+++ b/meta/recipes-graphics/xorg-proto/xorgproto_2022.2.bb
@@ -8,8 +8,8 @@ SECTION = "x11/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=dfc4bd2b0568b31725b85b0604e69b56"
-SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "1d2dcc66963f234d2c1e1f8d98a0d3e8725149cdac0a263df4097593c48bc2a6"
+SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.xz"
+SRC_URI[sha256sum] = "5d13dbf2be08f95323985de53352c4f352713860457b95ccaf894a647ac06b9e"
inherit meson
diff --git a/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb b/meta/recipes-graphics/xorg-util/makedepend_1.0.7.bb
index 2760edd173..12dea012dc 100644
--- a/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb
+++ b/meta/recipes-graphics/xorg-util/makedepend_1.0.7.bb
@@ -17,5 +17,4 @@ BBCLASSEXTEND = "native"
LIC_FILES_CHKSUM = "file://COPYING;md5=43a6eda34b48ee821b3b66f4f753ce4f"
-SRC_URI[md5sum] = "8a583055c84914060c35b6c2f963fc07"
-SRC_URI[sha256sum] = "845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365"
+SRC_URI[sha256sum] = "17c1adf0284aaee473abfff0e8d3e754770615e1275f2a0043b9d97a00ed5cc9"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index 057a1ba6ad..ecb164ddf7 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -28,6 +28,8 @@ CVE_CHECK_IGNORE += "CVE-2011-4613"
# impossible or difficult to exploit. There is currently no upstream patch
# available for this flaw.
CVE_CHECK_IGNORE += "CVE-2020-25697"
+# This is specific to XQuartz, which is the macOS X server port
+CVE_CHECK_IGNORE += "CVE-2022-3553"
S = "${WORKDIR}/${XORG_PN}-${PV}"
@@ -80,9 +82,9 @@ PACKAGES =+ "${PN}-sdl \
SUMMARY:xf86-video-modesetting = "X.Org X server -- modesetting display driver"
INSANE_SKIP:${MLPREFIX}xf86-video-modesetting = "xorg-driver-abi"
-XSERVER_RRECOMMENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp xf86-input-libinput"
-RRECOMMENDS:${PN} += "${XSERVER_RRECOMMENDS}"
-RRECOMMENDS:${PN}-xwayland += "${XSERVER_RRECOMMENDS}"
+XSERVER_RDEPENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp xf86-input-libinput"
+RDEPENDS:${PN} += "${XSERVER_RDEPENDS}"
+RDEPENDS:${PN}-xwayland += "${XSERVER_RDEPENDS}"
RDEPENDS:${PN}-xvfb += "xkeyboard-config"
RDEPENDS:${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch
new file mode 100644
index 0000000000..0e61ec5953
--- /dev/null
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch
@@ -0,0 +1,63 @@
+CVE: CVE-2022-3551
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 18f91b950e22c2a342a4fbc55e9ddf7534a707d2 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 13 Jul 2022 11:23:09 +1000
+Subject: [PATCH] xkb: fix some possible memleaks in XkbGetKbdByName
+
+GetComponentByName returns an allocated string, so let's free that if we
+fail somewhere.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ xkb/xkb.c | 26 ++++++++++++++++++++------
+ 1 file changed, 20 insertions(+), 6 deletions(-)
+
+diff --git a/xkb/xkb.c b/xkb/xkb.c
+index 4692895db..b79a269e3 100644
+--- a/xkb/xkb.c
++++ b/xkb/xkb.c
+@@ -5935,18 +5935,32 @@ ProcXkbGetKbdByName(ClientPtr client)
+ xkb = dev->key->xkbInfo->desc;
+ status = Success;
+ str = (unsigned char *) &stuff[1];
+- if (GetComponentSpec(&str, TRUE, &status)) /* keymap, unsupported */
+- return BadMatch;
++ {
++ char *keymap = GetComponentSpec(&str, TRUE, &status); /* keymap, unsupported */
++ if (keymap) {
++ free(keymap);
++ return BadMatch;
++ }
++ }
+ names.keycodes = GetComponentSpec(&str, TRUE, &status);
+ names.types = GetComponentSpec(&str, TRUE, &status);
+ names.compat = GetComponentSpec(&str, TRUE, &status);
+ names.symbols = GetComponentSpec(&str, TRUE, &status);
+ names.geometry = GetComponentSpec(&str, TRUE, &status);
+- if (status != Success)
++ if (status == Success) {
++ len = str - ((unsigned char *) stuff);
++ if ((XkbPaddedSize(len) / 4) != stuff->length)
++ status = BadLength;
++ }
++
++ if (status != Success) {
++ free(names.keycodes);
++ free(names.types);
++ free(names.compat);
++ free(names.symbols);
++ free(names.geometry);
+ return status;
+- len = str - ((unsigned char *) stuff);
+- if ((XkbPaddedSize(len) / 4) != stuff->length)
+- return BadLength;
++ }
+
+ CHK_MASK_LEGAL(0x01, stuff->want, XkbGBN_AllComponentsMask);
+ CHK_MASK_LEGAL(0x02, stuff->need, XkbGBN_AllComponentsMask);
+--
+2.34.1
+
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-proof-GetCountedString-against-request-length-at.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-proof-GetCountedString-against-request-length-at.patch
new file mode 100644
index 0000000000..6f862e82f9
--- /dev/null
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-proof-GetCountedString-against-request-length-at.patch
@@ -0,0 +1,38 @@
+CVE: CVE-2022-3550
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 11beef0b7f1ed290348e45618e5fa0d2bffcb72e Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 5 Jul 2022 12:06:20 +1000
+Subject: [PATCH] xkb: proof GetCountedString against request length attacks
+
+GetCountedString did a check for the whole string to be within the
+request buffer but not for the initial 2 bytes that contain the length
+field. A swapped client could send a malformed request to trigger a
+swaps() on those bytes, writing into random memory.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ xkb/xkb.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/xkb/xkb.c b/xkb/xkb.c
+index f42f59ef3..1841cff26 100644
+--- a/xkb/xkb.c
++++ b/xkb/xkb.c
+@@ -5137,6 +5137,11 @@ _GetCountedString(char **wire_inout, ClientPtr client, char **str)
+ CARD16 len;
+
+ wire = *wire_inout;
++
++ if (client->req_len <
++ bytes_to_int32(wire + 2 - (char *) client->requestBuffer))
++ return BadValue;
++
+ len = *(CARD16 *) wire;
+ if (client->swapped) {
+ swaps(&len);
+--
+2.34.1
+
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb
index b9cbc9989e..aba09afec3 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb
@@ -2,6 +2,8 @@ require xserver-xorg.inc
SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \
file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \
+ file://0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch \
+ file://0001-xkb-proof-GetCountedString-against-request-length-at.patch \
"
SRC_URI[sha256sum] = "5cc4be8ee47edb58d4a90e603a59d56b40291ad38371b0bd2471fc3cbee1c587"
diff --git a/meta/recipes-graphics/xwayland/xwayland_22.1.3.bb b/meta/recipes-graphics/xwayland/xwayland_22.1.5.bb
index da1b27525d..c1c5407dee 100644
--- a/meta/recipes-graphics/xwayland/xwayland_22.1.3.bb
+++ b/meta/recipes-graphics/xwayland/xwayland_22.1.5.bb
@@ -10,7 +10,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz"
-SRC_URI[sha256sum] = "a712eb7bce32cd934df36814b5dd046aa670899c16fe98f2afb003578f86a1c5"
+SRC_URI[sha256sum] = "e317ac1f119f8321654921761420901e4abd95585a8c763ce26af3b045ac1672"
UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"