diff options
Diffstat (limited to 'meta/recipes-graphics/mesa/files')
10 files changed, 219 insertions, 204 deletions
diff --git a/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch b/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch new file mode 100644 index 0000000000..1711e22585 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch @@ -0,0 +1,53 @@ +From 051f41beda540f0ae77b341db01a6de83c9e938a Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Fri, 8 Mar 2024 15:53:11 +0100 +Subject: [PATCH] Revert "meson: do not pull in clc for clover" + +This reverts commit 815a6647eb1383e9dc704ffcc266d85f3b13338a. +Upstream-Status: Inappropriate [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27783/diffs?commit_id=a976f2c9f0c07f9e06cc9affd9124b45bc60c2bd] + +Once the merge request above was added, it will only be possible to provide opencl spir-v with gallium-rusticl=true. This is not yet supported in the mesa recipe. +For now reverting this commit allows to still use clover with opencl-spirv, which would otherwise be broken starting from mesa 24.0.2. + +After it was merged, this patch needs to be removed and rusticl support will be required + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +--- + meson.build | 3 ++- + src/compiler/meson.build | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 2db6185..741b5d1 100644 +--- a/meson.build ++++ b/meson.build +@@ -813,6 +813,7 @@ if _opencl != 'disabled' + error('The Clover OpenCL state tracker requires rtti') + endif + ++ with_clc = true + with_gallium_opencl = true + with_opencl_icd = _opencl == 'icd' + else +@@ -837,7 +838,7 @@ if with_gallium_rusticl + endif + + dep_clc = null_dep +-if with_gallium_opencl or with_clc ++if with_clc + dep_clc = dependency('libclc') + endif + +diff --git a/src/compiler/meson.build b/src/compiler/meson.build +index 8d73544..1dae56d 100644 +--- a/src/compiler/meson.build ++++ b/src/compiler/meson.build +@@ -79,7 +79,7 @@ subdir('nir') + + subdir('spirv') + +-if with_clc ++if with_opencl_spirv + subdir('clc') + endif + if with_gallium diff --git a/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch b/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch deleted file mode 100644 index 1c2ded0e60..0000000000 --- a/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 81bcaa1aeecf1e66b4d94181e9a827d68e970b03 Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Wed, 20 Feb 2019 16:17:00 -0300 -Subject: [PATCH 1/5] Simplify wayland-scanner lookup -Organization: O.S. Systems Software LTDA. - -Don't use pkg-config to lookup the path of a binary that's in the path. - -Alternatively we'd have to prefix the path returned by pkg-config with -PKG_CONFIG_SYSROOT_DIR. - -Upstream-Status: Pending -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> ---- - configure.ac | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index cd9ff259fad..402b4a91946 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1841,16 +1841,11 @@ for plat in $platforms; do - fi - WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` - -- PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], -- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, -- WAYLAND_SCANNER='') - PKG_CHECK_EXISTS([wayland-scanner >= 1.15], - AC_SUBST(SCANNER_ARG, 'private-code'), - AC_SUBST(SCANNER_ARG, 'code')) - -- if test "x$WAYLAND_SCANNER" = x; then -- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) -- fi -+ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) - - if test "x$WAYLAND_SCANNER" = "x:"; then - AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform]) --- -2.20.1 diff --git a/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch b/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch new file mode 100644 index 0000000000..ab16152090 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch @@ -0,0 +1,58 @@ +From 4bd15a419e892da843489c374c58c5b29c40b5d6 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@smile.fr> +Date: Tue, 6 Feb 2024 09:47:09 +0100 +Subject: [PATCH 1/2] drisw: fix build without dri3 + +commit 1887368df41 ("glx/sw: check for modifier support in the kopper path") +added dri3_priv.h header and dri3_check_multibuffer() function in drisw that +can be build without dri3. + + i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver': + drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer' + collect2: error: ld returned 1 exit status + +Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using +dri3_check_multibuffer(). + +Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path") + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478] +Signed-off-by: Romain Naour <romain.naour@smile.fr> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/glx/drisw_glx.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c +index 3d3f752..4b19e2d 100644 +--- a/src/glx/drisw_glx.c ++++ b/src/glx/drisw_glx.c +@@ -32,7 +32,9 @@ + #include <dlfcn.h> + #include "dri_common.h" + #include "drisw_priv.h" ++#ifdef HAVE_DRI3 + #include "dri3_priv.h" ++#endif + #include <X11/extensions/shmproto.h> + #include <assert.h> + #include <vulkan/vulkan_core.h> +@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, + goto handle_error; + } + ++#ifdef HAVE_DRI3 + if (pdpyp->zink) { + bool err; + psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err); +@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, + goto handle_error; + } + } ++#endif + + glx_config_destroy_list(psc->base.configs); + psc->base.configs = configs; +-- +2.44.0 + 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 new file mode 100644 index 0000000000..baa98a0d46 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch @@ -0,0 +1,24 @@ +From 02cc21800fe29f566add525e63f619c0536d6e7b 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 + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/util/u_atomic.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c +index 5a5eab4..e499516 100644 +--- a/src/util/u_atomic.c ++++ b/src/util/u_atomic.c +@@ -21,7 +21,7 @@ + * IN THE SOFTWARE. + */ + +-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD) ++#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD) + + #include <stdint.h> + #include <pthread.h> 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 new file mode 100644 index 0000000000..7be7d81eeb --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -0,0 +1,42 @@ +From e8ec6b1cc5e401ba719095722d8b317d755ae613 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 + +Make sure that we are also looking for our host_os combinations like +linux-musl etc. when assuming support for DRM/KMS. + +Also delete a duplicate line. + +Upstream-Status: Pending + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +Signed-off-by: Alistair Francis <alistair@alistair23.me> +--- + meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 133fd9a..817861e 100644 +--- a/meson.build ++++ b/meson.build +@@ -128,7 +128,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 + +-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system()) ++system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux') + + gallium_drivers = get_option('gallium-drivers') + if gallium_drivers.contains('auto') +@@ -997,7 +997,7 @@ if cc.has_function('fmemopen') + endif + + # TODO: this is very incomplete +-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system()) ++if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux') + pre_args += '-D_GNU_SOURCE' + elif host_machine.system() == 'sunos' + pre_args += '-D__EXTENSIONS__' diff --git a/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch b/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch new file mode 100644 index 0000000000..036a0b4945 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch @@ -0,0 +1,42 @@ +From 62495ebb977866c52d5bed8499a547c49f0d9bc1 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@smile.fr> +Date: Tue, 6 Feb 2024 09:47:10 +0100 +Subject: [PATCH 2/2] glxext: don't try zink if not enabled in mesa + +Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") +added an automatic zink fallback even when the zink gallium is not +enabled at build time. + +It leads to unexpected error log while loading drisw driver and +zink is not installed on the rootfs: + + MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so + +Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478] +Signed-off-by: Romain Naour <romain.naour@smile.fr> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/glx/glxext.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/glx/glxext.c b/src/glx/glxext.c +index 05c825a..7a06aa9 100644 +--- a/src/glx/glxext.c ++++ b/src/glx/glxext.c +@@ -908,9 +908,11 @@ __glXInitialize(Display * dpy) + #endif /* HAVE_DRI3 */ + if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false)) + dpyPriv->dri2Display = dri2CreateDisplay(dpy); ++#if defined(HAVE_ZINK) + if (!dpyPriv->dri3Display && !dpyPriv->dri2Display) + try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) && + !getenv("GALLIUM_DRIVER"); ++#endif /* HAVE_ZINK */ + } + #endif /* GLX_USE_DRM */ + if (glx_direct) +-- +2.44.0 + diff --git a/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch b/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch deleted file mode 100644 index 12dca61e19..0000000000 --- a/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 34c3d07b67e6c08f555473a86ff158951abb6000 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 16 Aug 2017 18:58:20 -0700 -Subject: [PATCH 2/5] winsys/svga/drm: Include sys/types.h -Organization: O.S. Systems Software LTDA. - -vmw_screen.h uses dev_t which is defines in sys/types.h -this header is required to be included for getting dev_t -definition. This issue happens on musl C library, it is hidden -on glibc since sys/types.h is included through another -system headers - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [7dfdfbf8c37e52e7b9b09f7d1d434edad3ebc864] -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> ---- - src/gallium/winsys/svga/drm/vmw_screen.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h -index a87c087d9c5..cb34fec48e7 100644 ---- a/src/gallium/winsys/svga/drm/vmw_screen.h -+++ b/src/gallium/winsys/svga/drm/vmw_screen.h -@@ -41,6 +41,7 @@ - #include "svga_winsys.h" - #include "pipebuffer/pb_buffer_fenced.h" - #include <os/os_thread.h> -+#include <sys/types.h> - - #define VMW_GMR_POOL_SIZE (16*1024*1024) - #define VMW_QUERY_POOL_SIZE (8192) --- -2.20.1 - diff --git a/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch b/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch deleted file mode 100644 index 59b118d9f4..0000000000 --- a/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c5b5bf6c31be1823be1d0317eabe16558a4f0762 Mon Sep 17 00:00:00 2001 -From: Otavio Salvador <otavio@ossystems.com.br> -Date: Tue, 5 Jun 2018 11:11:10 -0300 -Subject: [PATCH 3/5] Properly get LLVM version when using LLVM Git releases -Organization: O.S. Systems Software LTDA. - -$ llvm-config-host --version -5.0.0git-9a5c333388c - -We need to ignore everything after 5.0.0 which is what the cut cmd is -doing - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index cbc455e130f..0065376f4b7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1111,7 +1111,7 @@ strip_unwanted_llvm_flags() { - - llvm_set_environment_variables() { - if test "x$LLVM_CONFIG" != xno; then -- LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'` -+ LLVM_VERSION=`$LLVM_CONFIG --version | cut -c1-5` - LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"` - LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir` - LLVM_LIBDIR=`$LLVM_CONFIG --libdir` -@@ -2860,7 +2860,7 @@ detect_old_buggy_llvm() { - dnl ourselves. - dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) - dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, -- LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` -+ LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version | cut -c1-5` - AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes]) - - if test "x$llvm_have_one_so" = xyes; then --- -2.20.1 - diff --git a/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch b/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch deleted file mode 100644 index 8c91790249..0000000000 --- a/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f48b8f073f921ce5be859130313e9d392ef3e78e Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Fri, 15 Feb 2019 10:57:06 -0200 -Subject: [PATCH 4/5] use PKG_CHECK_VAR for defining WAYLAND_PROTOCOLS_DATADIR -Organization: O.S. Systems Software LTDA. - -This allows to override the wayland-protocols pkgdatadir with the -WAYLAND_PROTOCOLS_DATADIR from environment. - -pkgconfig would return an absolute path in -/usr/share/wayland-protocols -for the pkgdatadir value, which is not suitable for cross-compiling. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0065376f4b7..b21fb2210c6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1839,7 +1839,7 @@ for plat in $platforms; do - if test "x$enable_egl" = xyes; then - PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl-backend >= $WAYLAND_EGL_BACKEND_REQUIRED]) - fi -- WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` -+ PKG_CHECK_VAR([WAYLAND_PROTOCOLS_DATADIR], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], pkgdatadir) - - PKG_CHECK_EXISTS([wayland-scanner >= 1.15], - AC_SUBST(SCANNER_ARG, 'private-code'), diff --git a/meta/recipes-graphics/mesa/files/0005-egl-add-missing-include-stddef.h-in-egldevice.h.patch b/meta/recipes-graphics/mesa/files/0005-egl-add-missing-include-stddef.h-in-egldevice.h.patch deleted file mode 100644 index 1782576db2..0000000000 --- a/meta/recipes-graphics/mesa/files/0005-egl-add-missing-include-stddef.h-in-egldevice.h.patch +++ /dev/null @@ -1,49 +0,0 @@ -From f452e30ab664fe608acc107cc03d2efa8731d938 Mon Sep 17 00:00:00 2001 -From: Gurchetan Singh <gurchetansingh@chromium.org> -Date: Wed, 28 Nov 2018 08:39:34 -0800 -Subject: [PATCH 5/5] egl: add missing #include <stddef.h> in egldevice.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Organization: O.S. Systems Software LTDA. - -Otherwise, I get this error: - -main/egldevice.h:54:13: error: ‘NULL’ undeclared (first use in this function) - dev = NULL; - ^~~~ -with this config: - -./autogen.sh --enable-gles1 --enable-gles2 --with-platforms='surfaceless' --disable-glx - --with-dri-drivers="i965" --with-gallium-drivers="" --enable-gbm - -v3: Use stddef.h (Matt) -v4: Modify commit message (Eric) - -Reviewed-by: Matt Turner <mattst88@gmail.com> -Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> - -Upstream-Status: Backport [https://cgit.freedesktop.org/mesa/mesa/commit/?id=eb44c36cf1729e7e200b77cf8ea755dff72d1639] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/egl/main/egldevice.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/egl/main/egldevice.h b/src/egl/main/egldevice.h -index ddcdcd17f5a..83a47d5eacc 100644 ---- a/src/egl/main/egldevice.h -+++ b/src/egl/main/egldevice.h -@@ -31,9 +31,9 @@ - - - #include <stdbool.h> -+#include <stddef.h> - #include "egltypedefs.h" - -- - #ifdef __cplusplus - extern "C" { - #endif --- -2.20.1 - |