From e2c4bafccc7c363d21ec43614b9ba8b0c65fcc87 Mon Sep 17 00:00:00 2001 From: Juston Li Date: Mon, 22 Jan 2024 12:53:48 -0800 Subject: [PATCH] venus: free query batches for VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT When a pool is reset with VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, free up all query batches in the pool. Signed-off-by: Juston Li Part-of: --- src/virtio/vulkan/vn_command_buffer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/virtio/vulkan/vn_command_buffer.c b/src/virtio/vulkan/vn_command_buffer.c index 7edebe6ff60..95f9deee94d 100644 --- a/src/virtio/vulkan/vn_command_buffer.c +++ b/src/virtio/vulkan/vn_command_buffer.c @@ -788,6 +788,12 @@ vn_ResetCommandPool(VkDevice device, &pool->command_buffers, head) vn_cmd_reset(cmd); + if (flags & VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT) { + list_for_each_entry_safe(struct vn_feedback_query_batch, batch, + &pool->free_query_batches, head) + vk_free(&pool->allocator, batch); + } + vn_async_vkResetCommandPool(dev->primary_ring, device, commandPool, flags); return VK_SUCCESS;