def begin_end_tp(name, tp_args=[], tp_struct=None, tp_print=None, end_pipelined=True): Tracepoint('intel_begin_{0}'.format(name), tp_perfetto='intel_ds_begin_{0}'.format(name)) Tracepoint('intel_end_{0}'.format(name), args=tp_args, tp_struct=tp_struct, tp_perfetto='intel_ds_end_{0}'.format(name), tp_print=tp_print, end_of_pipe=end_pipelined)
def begin_end_tp(name, args=[], tp_struct=None, tp_print=None, tp_default_enabled=True): global fd_default_tps if tp_default_enabled: fd_default_tps.append(name) Tracepoint('start_{0}'.format(name), toggle_name=name, args=args, tp_struct=tp_struct, tp_perfetto='fd_start_{0}'.format(name), tp_print=tp_print) Tracepoint('end_{0}'.format(name), toggle_name=name, tp_perfetto='fd_end_{0}'.format(name))
def singular_tp(name, args=[], tp_struct=None, tp_print=None, tp_default_enabled=True): global fd_default_tps if tp_default_enabled: fd_default_tps.append(name) Tracepoint(name, toggle_name=name, args=args, tp_struct=tp_struct, tp_print=tp_print)
# # Tracepoint definitions: # Header('pipe/p_state.h') Header('util/format/u_format.h') Tracepoint( 'surface', args=[['const struct pipe_surface *', 'psurf']], tp_struct=[['uint16_t', 'width', 'psurf->width'], ['uint16_t', 'height', 'psurf->height'], ['uint8_t', 'nr_samples', 'psurf->nr_samples'], [ 'const char *', 'format', 'util_format_short_name(psurf->format)' ]], tp_print=[ '%ux%u@%u, fmt=%s', '__entry->width', '__entry->height', '__entry->nr_samples', '__entry->format' ], ) # Note: called internally from trace_framebuffer_state() Tracepoint( 'framebuffer', args=[['const struct pipe_framebuffer_state *', 'pfb']], tp_struct=[['uint16_t', 'width', 'pfb->width'], ['uint16_t', 'height', 'pfb->height'], ['uint8_t', 'layers', 'pfb->layers'],
sys.path.insert(0, args.import_path) from u_trace import Header from u_trace import Tracepoint from u_trace import TracepointArg from u_trace import utrace_generate # # Tracepoint definitions: # Header('util/u_dump.h') Header('freedreno_batch.h') Tracepoint('start_state_restore') Tracepoint('end_state_restore') Tracepoint('flush_batch', args=[TracepointArg(type='struct fd_batch *', var='batch', c_format='%x'), TracepointArg(type='uint16_t', var='cleared', c_format='%x'), TracepointArg(type='uint16_t', var='gmem_reason', c_format='%x'), TracepointArg(type='uint16_t', var='num_draws', c_format='%u')], tp_print=['%p: cleared=%x, gmem_reason=%x, num_draws=%u', '__entry->batch', '__entry->cleared', '__entry->gmem_reason', '__entry->num_draws'], ) Tracepoint('render_gmem', args=[TracepointArg(type='uint16_t', var='nbins_x', c_format='%u'), TracepointArg(type='uint16_t', var='nbins_y', c_format='%u'), TracepointArg(type='uint16_t', var='bin_w', c_format='%u'),
parser.add_argument('-H', '--hdr', required=True) args = parser.parse_args() sys.path.insert(0, args.import_path) from u_trace import Header from u_trace import Tracepoint from u_trace import utrace_generate # # Tracepoint definitions: # Header('util/u_dump.h') Header('freedreno_batch.h') Tracepoint('start_state_restore') Tracepoint('end_state_restore') Tracepoint( 'flush_batch', args=[['struct fd_batch *', 'batch'], ['uint16_t', 'cleared'], ['uint16_t', 'gmem_reason'], ['uint16_t', 'num_draws']], tp_print=[ '%p: cleared=%x, gmem_reason=%x, num_draws=%u', '__entry->batch', '__entry->cleared', '__entry->gmem_reason', '__entry->num_draws' ], ) Tracepoint( 'render_gmem', args=[['uint16_t', 'nbins_x'], ['uint16_t', 'nbins_y'],
from u_trace import TracepointArg as Arg from u_trace import TracepointArgStruct as ArgStruct from u_trace import utrace_generate from u_trace import utrace_generate_perfetto_utils # # Tracepoint definitions: # Header('util/u_dump.h') Header('vk_format.h') 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', 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'), Arg(type='uint8_t', name='MRTs', var='fb->attachment_count', c_format='%u'), # 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'),
# Header('pipe/p_state.h') Header('util/format/u_format.h') Tracepoint( 'surface', args=[ArgStruct(type='const struct pipe_surface *', var='psurf')], tp_struct=[ Arg(type='uint16_t', name='width', var='psurf->width', c_format='%u'), Arg(type='uint16_t', name='height', var='psurf->height', c_format='%u'), Arg(type='uint8_t', name='nr_samples', var='psurf->nr_samples', c_format='%u'), Arg(type='const char *', name='format', var='util_format_short_name(psurf->format)', c_format='%s') ], tp_print=[ '%ux%u@%u, fmt=%s', '__entry->width', '__entry->height', '__entry->nr_samples', '__entry->format' ], ) # Note: called internally from trace_framebuffer_state() Tracepoint( 'framebuffer', args=[ArgStruct(type='const struct pipe_framebuffer_state *', var='pfb')],