Compare commits

6 Commits
1.1 ... main

7 changed files with 263 additions and 5 deletions

View File

@@ -1,3 +1,34 @@
-------------------------------------------------------------------
Thu Jul 24 07:00:09 UTC 2025 - Antonio Larrosa <alarrosa@suse.com>
- U_loader_wayland-Fix-missing-timespec.h-include.patch
* fixes build with wayland-protocols 1.45
-------------------------------------------------------------------
Fri Jul 4 08:56:49 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- U_0001-svga-add-svga_resource_create_with_modifiers-functio.patch
U_0002-svga-fix-printing-64-bit-value-for-32-bit-build.patch
* fixes Wayland session when using SP7 as vmware guest (bsc#1245034)
-------------------------------------------------------------------
Sat May 24 09:34:58 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- U_gbm-fix-get_back_bo-failure-with-gbm_surface-and-imp.patch
* should fix hangup on "Started GNOME Display Manager" in a VM
on VMware Fusion Pro (bsc#1241370)
-------------------------------------------------------------------
Fri May 16 12:22:03 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- aarch64: enable panfrost vulkan driver on Leap 16.0
-------------------------------------------------------------------
Fri Apr 25 10:39:34 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- U_egl-never-select-swrast-for-vmwgfx.patch
* fixes crash in libgallium on virtualbox (bsc#1241701)
-------------------------------------------------------------------
Thu Mar 20 14:54:39 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>

View File

@@ -89,9 +89,13 @@
%ifarch %{arm} aarch64
%define with_vulkan 1
%if 0%{?suse_version} > 1600
%define vulkan_drivers swrast,amd,broadcom,freedreno,intel,intel_hasvk,nouveau
%define vulkan_drivers swrast,amd,broadcom,freedreno,intel,intel_hasvk,nouveau,panfrost
%else
%define vulkan_drivers swrast,amd,broadcom,freedreno,intel,intel_hasvk
%if 0%{?suse_version} == 1600 && 0%{?is_opensuse}
%define vulkan_drivers swrast,amd,broadcom,freedreno,intel,intel_hasvk,panfrost
%else
%define vulkan_drivers swrast,amd,broadcom,freedreno,intel,intel_hasvk
%endif
%endif
%endif
%ifarch riscv64
@@ -199,6 +203,7 @@ Patch13: python36-buildfix1-s390x.patch
%endif
Patch14: python36-buildfix2.patch
Patch17: tlsdesc_test.patch
Patch18: U_loader_wayland-Fix-missing-timespec.h-include.patch
# never to be upstreamed
Patch54: n_drirc-disable-rgb10-for-chromium-on-amd.patch
Patch100: U_fix-mpeg1_2-decode-mesa-20.2.patch
@@ -209,6 +214,12 @@ Patch500: u_dep_xcb.patch
Patch500: u_dep_xcb-s390x.patch
%endif
%ifnarch s390x
Patch600: U_egl-never-select-swrast-for-vmwgfx.patch
Patch700: U_gbm-fix-get_back_bo-failure-with-gbm_surface-and-imp.patch
Patch801: U_0001-svga-add-svga_resource_create_with_modifiers-functio.patch
Patch802: U_0002-svga-fix-printing-64-bit-value-for-32-bit-build.patch
%endif
%ifnarch s390x
Patch1222040: u_mesa-CVE-2023-45913.patch
%else
Patch1222040: u_mesa-CVE-2023-45913-s390x.patch
@@ -311,9 +322,9 @@ BuildRequires: libelf-devel
%endif
%endif
# Requirements for wayland bumped up from 17.0
BuildRequires: pkgconfig(wayland-client) >= 1.11
BuildRequires: pkgconfig(wayland-protocols) >= 1.8
BuildRequires: pkgconfig(wayland-server) >= 1.11
BuildRequires: pkgconfig(wayland-client) >= 1.18
BuildRequires: pkgconfig(wayland-protocols) >= 1.38
BuildRequires: pkgconfig(wayland-server) >= 1.18
%if 0%{with_llvm}
%if 0%{?suse_version} >= 1550
BuildRequires: llvm-devel >= 15
@@ -871,6 +882,7 @@ cp %{SOURCE6} subprojects/packagecache/
%patch -P 14 -p1
%endif
%patch -P 17 -p1
%patch -P 18 -p1
# no longer needed since gstreamer-plugins-vaapi 1.18.4
%if 0%{?suse_version} < 1550
%patch -P 54 -p1
@@ -878,6 +890,12 @@ cp %{SOURCE6} subprojects/packagecache/
%patch -P 100 -p1
%patch -P 400 -p1
%patch -P 500 -p1
%ifnarch s390x
%patch -P 600 -p1
%patch -P 700 -p1
%patch -P 801 -p1
%patch -P 802 -p1
%endif
%patch -P 1222040 -p1
%patch -P 1222041 -p1
%patch -P 1222042 -p1

View File

@@ -0,0 +1,55 @@
From b13e2a495e9e3da56add7d852ca01b2cd7eef52d Mon Sep 17 00:00:00 2001
From: Brian Paul <brian.paul@broadcom.com>
Date: Thu, 9 Jan 2025 22:45:34 -0700
Subject: [PATCH] svga: add svga_resource_create_with_modifiers() function
The dri_create_image() function returns early if the gallium
driver does not implement this function. Surface creation has
been broken for some time up to this fix.
Signed-off-by: Brian Paul <brian.paul@broadcom.com>
Reviewed-by: Neha Bhende <neha.Bhende@broadcom.com>
Reviewed-by: Neha Bhende <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32976>
---
src/gallium/drivers/svga/svga_resource.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/src/gallium/drivers/svga/svga_resource.c b/src/gallium/drivers/svga/svga_resource.c
index 80a4311854e..1775b65fab1 100644
--- a/src/gallium/drivers/svga/svga_resource.c
+++ b/src/gallium/drivers/svga/svga_resource.c
@@ -52,6 +52,22 @@ svga_resource_from_handle(struct pipe_screen * screen,
}
+static struct pipe_resource *
+svga_resource_create_with_modifiers(struct pipe_screen *screen,
+ const struct pipe_resource *templat,
+ const uint64_t *modifiers, int count)
+{
+ /* Not sure, but it seems there's no format modifiers
+ * to deal with here.
+ */
+ if (count > 0 && modifiers != NULL && modifiers[0] != 0) {
+ debug_printf("vmware: unexpected format modifier 0x%lx\n",
+ modifiers[0]);
+ }
+ return svga_resource_create(screen, templat);
+}
+
+
/**
* Check if a resource (texture, buffer) of the given size
* and format can be created.
@@ -121,6 +137,7 @@ void
svga_init_screen_resource_functions(struct svga_screen *is)
{
is->screen.resource_create = svga_resource_create;
+ is->screen.resource_create_with_modifiers = svga_resource_create_with_modifiers;
is->screen.resource_from_handle = svga_resource_from_handle;
is->screen.resource_get_handle = svga_resource_get_handle;
is->screen.resource_destroy = svga_resource_destroy;
--
2.43.0

View File

@@ -0,0 +1,39 @@
From 24107f2f67aab1e7304c0bbff77b1cef014673b9 Mon Sep 17 00:00:00 2001
From: Brian Paul <brian.paul@broadcom.com>
Date: Mon, 13 Jan 2025 06:36:48 -0700
Subject: [PATCH] svga: fix printing 64-bit value for 32-bit build
Closes: #12449, #12451
Fixes: b13e2a495e ("svga: add svga_resource_create_with_modifiers() function")
Signed-off-by: Brian Paul <brian.paul@broadcom.com>
Reviewed-by: Neha Bhende <neha.Bhende@broadcom.com>
Reviewed-by: Neha Bhende <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32995>
---
src/gallium/drivers/svga/svga_resource.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/svga/svga_resource.c b/src/gallium/drivers/svga/svga_resource.c
index 1775b65fab1..aa145de9ffe 100644
--- a/src/gallium/drivers/svga/svga_resource.c
+++ b/src/gallium/drivers/svga/svga_resource.c
@@ -5,6 +5,7 @@
* SPDX-License-Identifier: MIT
*/
+#include <inttypes.h>
#include "util/u_debug.h"
#include "svga_resource.h"
@@ -61,7 +62,7 @@ svga_resource_create_with_modifiers(struct pipe_screen *screen,
* to deal with here.
*/
if (count > 0 && modifiers != NULL && modifiers[0] != 0) {
- debug_printf("vmware: unexpected format modifier 0x%lx\n",
+ debug_printf("vmware: unexpected format modifier 0x%" PRIx64 "\n",
modifiers[0]);
}
return svga_resource_create(screen, templat);
--
2.43.0

View File

@@ -0,0 +1,30 @@
From f3b8d7da46a6ab2e63589bede37b35b0ae861af9 Mon Sep 17 00:00:00 2001
From: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Date: Mon, 20 Jan 2025 09:06:03 -0500
Subject: [PATCH] egl: never select swrast for vmwgfx
ForceSoftware will be true in this case from the high-level fallback,
but this isn't really swrast
Fixes: 1de7c86bc1a ("dri: pass through a type enum for creating screen instead of driver_extensions")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33123>
---
src/egl/drivers/dri2/egl_dri2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 6a43ad73d21..e813aa61f52 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -592,7 +592,7 @@ dri2_load_driver(_EGLDisplay *disp)
dri2_dpy->kopper = disp->Options.Zink && !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false);
dri2_dpy->kopper_without_modifiers = dri2_dpy->kopper && debug_get_bool_option("LIBGL_KOPPER_DRI2", false);
- dri2_dpy->swrast = (disp->Options.ForceSoftware && !dri2_dpy->kopper) ||
+ dri2_dpy->swrast = (disp->Options.ForceSoftware && !dri2_dpy->kopper && strcmp(dri2_dpy->driver_name, "vmwgfx")) ||
!dri2_dpy->driver_name || strstr(dri2_dpy->driver_name, "swrast");
dri2_dpy->swrast_not_kms = dri2_dpy->swrast && (!dri2_dpy->driver_name || strcmp(dri2_dpy->driver_name, "kms_swrast"));
--
2.43.0

View File

@@ -0,0 +1,47 @@
From 5a19323d0e3969de24ea6bd89ba62f2a5c37296e Mon Sep 17 00:00:00 2001
From: Simon Ser <contact@emersion.fr>
Date: Thu, 19 Dec 2024 17:35:46 +0100
Subject: [PATCH] gbm: fix get_back_bo() failure with gbm_surface and implicit
modifiers
Before 361f3622587e ("dri: Unify createImage and
createImageWithModifiers"), gbm_surface_create_with_modifiers() would
fail with ENOSYS on drivers missing explicit modifiers support. After
that commit, it succeeds and fails later when it tries to allocate a
new back buffer.
Restore the previous behavior.
Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: 105fcb9cfdb4 ("dri: revert INVALID modifier special-casing")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12283
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32726>
---
src/gbm/backends/dri/gbm_dri.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 9e2761c33b0..316b251dd74 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -1078,11 +1078,17 @@ gbm_dri_surface_create(struct gbm_device *gbm,
uint32_t format, uint32_t flags,
const uint64_t *modifiers, const unsigned count)
{
+ struct gbm_dri_device *dri = gbm_dri_device(gbm);
struct gbm_dri_surface *surf;
if (count)
assert(modifiers);
+ if (count > 0 && !dri->screen->base.screen->resource_create_with_modifiers) {
+ errno = ENOSYS;
+ return NULL;
+ }
+
/* It's acceptable to create an image with INVALID modifier in the list,
* but it cannot be on the only modifier (since it will certainly fail
* later). While we could easily catch this after modifier creation, doing
--
2.43.0

View File

@@ -0,0 +1,38 @@
From 54928d643ec0d201bf0101d67437b53d7fdbafad Mon Sep 17 00:00:00 2001
From: Karmjit Mahil <karmjit.mahil@igalia.com>
Date: Thu, 6 Feb 2025 10:34:49 +0100
Subject: [PATCH] loader/wayland: Fix missing timespec.h include
`loader_wayland_dispatch()` also makes use of `timespec` so we
need `timespec.h`. Otherwise it fails to build due to
`timespec_sub_saturate()` missing.
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Fixes: 90effcceab7 ("wsi/wayland: refactor wayland dispatch")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12580
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33423>
---
src/loader/loader_wayland_helper.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/loader/loader_wayland_helper.h b/src/loader/loader_wayland_helper.h
index 45f412a6c7ba1..0d7c49a15f246 100644
--- a/src/loader/loader_wayland_helper.h
+++ b/src/loader/loader_wayland_helper.h
@@ -23,11 +23,10 @@
#ifndef LOADER_WAYLAND_HELPER_HEADER_H
#define LOADER_WAYLAND_HELPER_HEADER_H
+#include <util/timespec.h>
#include <wayland-client.h>
#ifndef HAVE_WL_DISPATCH_QUEUE_TIMEOUT
-
-#include <util/timespec.h>
int
wl_display_dispatch_queue_timeout(struct wl_display *display,
struct wl_event_queue *queue,
--
GitLab