From ab621df9f52afbe91cbe2c7b1fccf22baeaa64fd Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Fri, 15 Dec 2023 14:37:36 +0100 Subject: mesa: upgrade 23.2.1 -> 23.3.1 - build amd vulkan driver for x86 platforms - drop included patch [https://gitlab.freedesktop.org/mesa/mesa/-/blob/1fbdd37d4c1133ced5eb9812daa1fff04cbf5daa/meson.build#L1711] (From OE-Core rev: 9d862e82a3d36ae27dc9fc919da203d200a67650) Signed-off-by: Lucas Stach Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- ...isable-cmake-dependency-detector-for-llvm.patch | 42 ---------------------- meta/recipes-graphics/mesa/mesa-gl_23.2.1.bb | 15 -------- meta/recipes-graphics/mesa/mesa-gl_23.3.1.bb | 15 ++++++++ meta/recipes-graphics/mesa/mesa.inc | 9 +++-- meta/recipes-graphics/mesa/mesa_23.2.1.bb | 2 -- meta/recipes-graphics/mesa/mesa_23.3.1.bb | 2 ++ 6 files changed, 21 insertions(+), 64 deletions(-) delete mode 100644 meta/recipes-graphics/mesa/files/0001-meson-Disable-cmake-dependency-detector-for-llvm.patch delete mode 100644 meta/recipes-graphics/mesa/mesa-gl_23.2.1.bb create mode 100644 meta/recipes-graphics/mesa/mesa-gl_23.3.1.bb delete mode 100644 meta/recipes-graphics/mesa/mesa_23.2.1.bb create mode 100644 meta/recipes-graphics/mesa/mesa_23.3.1.bb (limited to 'meta/recipes-graphics/mesa') diff --git a/meta/recipes-graphics/mesa/files/0001-meson-Disable-cmake-dependency-detector-for-llvm.patch b/meta/recipes-graphics/mesa/files/0001-meson-Disable-cmake-dependency-detector-for-llvm.patch deleted file mode 100644 index 4cded0546d..0000000000 --- a/meta/recipes-graphics/mesa/files/0001-meson-Disable-cmake-dependency-detector-for-llvm.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 00d41cd5aa3f4b494dc276c9b4ccdc096310c91f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 28 Sep 2023 15:34:22 -0700 -Subject: [PATCH] meson: use llvm-config instead of cmake to fix linking errors with meson 1.2.1 - -meson dependency auto dependency detection uses cmake and then -config-tool to process dependencies, in mesa the logic to detect llvm is -using auto detection which means if it finds cmake then it will try to -use cmake method. Cmake method works ok except a case when llvm-dev -package is installed on the build host then it generates its own -native.meson file and ignores OE supplied meson.native file which has -correct llvm-config tool specified which is pointing to llvm-config from -native sysroot. The generated meson.native file points to one found in -/usr/bin and there onwards detector finds native install of llvm and -configures that into building native mesa package. - -Since cmake detector does not always work, disable it by default and use -config-tool which works in all cases. This is suggested in below issues -too - -A similar issue is open in meson upstream [1] and mesa [2] - -[1] https://github.com/mesonbuild/meson/issues/10483 -[2] https://gitlab.freedesktop.org/mesa/mesa/-/issues/6738 - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25438] - -Signed-off-by: Khem Raj ---- - meson.build | 1 + - 1 file changed, 1 insertion(+) - ---- a/meson.build -+++ b/meson.build -@@ -1659,6 +1659,7 @@ with_llvm = false - if _llvm.allowed() - dep_llvm = dependency( - 'llvm', -+ method : host_machine.system() == 'windows' ? 'auto' : 'config-tool', - version : _llvm_version, - modules : llvm_modules, - optional_modules : llvm_optional_modules, diff --git a/meta/recipes-graphics/mesa/mesa-gl_23.2.1.bb b/meta/recipes-graphics/mesa/mesa-gl_23.2.1.bb deleted file mode 100644 index ca160f1bfc..0000000000 --- a/meta/recipes-graphics/mesa/mesa-gl_23.2.1.bb +++ /dev/null @@ -1,15 +0,0 @@ -require mesa.inc - -SUMMARY += " (OpenGL only, no EGL/GLES)" - -PROVIDES = "virtual/libgl virtual/mesa" - -S = "${WORKDIR}/mesa-${PV}" - -TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" - -# At least one DRI rendering engine is required to build mesa. -# When no X11 is available, use osmesa for the rendering engine. -PACKAGECONFIG ??= "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" -PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" - diff --git a/meta/recipes-graphics/mesa/mesa-gl_23.3.1.bb b/meta/recipes-graphics/mesa/mesa-gl_23.3.1.bb new file mode 100644 index 0000000000..ca160f1bfc --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-gl_23.3.1.bb @@ -0,0 +1,15 @@ +require mesa.inc + +SUMMARY += " (OpenGL only, no EGL/GLES)" + +PROVIDES = "virtual/libgl virtual/mesa" + +S = "${WORKDIR}/mesa-${PV}" + +TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" + +# At least one DRI rendering engine is required to build mesa. +# When no X11 is available, use osmesa for the rendering engine. +PACKAGECONFIG ??= "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" +PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" + diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index e5c405a972..5f5c8ceb4c 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -18,10 +18,9 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ file://0001-gallium-Fix-build-with-llvm-17.patch \ - file://0001-meson-Disable-cmake-dependency-detector-for-llvm.patch \ " -SRC_URI[sha256sum] = "64de0616fc2d801f929ab1ac2a4f16b3e2783c4309a724c8a259b20df8bbc1cc" +SRC_URI[sha256sum] = "6e48126d70fdb3f20ffeb246ca0c2e41ffdc835f0663a03d4526b8bf5db41de6" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" @@ -105,10 +104,10 @@ PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence" # Vulkan drivers need dri3 enabled # amd could be enabled as well but requires gallium-llvm with llvm >= 3.9 VULKAN_DRIVERS = "" -VULKAN_DRIVERS:append:x86 = ",intel" -VULKAN_DRIVERS:append:x86-64 = ",intel" +VULKAN_DRIVERS:append:x86 = ",intel,amd" +VULKAN_DRIVERS:append:x86-64 = ",intel,amd" # i686 is a 32 bit override for mesa-native -VULKAN_DRIVERS:append:i686 = ",intel" +VULKAN_DRIVERS:append:i686 = ",intel,amd" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}" diff --git a/meta/recipes-graphics/mesa/mesa_23.2.1.bb b/meta/recipes-graphics/mesa/mesa_23.2.1.bb deleted file mode 100644 index 96e8aa38d6..0000000000 --- a/meta/recipes-graphics/mesa/mesa_23.2.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -require ${BPN}.inc - diff --git a/meta/recipes-graphics/mesa/mesa_23.3.1.bb b/meta/recipes-graphics/mesa/mesa_23.3.1.bb new file mode 100644 index 0000000000..96e8aa38d6 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa_23.3.1.bb @@ -0,0 +1,2 @@ +require ${BPN}.inc + -- cgit v1.2.3-54-g00ecf