zink: recache present semaphores

this otherwise depletes the entire cache

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23729>
This commit is contained in:
Mike Blumenkrantz 2023-06-14 15:46:09 -04:00 committed by Marge Bot
parent 6b204c6162
commit 0e32de0aed

View file

@ -723,8 +723,9 @@ kopper_present(void *data, void *gdata, int thread_idx)
(void*)(uintptr_t)swapchain->last_present_prune);
if (he) {
arr = he->data;
while (util_dynarray_contains(arr, VkSemaphore))
VKSCR(DestroySemaphore)(screen->dev, util_dynarray_pop(arr, VkSemaphore), NULL);
simple_mtx_lock(&screen->semaphores_lock);
util_dynarray_append_dynarray(&screen->semaphores, arr);
simple_mtx_unlock(&screen->semaphores_lock);
util_dynarray_fini(arr);
free(arr);
_mesa_hash_table_remove(swapchain->presents, he);