From b69ef888279cfc6cbc580dbb00e3f74425501cab Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Wed, 9 Aug 2023 14:17:27 -0500 Subject: [PATCH] vulkan/wsi: Allow binding presentation_timing when software rendering The presentation timing extension is used for doing WaitForPresent properly, but we accidentally bind it after an early return intended to stop us from binding dmabuf when software rendering. Remove the early return. cc: mesa-stable Signed-off-by: Derek Foreman Part-of: (cherry picked from commit 5ba5bcf2b60c233a53014a6b5a32b82d8631b7e1) --- .pick_status.json | 2 +- src/vulkan/wsi/wsi_common_wayland.c | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index a6d58b2f5a2..1860f36311e 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2569,7 +2569,7 @@ "description": "vulkan/wsi: Allow binding presentation_timing when software rendering", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c index d43019f19fb..702e3f9505d 100644 --- a/src/vulkan/wsi/wsi_common_wayland.c +++ b/src/vulkan/wsi/wsi_common_wayland.c @@ -738,15 +738,14 @@ registry_handle_global(void *data, struct wl_registry *registry, display->wl_shm = wl_registry_bind(registry, name, &wl_shm_interface, 1); wl_shm_add_listener(display->wl_shm, &shm_listener, display); } - return; - } - - if (strcmp(interface, zwp_linux_dmabuf_v1_interface.name) == 0 && version >= 3) { - display->wl_dmabuf = - wl_registry_bind(registry, name, &zwp_linux_dmabuf_v1_interface, - MIN2(version, ZWP_LINUX_DMABUF_V1_GET_DEFAULT_FEEDBACK_SINCE_VERSION)); - zwp_linux_dmabuf_v1_add_listener(display->wl_dmabuf, - &dmabuf_listener, display); + } else { + if (strcmp(interface, zwp_linux_dmabuf_v1_interface.name) == 0 && version >= 3) { + display->wl_dmabuf = + wl_registry_bind(registry, name, &zwp_linux_dmabuf_v1_interface, + MIN2(version, ZWP_LINUX_DMABUF_V1_GET_DEFAULT_FEEDBACK_SINCE_VERSION)); + zwp_linux_dmabuf_v1_add_listener(display->wl_dmabuf, + &dmabuf_listener, display); + } } }