mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
tu: Add total renderpasses,dispatches to cmdbuf tracepoint
Makes much easier to identify command buffers when tracing only them, e.g. to see overall performance. Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34588>
This commit is contained in:
parent
99b23235a6
commit
97dc196d42
3 changed files with 19 additions and 2 deletions
|
|
@ -4073,7 +4073,7 @@ tu_EndCommandBuffer(VkCommandBuffer commandBuffer)
|
|||
}
|
||||
|
||||
if (cmd_buffer->vk.level == VK_COMMAND_BUFFER_LEVEL_PRIMARY) {
|
||||
trace_end_cmd_buffer(&cmd_buffer->trace, &cmd_buffer->cs);
|
||||
trace_end_cmd_buffer(&cmd_buffer->trace, &cmd_buffer->cs, cmd_buffer);
|
||||
} else {
|
||||
trace_end_secondary_cmd_buffer(
|
||||
&cmd_buffer->trace,
|
||||
|
|
@ -5075,6 +5075,9 @@ tu_CmdExecuteCommands(VkCommandBuffer commandBuffer,
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
cmd->state.total_renderpasses += secondary->state.total_renderpasses;
|
||||
cmd->state.total_dispatches += secondary->state.total_dispatches;
|
||||
}
|
||||
|
||||
cmd->state.index_size = secondary->state.index_size; /* for restart index update */
|
||||
|
|
@ -7631,6 +7634,8 @@ tu_dispatch(struct tu_cmd_buffer *cmd,
|
|||
if (emit_instrlen_workaround) {
|
||||
tu_emit_event_write<CHIP>(cmd, cs, FD_LABEL);
|
||||
}
|
||||
|
||||
cmd->state.total_dispatches++;
|
||||
}
|
||||
|
||||
template <chip CHIP>
|
||||
|
|
@ -7738,6 +7743,8 @@ tu_CmdEndRenderPass2(VkCommandBuffer commandBuffer,
|
|||
vk_free(&cmd_buffer->vk.pool->alloc, cmd_buffer->state.attachments);
|
||||
|
||||
tu_reset_render_pass(cmd_buffer);
|
||||
|
||||
cmd_buffer->state.total_renderpasses++;
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
|
|
@ -7810,6 +7817,10 @@ tu_CmdEndRendering2EXT(VkCommandBuffer commandBuffer,
|
|||
unreachable("suspending render pass not followed by resuming pass");
|
||||
}
|
||||
}
|
||||
|
||||
if (!cmd_buffer->state.suspending) {
|
||||
cmd_buffer->state.total_renderpasses++;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -557,6 +557,9 @@ struct tu_cmd_state
|
|||
struct tu_tess_params tess_params;
|
||||
|
||||
uint64_t descriptor_buffer_iova[MAX_SETS];
|
||||
|
||||
uint32_t total_renderpasses;
|
||||
uint32_t total_dispatches;
|
||||
};
|
||||
|
||||
struct tu_cmd_buffer
|
||||
|
|
|
|||
|
|
@ -73,7 +73,10 @@ begin_end_tp('cmd_buffer',
|
|||
Arg(type='str', var='TUdebugFlags', c_format='%s', length_arg='96', copy_func='strncpy'),
|
||||
Arg(type='str', var='IR3debugFlags', c_format='%s', length_arg='96', copy_func='strncpy')],
|
||||
tp_struct=[Arg(type='const char *', name='appName', var='cmd->device->instance->vk.app_info.app_name', c_format='%s'),
|
||||
Arg(type='const char *', name='engineName', var='cmd->device->instance->vk.app_info.engine_name', c_format='%s')])
|
||||
Arg(type='const char *', name='engineName', var='cmd->device->instance->vk.app_info.engine_name', c_format='%s')],
|
||||
end_args=[ArgStruct(type='const struct tu_cmd_buffer *', var='cmd')],
|
||||
end_tp_struct=[Arg(type='uint32_t', name='renderpasses', var='cmd->state.total_renderpasses', c_format='%u'),
|
||||
Arg(type='uint32_t', name='dispatches', var='cmd->state.total_dispatches', c_format='%u')])
|
||||
|
||||
begin_end_tp('secondary_cmd_buffer', tp_default_enabled=False,
|
||||
args=[ArgStruct(type='const struct tu_cmd_buffer *', var='cmd')],
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue