mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 13:50:11 +01:00
intel/ds: add INTEL_GPU_TRACEPOINT envvar to toggle tracepoints
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>
This commit is contained in:
parent
28b15fa9e7
commit
4dd3e755ea
3 changed files with 21 additions and 2 deletions
|
|
@ -68,3 +68,6 @@ u_trace is controlled by environment variables:
|
||||||
* - Turnip
|
* - Turnip
|
||||||
- .. envvar:: TU_GPU_TRACEPOINT
|
- .. envvar:: TU_GPU_TRACEPOINT
|
||||||
- ``src/freedreno/vulkan/tu_tracepoints.py``
|
- ``src/freedreno/vulkan/tu_tracepoints.py``
|
||||||
|
* - Anv
|
||||||
|
- .. envvar:: INTEL_GPU_TRACEPOINT
|
||||||
|
- ``src/freedreno/vulkan/intel_tracepoints.py``
|
||||||
|
|
|
||||||
|
|
@ -588,6 +588,7 @@ intel_driver_ds_init(void)
|
||||||
{
|
{
|
||||||
call_once(&intel_driver_ds_once_flag,
|
call_once(&intel_driver_ds_once_flag,
|
||||||
intel_driver_ds_init_once);
|
intel_driver_ds_init_once);
|
||||||
|
intel_gpu_tracepoint_config_variable();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,12 @@
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
# List of the default tracepoints enabled. By default most tracepoints are
|
||||||
|
# enabled, set tp_default=False to disable them by default.
|
||||||
|
#
|
||||||
|
# Currently only stall is disabled by default
|
||||||
|
intel_default_tps = []
|
||||||
|
|
||||||
#
|
#
|
||||||
# Tracepoint definitions:
|
# Tracepoint definitions:
|
||||||
#
|
#
|
||||||
|
|
@ -38,10 +44,16 @@ def define_tracepoints(args):
|
||||||
Header('blorp/blorp_priv.h', scope=HeaderScope.HEADER)
|
Header('blorp/blorp_priv.h', scope=HeaderScope.HEADER)
|
||||||
Header('ds/intel_driver_ds.h', scope=HeaderScope.HEADER)
|
Header('ds/intel_driver_ds.h', scope=HeaderScope.HEADER)
|
||||||
|
|
||||||
def begin_end_tp(name, tp_args=[], tp_struct=None, tp_print=None, end_pipelined=True):
|
def begin_end_tp(name, tp_args=[], tp_struct=None, tp_print=None,
|
||||||
|
tp_default_enabled=True, end_pipelined=True):
|
||||||
|
global intel_default_tps
|
||||||
|
if tp_default_enabled:
|
||||||
|
intel_default_tps.append(name)
|
||||||
Tracepoint('intel_begin_{0}'.format(name),
|
Tracepoint('intel_begin_{0}'.format(name),
|
||||||
|
toggle_name=name,
|
||||||
tp_perfetto='intel_ds_begin_{0}'.format(name))
|
tp_perfetto='intel_ds_begin_{0}'.format(name))
|
||||||
Tracepoint('intel_end_{0}'.format(name),
|
Tracepoint('intel_end_{0}'.format(name),
|
||||||
|
toggle_name=name,
|
||||||
args=tp_args,
|
args=tp_args,
|
||||||
tp_struct=tp_struct,
|
tp_struct=tp_struct,
|
||||||
tp_perfetto='intel_ds_end_{0}'.format(name),
|
tp_perfetto='intel_ds_end_{0}'.format(name),
|
||||||
|
|
@ -176,6 +188,7 @@ def define_tracepoints(args):
|
||||||
tp_struct=[Arg(type='uint32_t', name='flags', var='decode_cb(flags)', c_format='0x%x'),
|
tp_struct=[Arg(type='uint32_t', name='flags', var='decode_cb(flags)', c_format='0x%x'),
|
||||||
Arg(type='const char *', name='reason', var='reason', c_format='%s'),],
|
Arg(type='const char *', name='reason', var='reason', c_format='%s'),],
|
||||||
tp_print=stall_args(stall_flags),
|
tp_print=stall_args(stall_flags),
|
||||||
|
tp_default_enabled=False,
|
||||||
end_pipelined=False)
|
end_pipelined=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -185,7 +198,9 @@ def generate_code(args):
|
||||||
|
|
||||||
utrace_generate(cpath=args.utrace_src, hpath=args.utrace_hdr,
|
utrace_generate(cpath=args.utrace_src, hpath=args.utrace_hdr,
|
||||||
ctx_param='struct intel_ds_device *dev',
|
ctx_param='struct intel_ds_device *dev',
|
||||||
need_cs_param=False)
|
need_cs_param=False,
|
||||||
|
trace_toggle_name='intel_gpu_tracepoint',
|
||||||
|
trace_toggle_defaults=intel_default_tps)
|
||||||
utrace_generate_perfetto_utils(hpath=args.perfetto_hdr)
|
utrace_generate_perfetto_utils(hpath=args.perfetto_hdr)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue