···16161717#include "comp_vk_client.h"
18181919-//! We are not allowed to touch the queue in xrDestroySwapchain
2020-#define BREAK_OPENXR_SPEC_IN_DESTROY_SWAPCHAIN (true)
2121-2219// Prefixed with OXR since the only user right now is the OpenXR state tracker.
2320DEBUG_GET_ONCE_LOG_OPTION(vulkan_log, "OXR_VULKAN_LOG", U_LOGGING_INFO)
2421···272269 struct client_vk_swapchain *sc = client_vk_swapchain(xsc);
273270 struct client_vk_compositor *c = sc->c;
274271 struct vk_bundle *vk = &c->vk;
275275-276276- // Make sure images are not used anymore.
277277- if (BREAK_OPENXR_SPEC_IN_DESTROY_SWAPCHAIN) {
278278- os_mutex_lock(&vk->queue_mutex);
279279- vk->vkQueueWaitIdle(vk->main_queue.queue);
280280- os_mutex_unlock(&vk->queue_mutex);
281281- }
282272283273 for (uint32_t i = 0; i < sc->base.base.image_count; i++) {
284274 if (sc->base.images[i] != VK_NULL_HANDLE) {