From 7513c1cde2f99ed0293c7ed8c6ec590533dd877f Mon Sep 17 00:00:00 2001 From: Juergen Daubert Date: Fri, 20 Dec 2024 13:40:07 +0100 Subject: [PATCH] mesa: updated to version 24.3.2 --- mesa/.footprint | 2 +- mesa/.signature | 11 ++- ...X11-modifiers-if-we-don-t-support-th.patch | 41 ----------- ...-supply-LINEAR-modifier-when-support.patch | 69 ------------------- ...back-to-implicit-modifiers-if-advert.patch | 60 ---------------- mesa/Pkgfile | 13 +--- 6 files changed, 8 insertions(+), 188 deletions(-) delete mode 100644 mesa/0001-dri-don-t-fetch-X11-modifiers-if-we-don-t-support-th.patch delete mode 100644 mesa/0002-egl-wayland-only-supply-LINEAR-modifier-when-support.patch delete mode 100644 mesa/0003-egl-wayland-fallback-to-implicit-modifiers-if-advert.patch diff --git a/mesa/.footprint b/mesa/.footprint index d2db5742..9acc9810 100644 --- a/mesa/.footprint +++ b/mesa/.footprint @@ -36,7 +36,7 @@ lrwxrwxrwx root/root usr/lib/libGLX_mesa.so.0 -> libGLX_mesa.so.0.0.0 lrwxrwxrwx root/root usr/lib/libOSMesa.so -> libOSMesa.so.8 lrwxrwxrwx root/root usr/lib/libOSMesa.so.8 -> libOSMesa.so.8.0.0 -rwxr-xr-x root/root usr/lib/libOSMesa.so.8.0.0 --rwxr-xr-x root/root usr/lib/libgallium-24.3.1-2.so +-rwxr-xr-x root/root usr/lib/libgallium-24.3.2-1.so lrwxrwxrwx root/root usr/lib/libgbm.so -> libgbm.so.1 lrwxrwxrwx root/root usr/lib/libgbm.so.1 -> libgbm.so.1.0.0 -rwxr-xr-x root/root usr/lib/libgbm.so.1.0.0 diff --git a/mesa/.signature b/mesa/.signature index 1533ca00..8f017073 100644 --- a/mesa/.signature +++ b/mesa/.signature @@ -1,8 +1,5 @@ untrusted comment: verify with /etc/ports/xorg.pub -RWTSGWF5Q7TndFG+NoKanWP//hE8uh7h/TDRNq34kZXMqYKLWfN1cT2DJdHOiBp+QnHQverI4MS24uEuf7I5fsKUjCRD2I9+DAQ= -SHA256 (Pkgfile) = 88f464207f96429eecb26b9e12682be44e5d04aa21e867d6e104ec3ec66563fe -SHA256 (.footprint) = a276b5ad90f8d412fa6228d226dc3d1f86378fccd21c740d425aa6e1e563cfb7 -SHA256 (mesa-24.3.1.tar.xz) = 9c795900449ce5bc7c526ba0ab3532a22c3c951cab7e0dd9de5fcac41b0843af -SHA256 (0001-dri-don-t-fetch-X11-modifiers-if-we-don-t-support-th.patch) = 2c20fee505be9a1f08546b63457b8378b0f1fcff58e60c03378b7de0a87a1e81 -SHA256 (0002-egl-wayland-only-supply-LINEAR-modifier-when-support.patch) = a58e6d0631da6dd077530136bb44f0233cd279fc75e3b65b495ec90be16db91a -SHA256 (0003-egl-wayland-fallback-to-implicit-modifiers-if-advert.patch) = 606acb4073f46c7ca7edec96b6af06619642f3bbcd6afab2c57bff26266b917f +RWTSGWF5Q7TndCudb2ceN7+zrzQ9AWdQzFltxo5f5MzfYX0nIqC5UOx+RqFu958R6YiDWLlYls+vc5/cbPadhNqJ356gVKZ1BwQ= +SHA256 (Pkgfile) = 5b0458423570dacc51921b9f123e37f41bc3024d73944928b7360b497e73f3b4 +SHA256 (.footprint) = 2053ba4142f14fb9a2a6a513958844493ab02b56f81fcc29721f46758495ebe4 +SHA256 (mesa-24.3.2.tar.xz) = ad9f5f3a6d2169e4786254ee6eb5062f746d11b826739291205d360f1f3ff716 diff --git a/mesa/0001-dri-don-t-fetch-X11-modifiers-if-we-don-t-support-th.patch b/mesa/0001-dri-don-t-fetch-X11-modifiers-if-we-don-t-support-th.patch deleted file mode 100644 index a5800354..00000000 --- a/mesa/0001-dri-don-t-fetch-X11-modifiers-if-we-don-t-support-th.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Simon Ser -Date: Sat, 7 Dec 2024 13:10:04 +0100 -Subject: [PATCH] dri: don't fetch X11 modifiers if we don't support them - -If we supply modifiers to dri_create_image_with_modifiers() and -the driver doesn't support them, the function will fail. The X11 -server always supports implicit modifiers so we can always fall -back to that. - -Signed-off-by: Simon Ser -Fixes: 4c065158927d ("dri: revert INVALID modifier special-casing") ---- - src/gallium/frontends/dri/loader_dri3_helper.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/gallium/frontends/dri/loader_dri3_helper.c b/src/gallium/frontends/dri/loader_dri3_helper.c -index 268ec3d86c8a..e1f51619c5fa 100644 ---- a/src/gallium/frontends/dri/loader_dri3_helper.c -+++ b/src/gallium/frontends/dri/loader_dri3_helper.c -@@ -36,9 +36,11 @@ - - #include "loader_dri_helper.h" - #include "loader_dri3_helper.h" -+#include "pipe/p_screen.h" - #include "util/macros.h" - #include "util/simple_mtx.h" - #include "drm-uapi/drm_fourcc.h" -+#include "dri_screen.h" - #include "dri_util.h" - - /** -@@ -1401,7 +1403,7 @@ dri3_alloc_render_buffer(struct loader_dri3_drawable *draw, unsigned int fourcc, - - if (draw->dri_screen_render_gpu == draw->dri_screen_display_gpu) { - #ifdef HAVE_X11_DRM -- if (draw->multiplanes_available) { -+ if (draw->multiplanes_available && draw->dri_screen_render_gpu->base.screen->resource_create_with_modifiers) { - xcb_dri3_get_supported_modifiers_cookie_t mod_cookie; - xcb_dri3_get_supported_modifiers_reply_t *mod_reply; - xcb_generic_error_t *error = NULL; diff --git a/mesa/0002-egl-wayland-only-supply-LINEAR-modifier-when-support.patch b/mesa/0002-egl-wayland-only-supply-LINEAR-modifier-when-support.patch deleted file mode 100644 index 526c6347..00000000 --- a/mesa/0002-egl-wayland-only-supply-LINEAR-modifier-when-support.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Simon Ser -Date: Sat, 7 Dec 2024 13:12:40 +0100 -Subject: [PATCH] egl/wayland: only supply LINEAR modifier when supported - -If we supply modifiers to dri_create_image_with_modifiers() and -the driver doesn't support them, the function will fail. We pass -__DRI_IMAGE_USE_LINEAR anyways so stripping the modifier is fine. - -Signed-off-by: Simon Ser -Fixes: 4c065158927d ("dri: revert INVALID modifier special-casing") ---- - src/egl/drivers/dri2/platform_wayland.c | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c -index 513d2d0709b1..472665a36b0d 100644 ---- a/src/egl/drivers/dri2/platform_wayland.c -+++ b/src/egl/drivers/dri2/platform_wayland.c -@@ -45,11 +45,13 @@ - #include "util/u_vector.h" - #include "util/format/u_formats.h" - #include "main/glconfig.h" -+#include "pipe/p_screen.h" - #include "egl_dri2.h" - #include "eglglobals.h" - #include "kopper_interface.h" - #include "loader.h" - #include "loader_dri_helper.h" -+#include "dri_screen.h" - #include "dri_util.h" - #include - -@@ -1193,14 +1195,25 @@ get_back_bo(struct dri2_egl_surface *dri2_surf) - if (dri2_dpy->fd_render_gpu != dri2_dpy->fd_display_gpu && - dri2_surf->back->linear_copy == NULL) { - uint64_t linear_mod = DRM_FORMAT_MOD_LINEAR; -+ const uint64_t *render_modifiers = NULL, *display_modifiers = NULL; -+ unsigned int render_num_modifiers = 0, display_num_modifiers = 0; - struct dri_image *linear_copy_display_gpu_image = NULL; - -+ if (dri2_dpy->dri_screen_render_gpu->base.screen->resource_create_with_modifiers) { -+ render_modifiers = &linear_mod; -+ render_num_modifiers = 1; -+ } -+ if (dri2_dpy->dri_screen_display_gpu->base.screen->resource_create_with_modifiers) { -+ display_modifiers = &linear_mod; -+ display_num_modifiers = 1; -+ } -+ - if (dri2_dpy->dri_screen_display_gpu) { - linear_copy_display_gpu_image = dri_create_image_with_modifiers( - dri2_dpy->dri_screen_display_gpu, - dri2_surf->base.Width, dri2_surf->base.Height, - linear_pipe_format, use_flags | __DRI_IMAGE_USE_LINEAR, -- &linear_mod, 1, NULL); -+ display_modifiers, display_num_modifiers, NULL); - - if (linear_copy_display_gpu_image) { - int i, ret = 1; -@@ -1285,7 +1298,7 @@ get_back_bo(struct dri2_egl_surface *dri2_surf) - dri2_dpy->dri_screen_render_gpu, - dri2_surf->base.Width, dri2_surf->base.Height, - linear_pipe_format, use_flags | __DRI_IMAGE_USE_LINEAR, -- &linear_mod, 1, NULL); -+ render_modifiers, render_num_modifiers, NULL); - } - - if (dri2_surf->back->linear_copy == NULL) diff --git a/mesa/0003-egl-wayland-fallback-to-implicit-modifiers-if-advert.patch b/mesa/0003-egl-wayland-fallback-to-implicit-modifiers-if-advert.patch deleted file mode 100644 index 72a79081..00000000 --- a/mesa/0003-egl-wayland-fallback-to-implicit-modifiers-if-advert.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Simon Ser -Date: Sat, 7 Dec 2024 13:15:57 +0100 -Subject: [PATCH] egl/wayland: fallback to implicit modifiers if advertised by - compositor - -The Wayland protocol defines INVALID as a special marker indicating -that implicit modifiers are supported. If the driver doesn't support -explicit modifiers and the compositor advertises support for implicit -modifiers, fallback to these. - -This effectively restores logic removed in 4c065158927d, but only -for the specific case of Wayland instead of affecting all APIs. -(Wayland is one of the few APIs defining a special meaning for -INVALID.) - -Signed-off-by: Simon Ser -Fixes: 4c065158927d ("dri: revert INVALID modifier special-casing") ---- - src/egl/drivers/dri2/platform_wayland.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c -index 472665a36b0d..2406bc18b744 100644 ---- a/src/egl/drivers/dri2/platform_wayland.c -+++ b/src/egl/drivers/dri2/platform_wayland.c -@@ -1010,6 +1010,7 @@ create_dri_image(struct dri2_egl_surface *dri2_surf, - uint64_t *modifiers; - unsigned int num_modifiers; - struct u_vector *modifiers_present; -+ bool implicit_mod_supported; - - assert(visual_idx != -1); - -@@ -1049,6 +1050,25 @@ create_dri_image(struct dri2_egl_surface *dri2_surf, - num_modifiers = u_vector_length(modifiers_present); - } - -+ if (!dri2_dpy->dri_screen_render_gpu->base.screen->resource_create_with_modifiers) { -+ /* We don't support explicit modifiers, check if the compositor supports -+ * implicit modifiers. */ -+ implicit_mod_supported = false; -+ for (unsigned int i = 0; i < num_modifiers; i++) { -+ if (modifiers[i] == DRM_FORMAT_MOD_INVALID) { -+ implicit_mod_supported = true; -+ break; -+ } -+ } -+ -+ if (!implicit_mod_supported) { -+ return; -+ } -+ -+ num_modifiers = 0; -+ modifiers = NULL; -+ } -+ - /* For the purposes of this function, an INVALID modifier on - * its own means the modifiers aren't supported. */ - if (num_modifiers == 0 || diff --git a/mesa/Pkgfile b/mesa/Pkgfile index 95248d4d..e385fe9d 100644 --- a/mesa/Pkgfile +++ b/mesa/Pkgfile @@ -5,12 +5,9 @@ # Optional: cbindgen directx-headers glslang libclc libunwind libva libvdpau lm_sensors lua python3-ply rust-bindgen spirv-llvm-translator vulkan-loader wayland-protocols name=mesa -version=24.3.1 -release=2 -source=(https://archive.mesa3d.org/$name-$version.tar.xz - 0001-dri-don-t-fetch-X11-modifiers-if-we-don-t-support-th.patch - 0002-egl-wayland-only-supply-LINEAR-modifier-when-support.patch - 0003-egl-wayland-fallback-to-implicit-modifiers-if-advert.patch) +version=24.3.2 +release=1 +source=(https://archive.mesa3d.org/$name-$version.tar.xz) build() { prt-get isinst directx-headers && PKGMK_MESA_GALLIUM+='d3d12,' @@ -38,10 +35,6 @@ build() { printf '%s' "$version-$release" > $name-$version/VERSION - patch -Np1 -d $name-$version -i $SRC/0001-dri-don-t-fetch-X11-modifiers-if-we-don-t-support-th.patch - patch -Np1 -d $name-$version -i $SRC/0002-egl-wayland-only-supply-LINEAR-modifier-when-support.patch - patch -Np1 -d $name-$version -i $SRC/0003-egl-wayland-fallback-to-implicit-modifiers-if-advert.patch - meson setup build $name-$version $PKGMK_MESA \ --prefix=/usr \ --sysconfdir=/etc \