diff --git a/src/vulkan/runtime/vk_command_buffer.c b/src/vulkan/runtime/vk_command_buffer.c index f678d9bc0a1..12735e20dd3 100644 --- a/src/vulkan/runtime/vk_command_buffer.c +++ b/src/vulkan/runtime/vk_command_buffer.c @@ -23,6 +23,7 @@ #include "vk_command_buffer.h" +#include "vk_alloc.h" #include "vk_command_pool.h" #include "vk_common_entrypoints.h" #include "vk_device.h" @@ -63,6 +64,8 @@ vk_command_buffer_reset(struct vk_command_buffer *command_buffer) vk_cmd_queue_reset(&command_buffer->cmd_queue); vk_meta_object_list_reset(command_buffer->base.device, &command_buffer->meta_objects); + util_dynarray_foreach (&command_buffer->labels, VkDebugUtilsLabelEXT, label) + vk_free(&command_buffer->base.device->alloc, (void *)label->pLabelName); util_dynarray_clear(&command_buffer->labels); command_buffer->region_begin = true; } @@ -97,6 +100,8 @@ vk_command_buffer_finish(struct vk_command_buffer *command_buffer) list_del(&command_buffer->pool_link); vk_command_buffer_reset_render_pass(command_buffer); vk_cmd_queue_finish(&command_buffer->cmd_queue); + util_dynarray_foreach (&command_buffer->labels, VkDebugUtilsLabelEXT, label) + vk_free(&command_buffer->base.device->alloc, (void *)label->pLabelName); util_dynarray_fini(&command_buffer->labels); vk_meta_object_list_finish(command_buffer->base.device, &command_buffer->meta_objects); diff --git a/src/vulkan/runtime/vk_queue.c b/src/vulkan/runtime/vk_queue.c index 5e03564adb2..4ee79964853 100644 --- a/src/vulkan/runtime/vk_queue.c +++ b/src/vulkan/runtime/vk_queue.c @@ -1371,6 +1371,8 @@ vk_queue_finish(struct vk_queue *queue) cnd_destroy(&queue->submit.push); mtx_destroy(&queue->submit.mutex); + util_dynarray_foreach (&queue->labels, VkDebugUtilsLabelEXT, label) + vk_free(&queue->base.device->alloc, (void *)label->pLabelName); util_dynarray_fini(&queue->labels); list_del(&queue->link); vk_object_base_finish(&queue->base);