Mesa (main): turnip: Refactor tracepoints generation to reduce duplication

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 12 23:02:59 UTC 2022


Module: Mesa
Branch: main
Commit: d903c6c7f363f83e010f5efdd4c230e4279b66d0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d903c6c7f363f83e010f5efdd4c230e4279b66d0

Author: Danylo Piliaiev <dpiliaiev at igalia.com>
Date:   Mon May 30 20:49:16 2022 +0300

turnip: Refactor tracepoints generation to reduce duplication

This way we will not need to repeat arguments for "start" and "end"
tracepoints.

Signed-off-by: Danylo Piliaiev <dpiliaiev at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>

---

 src/freedreno/vulkan/tu_tracepoints.py | 101 ++++++++++++---------------------
 1 file changed, 36 insertions(+), 65 deletions(-)

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')
-
-Tracepoint('start_binning_ib',
-    tp_perfetto='tu_start_binning_ib')
-Tracepoint('end_binning_ib',
-    tp_perfetto='tu_end_binning_ib')
-
-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',
+               Arg(type='uint16_t', name='binHeight',    var='fb->tile0.height',                             c_format='%u')])
+
+begin_end_tp('binning_ib')
+begin_end_tp('draw_ib_sysmem')
+begin_end_tp('draw_ib_gmem')
+
+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')
-
-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')
-
-Tracepoint('start_blit',
-    tp_perfetto='tu_start_blit',
-)
-Tracepoint('end_blit',
+          Arg(type='uint8_t',        var='unaligned', c_format='%u')])
+
+begin_end_tp('sysmem_resolve',
+    args=[Arg(type='enum VkFormat',  var='format',   c_format='%s', to_prim_type='vk_format_description({})->short_name')])
+
+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)



More information about the mesa-commit mailing list