tu: Add concurrent_binning_barrier tracepoint

Makes easy to spot the synchronization points for CB.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38258>
This commit is contained in:
Danylo Piliaiev 2025-11-05 13:03:12 +01:00 committed by Marge Bot
parent 829ff578e4
commit 6b0df4b01a
3 changed files with 6 additions and 0 deletions

View file

@ -365,6 +365,8 @@ tu_emit_cache_flush(struct tu_cmd_buffer *cmd_buffer)
tu6_emit_flushes<CHIP>(cmd_buffer, cs, cache);
if ((flushes & TU_CMD_FLAG_WAIT_FOR_BR) && CHIP >= A7XX) {
trace_start_concurrent_binning_barrier(&cmd_buffer->trace, cs, cmd_buffer);
tu_cs_emit_pkt7(cs, CP_THREAD_CONTROL, 1);
tu_cs_emit(cs, CP_THREAD_CONTROL_0_THREAD(CP_SET_THREAD_BOTH));
@ -405,6 +407,8 @@ tu_emit_cache_flush(struct tu_cmd_buffer *cmd_buffer)
tu7_wait_onchip_val(cs, TU_ONCHIP_BARRIER, 0);
tu7_thread_control(cs, CP_SET_THREAD_BR);
trace_end_concurrent_binning_barrier(&cmd_buffer->trace, cs);
}
}
TU_GENX(tu_emit_cache_flush);

View file

@ -588,6 +588,7 @@ CREATE_EVENT_CALLBACK(secondary_cmd_buffer, SECONDARY_CMD_BUFFER_STAGE_ID)
CREATE_EVENT_CALLBACK(render_pass, RENDER_PASS_STAGE_ID)
CREATE_EVENT_CALLBACK(binning_ib, BINNING_STAGE_ID)
CREATE_EVENT_CALLBACK(concurrent_binning_ib, CONCURRENT_BINNING_STAGE_ID)
CREATE_EVENT_CALLBACK(concurrent_binning_barrier, CONCURRENT_BINNING_STAGE_ID)
CREATE_EVENT_CALLBACK(draw_ib_gmem, GMEM_STAGE_ID)
CREATE_EVENT_CALLBACK(draw_ib_sysmem, BYPASS_STAGE_ID)
CREATE_EVENT_CALLBACK(blit, BLIT_STAGE_ID)

View file

@ -138,6 +138,7 @@ begin_end_tp('binning_ib')
begin_end_tp('concurrent_binning_ib')
begin_end_tp('draw_ib_sysmem')
begin_end_tp('draw_ib_gmem')
begin_end_tp('concurrent_binning_barrier')
begin_end_tp('generic_clear',
args=[Arg(type='enum VkFormat', var='format', c_format='%s', to_prim_type='vk_format_description({})->short_name'),