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:
@@ -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,
|
||||
|
||||
@@ -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()
|
||||
Reference in New Issue
Block a user