simple_mtx_destroy(&screen->semaphores_lock);
while (util_dynarray_contains(&screen->semaphores, VkSemaphore))
VKSCR(DestroySemaphore)(screen->dev, util_dynarray_pop(&screen->semaphores, VkSemaphore), NULL);
+ while (util_dynarray_contains(&screen->fd_semaphores, VkSemaphore))
+ VKSCR(DestroySemaphore)(screen->dev, util_dynarray_pop(&screen->fd_semaphores, VkSemaphore), NULL);
if (screen->bindless_layout)
VKSCR(DestroyDescriptorSetLayout)(screen->dev, screen->bindless_layout, NULL);
simple_mtx_init(&screen->semaphores_lock, mtx_plain);
util_dynarray_init(&screen->semaphores, screen);
+ util_dynarray_init(&screen->fd_semaphores, screen);
util_vertex_state_cache_init(&screen->vertex_state_cache,
zink_create_vertex_state, zink_vertex_state_destroy);
simple_mtx_t semaphores_lock;
struct util_dynarray semaphores;
+ struct util_dynarray fd_semaphores;
unsigned buffer_rebind_counter;
unsigned image_rebind_counter;