bf96e50e44
- Introduced valgrind with a patch to respect flags and updated its configuration. - Added Vulkan ICD loader with CMake build configuration. - Implemented Waf build system with a custom build script and configuration. - Included Wayland protocols with Meson build system. - Added xcb-util-keysyms with autotools configuration. - Introduced Yasm with multiple patches for compatibility and improvements. - Added Yelp tools and XSL with Meson build configurations and necessary patches for POSIX compliance.
47 lines
1.8 KiB
Diff
47 lines
1.8 KiB
Diff
From 4206d0e15363d188f30f2f3dbcc212fef206fc1d 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 a6120b7b2..a002cae5b 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);
|