mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
50 lines
1.9 KiB
Diff
50 lines
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Alexandros Frantzis <alexandros.frantzis@collabora.com>
|
|
Date: Thu, 2 Mar 2023 10:10:42 +0200
|
|
Subject: [PATCH] vulkan/wsi/wayland: Fix destruction of event queue with
|
|
proxies still attached.
|
|
|
|
Destroy the surface dmabuf feedback proxy before destroying the event
|
|
queue that the proxy is attached to.
|
|
|
|
This silences a warning that libwayland 1.22 emits for programs that use
|
|
Vulkan/Wayland:
|
|
|
|
warning: queue 0x557a4efbcf70 destroyed while proxies still attached:
|
|
zwp_linux_dmabuf_feedback_v1@18 still attached
|
|
|
|
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
|
|
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21647>
|
|
---
|
|
src/vulkan/wsi/wsi_common_wayland.c | 12 ++++++------
|
|
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c
|
|
index 0c6560371f75..6a241bcfabe1 100644
|
|
--- a/src/vulkan/wsi/wsi_common_wayland.c
|
|
+++ b/src/vulkan/wsi/wsi_common_wayland.c
|
|
@@ -1156,18 +1156,18 @@ wsi_wl_surface_destroy(VkIcdSurfaceBase *icd_surface, VkInstance _instance,
|
|
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);
|
|
}
|
|
|