tu: Use current_frame from vk device to delimit u_trace frames

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29220>
This commit is contained in:
Danylo Piliaiev 2024-05-15 13:47:14 +02:00 committed by Marge Bot
parent 4510350d55
commit c73b3f590b
3 changed files with 9 additions and 6 deletions

View file

@ -1043,7 +1043,8 @@ tu_queue_submit_locked(struct tu_queue *queue, struct tu_msm_queue_submit *submi
bool free_data = i == submission_data->last_buffer_with_tracepoints;
if (submission_data->cmd_trace_data[i].trace)
u_trace_flush(submission_data->cmd_trace_data[i].trace,
submission_data, U_TRACE_FRAME_UNKNOWN, free_data);
submission_data, queue->device->vk.current_frame,
free_data);
if (!submission_data->cmd_trace_data[i].timestamp_copy_cs) {
/* u_trace is owned by cmd_buffer */
@ -1149,7 +1150,7 @@ msm_queue_submit(struct tu_queue *queue, struct vk_queue_submit *submit)
if (ret != VK_SUCCESS)
return ret;
u_trace_context_process(&queue->device->trace_context, true);
u_trace_context_process(&queue->device->trace_context, false);
return VK_SUCCESS;
}

View file

@ -1135,7 +1135,8 @@ tu_queue_submit_locked(struct tu_queue *queue, struct tu_virtio_queue_submit *su
bool free_data = i == submission_data->last_buffer_with_tracepoints;
if (submission_data->cmd_trace_data[i].trace)
u_trace_flush(submission_data->cmd_trace_data[i].trace,
submission_data, U_TRACE_FRAME_UNKNOWN, free_data);
submission_data, queue->device->vk.current_frame,
free_data);
if (!submission_data->cmd_trace_data[i].timestamp_copy_cs) {
/* u_trace is owned by cmd_buffer */
@ -1241,7 +1242,7 @@ virtio_queue_submit(struct tu_queue *queue, struct vk_queue_submit *submit)
if (ret != VK_SUCCESS)
return ret;
u_trace_context_process(&queue->device->trace_context, true);
u_trace_context_process(&queue->device->trace_context, false);
return VK_SUCCESS;
}

View file

@ -1271,7 +1271,8 @@ kgsl_queue_submit(struct tu_queue *queue, struct vk_queue_submit *vk_submit)
bool free_data = i == submission_data->last_buffer_with_tracepoints;
if (submission_data->cmd_trace_data[i].trace)
u_trace_flush(submission_data->cmd_trace_data[i].trace,
submission_data, U_TRACE_FRAME_UNKNOWN, free_data);
submission_data, queue->device->vk.current_frame,
free_data);
if (!submission_data->cmd_trace_data[i].timestamp_copy_cs) {
/* u_trace is owned by cmd_buffer */
@ -1285,7 +1286,7 @@ kgsl_queue_submit(struct tu_queue *queue, struct vk_queue_submit *vk_submit)
pthread_mutex_unlock(&queue->device->submit_mutex);
pthread_cond_broadcast(&queue->device->timeline_cond);
u_trace_context_process(&queue->device->trace_context, true);
u_trace_context_process(&queue->device->trace_context, false);
if (cmd_buffers != (struct tu_cmd_buffer **) vk_submit->command_buffers)
vk_free(&queue->device->vk.alloc, cmd_buffers);