https://bugs.gentoo.org/904072 https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21647 From 689ce66a4332524b4eb98877de6f75d05dd05c60 Mon Sep 17 00:00:00 2001 From: Alexandros Frantzis 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 Part-of: --- a/src/vulkan/wsi/wsi_common_wayland.c +++ b/src/vulkan/wsi/wsi_common_wayland.c @@ -1157,18 +1157,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); } -- GitLab