mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
freedreno: Add the rest of tracepoints with start/end to perfetto
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>
This commit is contained in:
parent
b059cdad40
commit
82e79f6cdf
3 changed files with 66 additions and 8 deletions
|
|
@ -449,6 +449,54 @@ fd_end_resolve(struct pipe_context *pctx, uint64_t ts_ns,
|
|||
stage_end(pctx, ts_ns, RESOLVE_STAGE_ID);
|
||||
}
|
||||
|
||||
void
|
||||
fd_start_state_restore(struct pipe_context *pctx, uint64_t ts_ns,
|
||||
const void *flush_data,
|
||||
const struct trace_start_state_restore *payload)
|
||||
{
|
||||
stage_start(pctx, ts_ns, STATE_RESTORE_STAGE_ID);
|
||||
}
|
||||
|
||||
void
|
||||
fd_end_state_restore(struct pipe_context *pctx, uint64_t ts_ns,
|
||||
const void *flush_data,
|
||||
const struct trace_end_state_restore *payload)
|
||||
{
|
||||
stage_end(pctx, ts_ns, STATE_RESTORE_STAGE_ID);
|
||||
}
|
||||
|
||||
void
|
||||
fd_start_vsc_overflow_test(struct pipe_context *pctx, uint64_t ts_ns,
|
||||
const void *flush_data,
|
||||
const struct trace_start_vsc_overflow_test *payload)
|
||||
{
|
||||
stage_start(pctx, ts_ns, VSC_OVERFLOW_STAGE_ID);
|
||||
}
|
||||
|
||||
void
|
||||
fd_end_vsc_overflow_test(struct pipe_context *pctx, uint64_t ts_ns,
|
||||
const void *flush_data,
|
||||
const struct trace_end_vsc_overflow_test *payload)
|
||||
{
|
||||
stage_end(pctx, ts_ns, VSC_OVERFLOW_STAGE_ID);
|
||||
}
|
||||
|
||||
void
|
||||
fd_start_prologue(struct pipe_context *pctx, uint64_t ts_ns,
|
||||
const void *flush_data,
|
||||
const struct trace_start_prologue *payload)
|
||||
{
|
||||
stage_start(pctx, ts_ns, PROLOGUE_STAGE_ID);
|
||||
}
|
||||
|
||||
void
|
||||
fd_end_prologue(struct pipe_context *pctx, uint64_t ts_ns,
|
||||
const void *flush_data,
|
||||
const struct trace_end_prologue *payload)
|
||||
{
|
||||
stage_end(pctx, ts_ns, PROLOGUE_STAGE_ID);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -42,7 +42,9 @@ enum fd_stage_id {
|
|||
COMPUTE_STAGE_ID,
|
||||
CLEAR_RESTORE_STAGE_ID,
|
||||
RESOLVE_STAGE_ID,
|
||||
// TODO add the rest
|
||||
STATE_RESTORE_STAGE_ID,
|
||||
VSC_OVERFLOW_STAGE_ID,
|
||||
PROLOGUE_STAGE_ID,
|
||||
|
||||
NUM_STAGES
|
||||
};
|
||||
|
|
@ -59,7 +61,9 @@ static const struct {
|
|||
[COMPUTE_STAGE_ID] = {"Compute", "Compute job"},
|
||||
[CLEAR_RESTORE_STAGE_ID] = {"Clear/Restore", "Clear (sysmem) or per-tile clear or restore (GMEM)"},
|
||||
[RESOLVE_STAGE_ID] = {"Resolve", "Per tile resolve (GMEM to system memory"},
|
||||
// TODO add the rest
|
||||
[STATE_RESTORE_STAGE_ID] = {"State Restore", "Setup at the beginning of new cmdstream buffer"},
|
||||
[VSC_OVERFLOW_STAGE_ID] = {"VSC Overflow Test", ""},
|
||||
[PROLOGUE_STAGE_ID] = {"Prologue", "Preemble cmdstream (executed once before first tile)"},
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -47,8 +47,10 @@ from u_trace import utrace_generate
|
|||
Header('util/u_dump.h')
|
||||
Header('freedreno_batch.h')
|
||||
|
||||
Tracepoint('start_state_restore')
|
||||
Tracepoint('end_state_restore')
|
||||
Tracepoint('start_state_restore',
|
||||
tp_perfetto='fd_start_state_restore')
|
||||
Tracepoint('end_state_restore',
|
||||
tp_perfetto='fd_end_state_restore')
|
||||
|
||||
Tracepoint('flush_batch',
|
||||
args=[TracepointArg(type='struct fd_batch *', var='batch', c_format='%x'),
|
||||
|
|
@ -93,11 +95,15 @@ Tracepoint('start_binning_ib',
|
|||
Tracepoint('end_binning_ib',
|
||||
tp_perfetto='fd_end_binning_ib')
|
||||
|
||||
Tracepoint('start_vsc_overflow_test')
|
||||
Tracepoint('end_vsc_overflow_test')
|
||||
Tracepoint('start_vsc_overflow_test',
|
||||
tp_perfetto='fd_start_vsc_overflow_test')
|
||||
Tracepoint('end_vsc_overflow_test',
|
||||
tp_perfetto='fd_end_vsc_overflow_test')
|
||||
|
||||
Tracepoint('start_prologue')
|
||||
Tracepoint('end_prologue')
|
||||
Tracepoint('start_prologue',
|
||||
tp_perfetto='fd_start_prologue')
|
||||
Tracepoint('end_prologue',
|
||||
tp_perfetto='fd_end_prologue')
|
||||
|
||||
# For GMEM pass, where this could either be a clear or resolve
|
||||
Tracepoint('start_clear_restore',
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue