vulkan/meta: Add an object tracking list
This will let us create objects which get held onto by the command buffer until it's reset or destroyed. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
This commit is contained in:
committed by
Marge Bot
parent
54366ea922
commit
8418d6c97a
@@ -44,6 +44,7 @@ vk_command_buffer_init(struct vk_command_pool *pool,
|
||||
command_buffer->state = MESA_VK_COMMAND_BUFFER_STATE_INITIAL;
|
||||
command_buffer->record_result = VK_SUCCESS;
|
||||
vk_cmd_queue_init(&command_buffer->cmd_queue, &pool->alloc);
|
||||
vk_meta_object_list_init(&command_buffer->meta_objects);
|
||||
util_dynarray_init(&command_buffer->labels, NULL);
|
||||
command_buffer->region_begin = true;
|
||||
|
||||
@@ -60,6 +61,8 @@ vk_command_buffer_reset(struct vk_command_buffer *command_buffer)
|
||||
command_buffer->record_result = VK_SUCCESS;
|
||||
vk_command_buffer_reset_render_pass(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_clear(&command_buffer->labels);
|
||||
command_buffer->region_begin = true;
|
||||
}
|
||||
@@ -95,6 +98,8 @@ vk_command_buffer_finish(struct vk_command_buffer *command_buffer)
|
||||
vk_command_buffer_reset_render_pass(command_buffer);
|
||||
vk_cmd_queue_finish(&command_buffer->cmd_queue);
|
||||
util_dynarray_fini(&command_buffer->labels);
|
||||
vk_meta_object_list_finish(command_buffer->base.device,
|
||||
&command_buffer->meta_objects);
|
||||
vk_object_base_finish(&command_buffer->base);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user