diff options
author | Matti Hamalainen <ccr@tnsp.org> | 2021-05-12 12:52:58 +0300 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-01-19 11:57:17 +0000 |
commit | 85a75e42db76e3d4afa53eb489a329200944731f (patch) | |
tree | 9c69498763d550930bad7c285eef0d2f76c304fb | |
parent | 32d40f7c80c57104243c736fa7f436c4a973df88 (diff) |
aux/trace: implement missing trace calls
Some call traces (resource_from_handle, resource_get_handle and
resource_get_param) were TODO, so implement them while we are here.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14398>
-rw-r--r-- | src/gallium/auxiliary/driver_trace/tr_screen.c | 76 |
1 files changed, 66 insertions, 10 deletions
diff --git a/src/gallium/auxiliary/driver_trace/tr_screen.c b/src/gallium/auxiliary/driver_trace/tr_screen.c index 4174fe64d10..ec48e874e59 100644 --- a/src/gallium/auxiliary/driver_trace/tr_screen.c +++ b/src/gallium/auxiliary/driver_trace/tr_screen.c @@ -113,8 +113,21 @@ trace_screen_get_compiler_options(struct pipe_screen *_screen, { struct trace_screen *tr_scr = trace_screen(_screen); struct pipe_screen *screen = tr_scr->screen; + const void *result; - return screen->get_compiler_options(screen, ir, shader); + trace_dump_call_begin("pipe_screen", "get_compiler_options"); + + trace_dump_arg(ptr, screen); + trace_dump_arg_enum(ir, tr_util_pipe_shader_ir_name(ir)); + trace_dump_arg_enum(shader, tr_util_pipe_shader_type_name(shader)); + + result = screen->get_compiler_options(screen, ir, shader); + + trace_dump_ret(ptr, result); + + trace_dump_call_end(); + + return result; } @@ -646,10 +659,19 @@ trace_screen_resource_from_handle(struct pipe_screen *_screen, struct pipe_screen *screen = tr_screen->screen; struct pipe_resource *result; - /* TODO trace call */ + trace_dump_call_begin("pipe_screen", "resource_from_handle"); + + trace_dump_arg(ptr, screen); + trace_dump_arg(resource_template, templ); + trace_dump_arg(ptr, handle); + trace_dump_arg(uint, usage); result = screen->resource_from_handle(screen, templ, handle, usage); + trace_dump_ret(ptr, result); + + trace_dump_call_end(); + if (result) result->screen = _screen; return result; @@ -675,11 +697,22 @@ trace_screen_resource_get_handle(struct pipe_screen *_screen, struct trace_screen *tr_screen = trace_screen(_screen); struct pipe_context *pipe = _pipe ? trace_get_possibly_threaded_context(_pipe) : NULL; struct pipe_screen *screen = tr_screen->screen; + bool result; + + trace_dump_call_begin("pipe_screen", "resource_get_handle"); + + trace_dump_arg(ptr, screen); + trace_dump_arg(ptr, resource); + trace_dump_arg(ptr, handle); + trace_dump_arg(uint, usage); + + result = screen->resource_get_handle(screen, pipe, resource, handle, usage); - /* TODO trace call */ + trace_dump_ret(bool, result); + + trace_dump_call_end(); - return screen->resource_get_handle(screen, pipe, - resource, handle, usage); + return result; } static bool @@ -696,12 +729,28 @@ trace_screen_resource_get_param(struct pipe_screen *_screen, struct trace_screen *tr_screen = trace_screen(_screen); struct pipe_context *pipe = _pipe ? trace_get_possibly_threaded_context(_pipe) : NULL; struct pipe_screen *screen = tr_screen->screen; + bool result; + + trace_dump_call_begin("pipe_screen", "resource_get_param"); + + trace_dump_arg(ptr, screen); + trace_dump_arg(ptr, resource); + trace_dump_arg(uint, plane); + trace_dump_arg(uint, layer); + trace_dump_arg(uint, level); + trace_dump_arg_enum(param, tr_util_pipe_resource_param_name(param)); + trace_dump_arg(uint, handle_usage); + + result = screen->resource_get_param(screen, pipe, + resource, plane, layer, level, param, + handle_usage, value); - /* TODO trace call */ + trace_dump_arg(uint, *value); + trace_dump_ret(bool, result); + + trace_dump_call_end(); - return screen->resource_get_param(screen, pipe, - resource, plane, layer, level, param, - handle_usage, value); + return result; } static void @@ -713,9 +762,16 @@ trace_screen_resource_get_info(struct pipe_screen *_screen, struct trace_screen *tr_screen = trace_screen(_screen); struct pipe_screen *screen = tr_screen->screen; - /* TODO trace call */ + trace_dump_call_begin("pipe_screen", "resource_get_info"); + trace_dump_arg(ptr, screen); + trace_dump_arg(ptr, resource); screen->resource_get_info(screen, resource, stride, offset); + + trace_dump_arg(uint, *stride); + trace_dump_arg(uint, *offset); + + trace_dump_call_end(); } static struct pipe_resource * |