summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatti Hamalainen <ccr@tnsp.org>2021-05-12 12:52:58 +0300
committerMarge Bot <emma+marge@anholt.net>2022-01-19 11:57:17 +0000
commit85a75e42db76e3d4afa53eb489a329200944731f (patch)
tree9c69498763d550930bad7c285eef0d2f76c304fb
parent32d40f7c80c57104243c736fa7f436c4a973df88 (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.c76
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 *