diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c index 389ca3b7330..eb580fed31d 100644 --- a/src/freedreno/vulkan/tu_device.c +++ b/src/freedreno/vulkan/tu_device.c @@ -27,6 +27,7 @@ #include "tu_private.h" #include "tu_cs.h" +#include "tu_tracepoints.h" #include "git_sha1.h" #include @@ -1970,6 +1971,8 @@ tu_CreateDevice(VkPhysicalDevice physicalDevice, physical_device->info->a6xx.has_z24uint_s8uint && !border_color_without_format; + tu_gpu_tracepoint_config_variable(); + device->submit_count = 0; u_trace_context_init(&device->trace_context, device, tu_trace_create_ts_buffer, diff --git a/src/freedreno/vulkan/tu_tracepoints.py b/src/freedreno/vulkan/tu_tracepoints.py index 106581a39a6..ba65a6ae645 100644 --- a/src/freedreno/vulkan/tu_tracepoints.py +++ b/src/freedreno/vulkan/tu_tracepoints.py @@ -44,6 +44,10 @@ from u_trace import TracepointArgStruct as ArgStruct from u_trace import utrace_generate from u_trace import utrace_generate_perfetto_utils +# List of the default tracepoints enabled. By default tracepoints are enabled, +# set tp_default_enabled=False to disable them by default. +tu_default_tps = [] + # # Tracepoint definitions: # @@ -55,10 +59,16 @@ Header('freedreno/vulkan/tu_private.h', scope=HeaderScope.SOURCE) ForwardDecl('struct tu_device') -def begin_end_tp(name, args=[], tp_struct=None, tp_print=None): +def begin_end_tp(name, args=[], tp_struct=None, tp_print=None, + tp_default_enabled=True): + global tu_default_tps + if tp_default_enabled: + tu_default_tps.append(name) Tracepoint('start_{0}'.format(name), + toggle_name=name, tp_perfetto='tu_start_{0}'.format(name)) Tracepoint('end_{0}'.format(name), + toggle_name=name, args=args, tp_struct=tp_struct, tp_perfetto='tu_end_{0}'.format(name), @@ -120,5 +130,9 @@ begin_end_tp('compute', Arg(type='uint16_t', var='num_groups_y', c_format='%u'), 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(cpath=args.utrace_src, + hpath=args.utrace_hdr, + ctx_param='struct tu_device *dev', + trace_toggle_name='tu_gpu_tracepoint', + trace_toggle_defaults=tu_default_tps) utrace_generate_perfetto_utils(hpath=args.perfetto_hdr)