panvk: define cmdbuf begin/end tracepoints

Add panvk_tracepoints.py with trace points for cmdbuf begin/end.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32360>
This commit is contained in:
Chia-I Wu
2024-11-22 20:24:33 -08:00
committed by Marge Bot
parent d340ed6726
commit 76faa6f3f3
2 changed files with 78 additions and 1 deletions
+15 -1
View File
@@ -18,6 +18,19 @@ panvk_entrypoints = custom_target(
depend_files : vk_entrypoints_gen_depend_files,
)
panvk_tracepoints = custom_target(
'panvk_tracepoints.[ch]',
input: 'panvk_tracepoints.py',
output: ['panvk_tracepoints.h', 'panvk_tracepoints.c'],
command: [
prog_python, '@INPUT@',
'--import-path', join_paths(dir_source_root, 'src/util/perf/'),
'--utrace-hdr', '@OUTPUT0@',
'--utrace-src', '@OUTPUT1@',
],
depend_files: u_trace_py,
)
libpanvk_files = files(
'panvk_buffer.c',
'panvk_cmd_pool.c',
@@ -75,6 +88,7 @@ csf_files = [
common_per_arch_files = [
panvk_entrypoints[0],
panvk_tracepoints[0],
'panvk_vX_blend.c',
'panvk_vX_buffer_view.c',
'panvk_vX_cmd_fb_preload.c',
@@ -148,7 +162,7 @@ endif
libvulkan_panfrost = shared_library(
'vulkan_panfrost',
[libpanvk_files, panvk_entrypoints],
[libpanvk_files, panvk_entrypoints, panvk_tracepoints],
include_directories : [
inc_include,
inc_src,
+63
View File
@@ -0,0 +1,63 @@
# Copyright 2024 Google LLC
# SPDX-License-Identifier: MIT
import argparse
import sys
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('-p', '--import-path', required=True)
parser.add_argument('--utrace-src', required=True)
parser.add_argument('--utrace-hdr', required=True)
return parser.parse_args()
args = parse_args()
sys.path.insert(0, args.import_path)
from u_trace import ForwardDecl, Header, HeaderScope # noqa: E402
from u_trace import Tracepoint # noqa: E402
from u_trace import TracepointArg as Arg # noqa: E402
from u_trace import TracepointArgStruct as ArgStruct # noqa: E402
from u_trace import utrace_generate # noqa: E402
Header('vulkan/vulkan_core.h', scope=HeaderScope.HEADER)
def begin_end_tp(name, args=[], tp_struct=None):
Tracepoint(
f'begin_{name}',
)
Tracepoint(
f'end_{name}',
args=args,
tp_struct=tp_struct,
)
def define_tracepoints():
begin_end_tp(
'cmdbuf',
args=[
Arg(
type='VkCommandBufferUsageFlags',
var='flags',
c_format='0x%x',
),
],
)
def generate_code():
utrace_generate(cpath=args.utrace_src, hpath=args.utrace_hdr, ctx_param=None)
def main():
define_tracepoints()
generate_code()
if __name__ == '__main__':
main()