freedreno/perfetto: Add shader_id for compute stages

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>
This commit is contained in:
Rob Clark 2023-04-02 08:11:32 -07:00 committed by Marge Bot
parent f136f89487
commit 6ea7d8e223
4 changed files with 13 additions and 2 deletions

View file

@ -126,7 +126,8 @@ fd6_launch_grid(struct fd_context *ctx, const struct pipe_grid_info *info) in_dt
trace_start_compute(&ctx->batch->trace, ring, !!info->indirect, info->work_dim,
info->block[0], info->block[1], info->block[2],
info->grid[0], info->grid[1], info->grid[2]);
info->grid[0], info->grid[1], info->grid[2],
cs->v->shader_id);
if (ctx->batch->barrier)
fd6_barrier_flush(ctx->batch);

View file

@ -265,6 +265,13 @@ stage_end(struct pipe_context *pctx, uint64_t ts_ns, enum fd_stage_id stage)
data->set_name("num_groups_z");
data->set_value(std::to_string(p->num_groups_z));
}
{
auto data = event->add_extra_data();
data->set_name("shader_id");
data->set_value(std::to_string(p->shader_id));
}
}
});
}
@ -445,6 +452,7 @@ fd_start_compute(struct pipe_context *pctx, uint64_t ts_ns,
p->num_groups_x = payload->num_groups_x;
p->num_groups_y = payload->num_groups_y;
p->num_groups_z = payload->num_groups_z;
p->shader_id = payload->shader_id;
}
void

View file

@ -118,6 +118,7 @@ struct fd_perfetto_state {
uint32_t num_groups_x;
uint32_t num_groups_y;
uint32_t num_groups_z;
uint32_t shader_id;
};
void fd_perfetto_init(void);

View file

@ -157,7 +157,8 @@ begin_end_tp('compute',
TracepointArg(type='uint16_t', var='local_size_z', c_format='%u'),
TracepointArg(type='uint32_t', var='num_groups_x', c_format='%u'),
TracepointArg(type='uint32_t', var='num_groups_y', c_format='%u'),
TracepointArg(type='uint32_t', var='num_groups_z', c_format='%u')]
TracepointArg(type='uint32_t', var='num_groups_z', c_format='%u'),
TracepointArg(type='uint32_t', var='shader_id', c_format='%u')]
)
utrace_generate(cpath=args.src,