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
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
};
[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)"},
};
/**
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'),
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',