diff --git a/src/freedreno/vulkan/tu_tracepoints.py b/src/freedreno/vulkan/tu_tracepoints.py index e70f1c7a7fc..106581a39a6 100644 --- a/src/freedreno/vulkan/tu_tracepoints.py +++ b/src/freedreno/vulkan/tu_tracepoints.py @@ -54,10 +54,18 @@ Header('freedreno/vulkan/tu_private.h', scope=HeaderScope.SOURCE) ForwardDecl('struct tu_device') -Tracepoint('start_render_pass', - tp_perfetto='tu_start_render_pass' -) -Tracepoint('end_render_pass', + +def begin_end_tp(name, args=[], tp_struct=None, tp_print=None): + Tracepoint('start_{0}'.format(name), + tp_perfetto='tu_start_{0}'.format(name)) + Tracepoint('end_{0}'.format(name), + args=args, + tp_struct=tp_struct, + tp_perfetto='tu_end_{0}'.format(name), + tp_print=tp_print) + + +begin_end_tp('render_pass', args=[ArgStruct(type='const struct tu_framebuffer *', var='fb')], tp_struct=[Arg(type='uint16_t', name='width', var='fb->width', c_format='%u'), Arg(type='uint16_t', name='height', var='fb->height', c_format='%u'), @@ -65,89 +73,52 @@ Tracepoint('end_render_pass', # Arg(type='uint8_t', name='samples', var='fb->samples', c_format='%u'), Arg(type='uint16_t', name='numberOfBins', var='fb->tile_count.width * fb->tile_count.height', c_format='%u'), Arg(type='uint16_t', name='binWidth', var='fb->tile0.width', c_format='%u'), - Arg(type='uint16_t', name='binHeight', var='fb->tile0.height', c_format='%u')], - tp_perfetto='tu_end_render_pass') + Arg(type='uint16_t', name='binHeight', var='fb->tile0.height', c_format='%u')]) -Tracepoint('start_binning_ib', - tp_perfetto='tu_start_binning_ib') -Tracepoint('end_binning_ib', - tp_perfetto='tu_end_binning_ib') +begin_end_tp('binning_ib') +begin_end_tp('draw_ib_sysmem') +begin_end_tp('draw_ib_gmem') -Tracepoint('start_draw_ib_sysmem', - tp_perfetto='tu_start_draw_ib_sysmem') -Tracepoint('end_draw_ib_sysmem', - tp_perfetto='tu_end_draw_ib_sysmem') - -Tracepoint('start_draw_ib_gmem', - tp_perfetto='tu_start_draw_ib_gmem') -Tracepoint('end_draw_ib_gmem', - tp_perfetto='tu_end_draw_ib_gmem') - -Tracepoint('start_gmem_clear', - tp_perfetto='tu_start_gmem_clear') -Tracepoint('end_gmem_clear', +begin_end_tp('gmem_clear', args=[Arg(type='enum VkFormat', var='format', c_format='%s', to_prim_type='vk_format_description({})->short_name'), - Arg(type='uint8_t', var='samples', c_format='%u')], - tp_perfetto='tu_end_gmem_clear') + Arg(type='uint8_t', var='samples', c_format='%u')]) -Tracepoint('start_sysmem_clear', - tp_perfetto='tu_start_sysmem_clear') -Tracepoint('end_sysmem_clear', +begin_end_tp('sysmem_clear', args=[Arg(type='enum VkFormat', var='format', c_format='%s', to_prim_type='vk_format_description({})->short_name'), Arg(type='uint8_t', var='uses_3d_ops', c_format='%u'), - Arg(type='uint8_t', var='samples', c_format='%u')], - tp_perfetto='tu_end_sysmem_clear') + Arg(type='uint8_t', var='samples', c_format='%u')]) -Tracepoint('start_sysmem_clear_all', - tp_perfetto='tu_start_sysmem_clear_all') -Tracepoint('end_sysmem_clear_all', +begin_end_tp('sysmem_clear_all', args=[Arg(type='uint8_t', var='mrt_count', c_format='%u'), - Arg(type='uint8_t', var='rect_count', c_format='%u')], - tp_perfetto='tu_end_sysmem_clear_all') + Arg(type='uint8_t', var='rect_count', c_format='%u')]) -Tracepoint('start_gmem_load', - tp_perfetto='tu_start_gmem_load') -Tracepoint('end_gmem_load', +begin_end_tp('gmem_load', args=[Arg(type='enum VkFormat', var='format', c_format='%s', to_prim_type='vk_format_description({})->short_name'), - Arg(type='uint8_t', var='force_load', c_format='%u')], - tp_perfetto='tu_end_gmem_load') + Arg(type='uint8_t', var='force_load', c_format='%u')]) -Tracepoint('start_gmem_store', - tp_perfetto='tu_start_gmem_store') -Tracepoint('end_gmem_store', +begin_end_tp('gmem_store', args=[Arg(type='enum VkFormat', var='format', c_format='%s', to_prim_type='vk_format_description({})->short_name'), Arg(type='uint8_t', var='fast_path', c_format='%u'), - Arg(type='uint8_t', var='unaligned', c_format='%u')], - tp_perfetto='tu_end_gmem_store') + Arg(type='uint8_t', var='unaligned', c_format='%u')]) -Tracepoint('start_sysmem_resolve', - tp_perfetto='tu_start_sysmem_resolve') -Tracepoint('end_sysmem_resolve', - args=[Arg(type='enum VkFormat', var='format', c_format='%s', to_prim_type='vk_format_description({})->short_name')], - tp_perfetto='tu_end_sysmem_resolve') +begin_end_tp('sysmem_resolve', + args=[Arg(type='enum VkFormat', var='format', c_format='%s', to_prim_type='vk_format_description({})->short_name')]) -Tracepoint('start_blit', - tp_perfetto='tu_start_blit', -) -Tracepoint('end_blit', +begin_end_tp('blit', # TODO: add source megapixels count and target megapixels count arguments args=[Arg(type='uint8_t', var='uses_3d_blit', c_format='%u'), Arg(type='enum VkFormat', var='src_format', c_format='%s', to_prim_type='vk_format_description({})->short_name'), Arg(type='enum VkFormat', var='dst_format', c_format='%s', to_prim_type='vk_format_description({})->short_name'), - Arg(type='uint8_t', var='layers', c_format='%u')], - tp_perfetto='tu_end_blit') + Arg(type='uint8_t', var='layers', c_format='%u')]) -Tracepoint('start_compute', - tp_perfetto='tu_start_compute') -Tracepoint('end_compute', +begin_end_tp('compute', args=[Arg(type='uint8_t', var='indirect', c_format='%u'), Arg(type='uint16_t', var='local_size_x', c_format='%u'), Arg(type='uint16_t', var='local_size_y', c_format='%u'), Arg(type='uint16_t', var='local_size_z', c_format='%u'), Arg(type='uint16_t', var='num_groups_x', c_format='%u'), Arg(type='uint16_t', var='num_groups_y', c_format='%u'), - Arg(type='uint16_t', var='num_groups_z', c_format='%u')], - tp_perfetto='tu_end_compute') + Arg(type='uint16_t', var='num_groups_z', c_format='%u')]) utrace_generate(cpath=args.utrace_src, hpath=args.utrace_hdr, ctx_param='struct tu_device *dev') utrace_generate_perfetto_utils(hpath=args.perfetto_hdr)