venus: qfb to track cmd handle directly

since all usages are with vk handle

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28112>
This commit is contained in:
Yiwei Zhang 2024-02-21 16:03:26 -08:00 committed by Marge Bot
parent e931ef4884
commit 71bf46fa5d
3 changed files with 9 additions and 11 deletions

View file

@ -692,7 +692,7 @@ vn_feedback_query_cmd_alloc(VkDevice dev_handle,
}
qfb_cmd->fb_cmd_pool = fb_cmd_pool;
qfb_cmd->cmd = vn_command_buffer_from_handle(qfb_cmd_handle);
qfb_cmd->cmd_handle = qfb_cmd_handle;
}
*out_qfb_cmd = qfb_cmd;
@ -704,7 +704,7 @@ void
vn_feedback_query_cmd_free(struct vn_query_feedback_cmd *qfb_cmd)
{
simple_mtx_lock(&qfb_cmd->fb_cmd_pool->mutex);
vn_ResetCommandBuffer(vn_command_buffer_to_handle(qfb_cmd->cmd), 0);
vn_ResetCommandBuffer(qfb_cmd->cmd_handle, 0);
list_add(&qfb_cmd->head, &qfb_cmd->fb_cmd_pool->free_qfb_cmds);
simple_mtx_unlock(&qfb_cmd->fb_cmd_pool->mutex);
}
@ -717,29 +717,28 @@ vn_feedback_query_batch_record(VkDevice dev_handle,
static const VkCommandBufferBeginInfo begin_info = {
.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
};
VkCommandBuffer qfb_cmd_handle = vn_command_buffer_to_handle(qfb_cmd->cmd);
VkResult result;
simple_mtx_lock(&qfb_cmd->fb_cmd_pool->mutex);
result = vn_BeginCommandBuffer(qfb_cmd_handle, &begin_info);
result = vn_BeginCommandBuffer(qfb_cmd->cmd_handle, &begin_info);
if (result != VK_SUCCESS) {
vn_FreeCommandBuffers(dev_handle, qfb_cmd->fb_cmd_pool->pool_handle, 1,
&qfb_cmd_handle);
&qfb_cmd->cmd_handle);
goto out_unlock;
}
list_for_each_entry_safe(struct vn_feedback_query_batch, batch,
combined_query_batches, head) {
vn_feedback_query_cmd_record(
qfb_cmd_handle, vn_query_pool_to_handle(batch->query_pool),
qfb_cmd->cmd_handle, vn_query_pool_to_handle(batch->query_pool),
batch->query, batch->query_count, batch->copy);
}
result = vn_EndCommandBuffer(qfb_cmd_handle);
result = vn_EndCommandBuffer(qfb_cmd->cmd_handle);
if (result != VK_SUCCESS) {
vn_FreeCommandBuffers(dev_handle, qfb_cmd->fb_cmd_pool->pool_handle, 1,
&qfb_cmd_handle);
&qfb_cmd->cmd_handle);
goto out_unlock;
}

View file

@ -85,7 +85,7 @@ struct vn_feedback_query_batch {
struct vn_query_feedback_cmd {
struct vn_feedback_cmd_pool *fb_cmd_pool;
struct vn_command_buffer *cmd;
VkCommandBuffer cmd_handle;
struct list_head head;
};

View file

@ -719,8 +719,7 @@ vn_queue_submission_add_query_feedback(struct vn_queue_submission *submit,
"Could not find non simultaneous cmd to link query feedback\n");
}
vn_set_temp_cmd(submit, *cmd_count,
vn_command_buffer_to_handle(qfb_cmd->cmd));
vn_set_temp_cmd(submit, *cmd_count, qfb_cmd->cmd_handle);
(*cmd_count)++;
return VK_SUCCESS;