summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2024-10-21 18:52:29 -0400
committerMatt Turner <mattst88@gentoo.org>2024-10-21 18:52:58 -0400
commit6797ccb9fb80f8099bee8cdde68344f99ed1ae86 (patch)
tree6e3c24e18472e9a40a57f4eb2e0aa63ad3dbf327 /media-libs
parentvirtual/opencl: Remove missing uvm from nvidia-drivers message (diff)
downloadgentoo-6797ccb9fb80f8099bee8cdde68344f99ed1ae86.tar.gz
gentoo-6797ccb9fb80f8099bee8cdde68344f99ed1ae86.tar.bz2
gentoo-6797ccb9fb80f8099bee8cdde68344f99ed1ae86.zip
media-libs/libva-intel-driver: Add patch to fix wayland
Closes: https://bugs.gentoo.org/941253 Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch52
-rw-r--r--media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r5.ebuild (renamed from media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r4.ebuild)4
2 files changed, 56 insertions, 0 deletions
diff --git a/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch b/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch
new file mode 100644
index 000000000000..4cc3ee2017c4
--- /dev/null
+++ b/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch
@@ -0,0 +1,52 @@
+https://bugs.gentoo.org/941253
+https://github.com/intel/intel-vaapi-driver/pull/566
+
+From 1c3c43371d45e1d072faa9a5cd850c1722a06569 Mon Sep 17 00:00:00 2001
+From: Simon Ser <contact@emersion.fr>
+Date: Mon, 11 Mar 2024 23:48:17 +0100
+Subject: [PATCH] Make wl_drm optional
+
+Don't error out when vtable->wl_interface is NULL.
+
+Fetching wl_drm_interface from libEGL used to work but doesn't
+anymore: it's now a private symbol (wayland-scanner private-code).
+---
+ src/i965_output_wayland.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/i965_output_wayland.c b/src/i965_output_wayland.c
+index a6120b7..a002cae 100644
+--- a/src/i965_output_wayland.c
++++ b/src/i965_output_wayland.c
+@@ -154,7 +154,7 @@ registry_handle_global(
+ struct va_wl_output * const wl_output = i965->wl_output;
+ struct wl_vtable * const wl_vtable = &wl_output->vtable;
+
+- if (strcmp(interface, "wl_drm") == 0) {
++ if (strcmp(interface, "wl_drm") == 0 && wl_vtable->drm_interface) {
+ wl_output->wl_drm_name = name;
+ wl_output->wl_drm = registry_bind(wl_vtable, wl_output->wl_registry,
+ name, wl_vtable->drm_interface,
+@@ -472,6 +472,7 @@ i965_output_wayland_init(VADriverContextP ctx)
+
+ wl_vtable = &i965->wl_output->vtable;
+
++ /* drm_interface is optional */
+ if (vtable->wl_interface)
+ wl_vtable->drm_interface = vtable->wl_interface;
+ else {
+@@ -483,9 +484,8 @@ i965_output_wayland_init(VADriverContextP ctx)
+ }
+
+ dso_handle = i965->wl_output->libegl_handle;
+- if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
+- libegl_symbols))
+- goto error;
++ dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
++ libegl_symbols);
+ }
+
+ i965->wl_output->libwl_client_handle = dso_open(LIBWAYLAND_CLIENT_NAME);
+--
+2.45.2
+
diff --git a/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r4.ebuild b/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r5.ebuild
index 4a0de8f43ac2..493e54089192 100644
--- a/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r4.ebuild
+++ b/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r5.ebuild
@@ -40,6 +40,10 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
+PATCHES=(
+ "${FILESDIR}"/${PV}-Make-wl_drm-optional.patch
+)
+
src_prepare() {
eapply_user
sed -e 's/intel-gen4asm/\0diSaBlEd/g' -i configure.ac || die