diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2023-05-15 09:13:35 -0400 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-05-15 20:51:40 +0000 |
commit | cd0454646fb07eb5cc673f3855d0e1c2b4c8032f (patch) | |
tree | e94786b80b277731cb396e0fc22611774ae81ca7 | |
parent | 6c90fe189f4652845769d970db4effa9d30bb51b (diff) | |
download | mesa-cd0454646fb07eb5cc673f3855d0e1c2b4c8032f.tar.gz |
zink: don't leak swapchain readback semaphores
these are considered usable after the queue goes idle, so add them
back into the cache
Fixes: e9f18f64b9e ("zink: also cache swapchain semaphores")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23033>
-rw-r--r-- | src/gallium/drivers/zink/zink_kopper.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/zink/zink_kopper.c b/src/gallium/drivers/zink/zink_kopper.c index 50f63cb2ba7..24244be81b5 100644 --- a/src/gallium/drivers/zink/zink_kopper.c +++ b/src/gallium/drivers/zink/zink_kopper.c @@ -867,6 +867,9 @@ zink_kopper_present_readback(struct zink_context *ctx, struct zink_resource *res zink_kopper_present_queue(screen, res); error = VKSCR(QueueWaitIdle)(screen->queue); + simple_mtx_lock(&screen->semaphores_lock); + util_dynarray_append(&screen->semaphores, VkSemaphore, acquire); + simple_mtx_unlock(&screen->semaphores_lock); return zink_screen_handle_vkresult(screen, error); } |