diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_gmem.cc b/src/gallium/drivers/freedreno/a6xx/fd6_gmem.cc index e8102984c05..75be902bf25 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_gmem.cc +++ b/src/gallium/drivers/freedreno/a6xx/fd6_gmem.cc @@ -1285,7 +1285,7 @@ fd6_emit_tile_renderprep(struct fd_batch *batch, const struct fd_tile *tile) if (!batch->tile_setup) return; - trace_start_clear_restore(&batch->trace, batch->gmem, batch->fast_cleared); + trace_start_clear_restore(&batch->trace, batch->gmem, batch->fast_cleared, batch->restore); if (batch->fast_cleared || !use_hw_binning(batch)) { fd6_emit_ib(batch->gmem, batch->tile_setup); } else { @@ -1483,7 +1483,7 @@ fd6_emit_tile_gmem2mem(struct fd_batch *batch, const struct fd_tile *tile) OUT_RING(ring, A6XX_CP_SET_MARKER_0_MODE(RM6_RESOLVE)); emit_marker6(ring, 7); - trace_start_resolve(&batch->trace, batch->gmem); + trace_start_resolve(&batch->trace, batch->gmem, batch->resolve); if (batch->fast_cleared || !use_hw_binning(batch)) { fd6_emit_ib(batch->gmem, batch->tile_fini); } else { @@ -1525,7 +1525,7 @@ emit_sysmem_clears(struct fd_batch *batch, struct fd_ringbuffer *ring) assert_dt struct pipe_box box2d; u_box_2d(0, 0, pfb->width, pfb->height, &box2d); - trace_start_clear_restore(&batch->trace, ring, buffers); + trace_start_clear_restore(&batch->trace, ring, buffers, 0); if (buffers & PIPE_CLEAR_COLOR) { for (int i = 0; i < pfb->nr_cbufs; i++) { diff --git a/src/gallium/drivers/freedreno/freedreno_tracepoints.py b/src/gallium/drivers/freedreno/freedreno_tracepoints.py index 30bc8164ce2..91de03c7f6f 100644 --- a/src/gallium/drivers/freedreno/freedreno_tracepoints.py +++ b/src/gallium/drivers/freedreno/freedreno_tracepoints.py @@ -123,13 +123,18 @@ begin_end_tp('binning_ib') begin_end_tp('vsc_overflow_test') begin_end_tp('prologue') -# For GMEM pass, where this could either be a clear or resolve +# For GMEM pass, where this could either be a clear or restore begin_end_tp('clear_restore', - args=[TracepointArg(type='uint16_t', var='fast_cleared', c_format='0x%x')], - tp_print=['fast_cleared: 0x%x', '__entry->fast_cleared'], + args=[TracepointArg(type='uint16_t', var='fast_cleared', c_format='0x%x'), + TracepointArg(type='uint16_t', var='restore', c_format='0x%x')], + tp_print=['fast_cleared: 0x%x, restore=0x%x', '__entry->fast_cleared', + '__entry->restore'], ) -begin_end_tp('resolve') +begin_end_tp('resolve', + args=[TracepointArg(type='uint16_t', var='stored', c_format='0x%x')], + tp_print=['stored: 0x%x', '__entry->stored'], +) singular_tp('start_tile', args=[TracepointArg(type='uint16_t', var='bin_h', c_format='%u'),