zink: wait for sparse queue to go idle
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

When destroying the context we should also wait for the sparse queue to
go idle.

cc: mesa-stable

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35750>
This commit is contained in:
Antonino Maniscalco 2025-06-25 19:24:23 +02:00 committed by Marge Bot
parent e91029c82d
commit 8ea0b00a75

View file

@ -138,6 +138,15 @@ zink_context_destroy(struct pipe_context *pctx)
if (result != VK_SUCCESS)
mesa_loge("ZINK: vkQueueWaitIdle failed (%s)", vk_Result_to_str(result));
if (screen->queue_sparse && screen->queue_sparse != screen->queue) {
simple_mtx_lock(&screen->queue_lock);
VkResult result = VKSCR(QueueWaitIdle)(screen->queue_sparse);
simple_mtx_unlock(&screen->queue_lock);
if (result != VK_SUCCESS)
mesa_loge("ZINK: vkQueueWaitIdle failed (%s)", vk_Result_to_str(result));
}
}
for (unsigned i = 0; i < ARRAY_SIZE(ctx->program_cache); i++) {