mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 04:58:05 +02:00
anv: track generated commands work with perfetto
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
This commit is contained in:
parent
badcfc164d
commit
e69062f8c9
3 changed files with 22 additions and 2 deletions
|
|
@ -485,7 +485,8 @@ CREATE_DUAL_EVENT_CALLBACK(xfb, INTEL_DS_QUEUE_STAGE_CMD_BUFFER)
|
|||
CREATE_DUAL_EVENT_CALLBACK(compute, INTEL_DS_QUEUE_STAGE_COMPUTE)
|
||||
CREATE_DUAL_EVENT_CALLBACK(compute_indirect, INTEL_DS_QUEUE_STAGE_COMPUTE)
|
||||
CREATE_DUAL_EVENT_CALLBACK(generate_draws, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
|
||||
CREATE_DUAL_EVENT_CALLBACK(generate_commands, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
|
||||
CREATE_DUAL_EVENT_CALLBACK(generate_cmds_pre, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
|
||||
CREATE_DUAL_EVENT_CALLBACK(generate_cmds_post, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
|
||||
CREATE_DUAL_EVENT_CALLBACK(trace_copy, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
|
||||
CREATE_DUAL_EVENT_CALLBACK(trace_copy_cb, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
|
||||
CREATE_DUAL_EVENT_CALLBACK(query_clear_blorp, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
|
||||
|
|
|
|||
|
|
@ -163,7 +163,10 @@ def define_tracepoints(args):
|
|||
|
||||
# Indirect draw generation, only for Anv
|
||||
begin_end_tp('generate_draws')
|
||||
begin_end_tp('generate_commands')
|
||||
|
||||
# Generated commands, only for Anv
|
||||
begin_end_tp('generate_cmds_pre')
|
||||
begin_end_tp('generate_cmds_post')
|
||||
|
||||
# vkCmdResetQuery, only for Anv
|
||||
begin_end_tp('query_clear_blorp',
|
||||
|
|
|
|||
|
|
@ -50,6 +50,8 @@ preprocess_gfx_sequences(struct anv_cmd_buffer *cmd_buffer,
|
|||
const VkGeneratedCommandsInfoEXT *info,
|
||||
enum anv_internal_kernel_name kernel_name)
|
||||
{
|
||||
trace_intel_begin_generate_cmds_pre(&cmd_buffer->trace);
|
||||
|
||||
struct anv_device *device = cmd_buffer->device;
|
||||
struct anv_cmd_graphics_state *gfx = &cmd_buffer_state->state.gfx;
|
||||
|
||||
|
|
@ -158,6 +160,8 @@ preprocess_gfx_sequences(struct anv_cmd_buffer *cmd_buffer,
|
|||
genX(emit_simple_shader_dispatch)(&simple_state, info->maxSequenceCount,
|
||||
push_data_state);
|
||||
|
||||
trace_intel_end_generate_cmds_pre(&cmd_buffer->trace);
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
|
|
@ -217,6 +221,8 @@ preprocess_cs_sequences(struct anv_cmd_buffer *cmd_buffer,
|
|||
enum anv_internal_kernel_name kernel_name,
|
||||
bool emit_driver_values)
|
||||
{
|
||||
trace_intel_begin_generate_cmds_pre(&cmd_buffer->trace);
|
||||
|
||||
struct anv_device *device = cmd_buffer->device;
|
||||
struct anv_cmd_compute_state *comp_state = &cmd_buffer_state->state.compute;
|
||||
struct anv_cmd_pipeline_state *pipe_state = &comp_state->base;
|
||||
|
|
@ -353,6 +359,8 @@ preprocess_cs_sequences(struct anv_cmd_buffer *cmd_buffer,
|
|||
info->maxSequenceCount,
|
||||
push_data_state);
|
||||
|
||||
trace_intel_end_generate_cmds_pre(&cmd_buffer->trace);
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
|
|
@ -362,6 +370,8 @@ postprocess_cs_sequences(struct anv_cmd_buffer *cmd_buffer,
|
|||
struct anv_indirect_execution_set *indirect_set,
|
||||
const VkGeneratedCommandsInfoEXT *info)
|
||||
{
|
||||
trace_intel_begin_generate_cmds_post(&cmd_buffer->trace);
|
||||
|
||||
struct anv_device *device = cmd_buffer->device;
|
||||
|
||||
/**/
|
||||
|
|
@ -446,6 +456,8 @@ postprocess_cs_sequences(struct anv_cmd_buffer *cmd_buffer,
|
|||
info->maxSequenceCount,
|
||||
push_data_state);
|
||||
|
||||
trace_intel_end_generate_cmds_post(&cmd_buffer->trace);
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
|
|
@ -458,6 +470,8 @@ preprocess_rt_sequences(struct anv_cmd_buffer *cmd_buffer,
|
|||
const VkGeneratedCommandsInfoEXT *info,
|
||||
enum anv_internal_kernel_name kernel_name)
|
||||
{
|
||||
trace_intel_begin_generate_cmds_pre(&cmd_buffer->trace);
|
||||
|
||||
struct anv_device *device = cmd_buffer->device;
|
||||
struct anv_cmd_ray_tracing_state *rt_state = &cmd_buffer_state->state.rt;
|
||||
struct anv_cmd_pipeline_state *pipe_state = &rt_state->base;
|
||||
|
|
@ -611,6 +625,8 @@ preprocess_rt_sequences(struct anv_cmd_buffer *cmd_buffer,
|
|||
info->maxSequenceCount,
|
||||
push_data_state);
|
||||
|
||||
trace_intel_end_generate_cmds_pre(&cmd_buffer->trace);
|
||||
|
||||
return params;
|
||||
}
|
||||
#endif /* GFX_VERx10 >= 125 */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue