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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user