Mesa (main): turnip: Add TU_GPU_TRACEPOINT envvar to toggle tracepoints

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


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

Author: Danylo Piliaiev <dpiliaiev at igalia.com>
Date:   Tue May 31 12:54:27 2022 +0300

turnip: Add TU_GPU_TRACEPOINT envvar to toggle tracepoints

All tracepoints are enabled by default.

Example:
 TU_GPU_TRACEPOINT=-sysmem_clear

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

---

 src/freedreno/vulkan/tu_device.c       |  3 +++
 src/freedreno/vulkan/tu_tracepoints.py | 18 ++++++++++++++++--
 2 files changed, 19 insertions(+), 2 deletions(-)

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 <fcntl.h>
@@ -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)



More information about the mesa-commit mailing list