diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index d860508fb72..5c098d3920c 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -365,6 +365,8 @@ tu_emit_cache_flush(struct tu_cmd_buffer *cmd_buffer) tu6_emit_flushes(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); diff --git a/src/freedreno/vulkan/tu_perfetto.cc b/src/freedreno/vulkan/tu_perfetto.cc index c38102d9401..4e8ce285116 100644 --- a/src/freedreno/vulkan/tu_perfetto.cc +++ b/src/freedreno/vulkan/tu_perfetto.cc @@ -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) diff --git a/src/freedreno/vulkan/tu_tracepoints.py b/src/freedreno/vulkan/tu_tracepoints.py index 3d102950b2b..b5a57415942 100644 --- a/src/freedreno/vulkan/tu_tracepoints.py +++ b/src/freedreno/vulkan/tu_tracepoints.py @@ -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'),