zink: sync queue access for vkQueueWaitIdle

Ensure VkQueue external sync between flush_queue and TC.

Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25733>
This commit is contained in:
Yiwei Zhang
2023-10-14 15:41:59 -07:00
committed by Marge Bot
parent d2e1bc33b0
commit 5df194e2ae

View File

@@ -887,7 +887,10 @@ zink_kopper_present_readback(struct zink_context *ctx, struct zink_resource *res
return false;
zink_kopper_present_queue(screen, res);
simple_mtx_lock(&screen->queue_lock);
error = VKSCR(QueueWaitIdle)(screen->queue);
simple_mtx_unlock(&screen->queue_lock);
simple_mtx_lock(&screen->semaphores_lock);
util_dynarray_append(&screen->semaphores, VkSemaphore, acquire);
simple_mtx_unlock(&screen->semaphores_lock);