aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/mesa-dri/files/patch-wayland-1.2244
1 files changed, 44 insertions, 0 deletions
diff --git a/graphics/mesa-dri/files/patch-wayland-1.22 b/graphics/mesa-dri/files/patch-wayland-1.22
new file mode 100644
index 000000000000..b02fed65996b
--- /dev/null
+++ b/graphics/mesa-dri/files/patch-wayland-1.22
@@ -0,0 +1,44 @@
+https://gitlab.freedesktop.org/mesa/mesa/-/commit/ee5d2250fd15
+https://gitlab.freedesktop.org/mesa/mesa/-/commit/689ce66a4332
+
+--- src/egl/drivers/dri2/platform_wayland.c.orig 2023-03-08 18:37:09 UTC
++++ src/egl/drivers/dri2/platform_wayland.c
+@@ -2789,10 +2789,10 @@ dri2_teardown_wayland(struct dri2_egl_display *dri2_dp
+ wl_shm_destroy(dri2_dpy->wl_shm);
+ if (dri2_dpy->wl_registry)
+ wl_registry_destroy(dri2_dpy->wl_registry);
+- if (dri2_dpy->wl_queue)
+- wl_event_queue_destroy(dri2_dpy->wl_queue);
+ if (dri2_dpy->wl_dpy_wrapper)
+ wl_proxy_wrapper_destroy(dri2_dpy->wl_dpy_wrapper);
++ if (dri2_dpy->wl_queue)
++ wl_event_queue_destroy(dri2_dpy->wl_queue);
+
+ if (dri2_dpy->own_device)
+ wl_display_disconnect(dri2_dpy->wl_dpy);
+--- src/vulkan/wsi/wsi_common_wayland.c.orig 2023-03-08 18:37:09 UTC
++++ src/vulkan/wsi/wsi_common_wayland.c
+@@ -1156,17 +1156,17 @@ wsi_wl_surface_destroy(VkIcdSurfaceBase *icd_surface,
+ struct wsi_wl_surface *wsi_wl_surface =
+ wl_container_of((VkIcdSurfaceWayland *)icd_surface, wsi_wl_surface, base);
+
+- if (wsi_wl_surface->surface)
+- wl_proxy_wrapper_destroy(wsi_wl_surface->surface);
+-
+- if (wsi_wl_surface->display)
+- wsi_wl_display_destroy(wsi_wl_surface->display);
+-
+ if (wsi_wl_surface->wl_dmabuf_feedback) {
+ zwp_linux_dmabuf_feedback_v1_destroy(wsi_wl_surface->wl_dmabuf_feedback);
+ dmabuf_feedback_fini(&wsi_wl_surface->dmabuf_feedback);
+ dmabuf_feedback_fini(&wsi_wl_surface->pending_dmabuf_feedback);
+ }
++
++ if (wsi_wl_surface->surface)
++ wl_proxy_wrapper_destroy(wsi_wl_surface->surface);
++
++ if (wsi_wl_surface->display)
++ wsi_wl_display_destroy(wsi_wl_surface->display);
+
+ vk_free2(&instance->alloc, pAllocator, wsi_wl_surface);
+ }