Mesa (main): aux/trace: support pipe_context::get_query_result_resource

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Nov 5 19:01:19 UTC 2021


Module: Mesa
Branch: main
Commit: d2f3aba5f0e0c25901cf7bcc636944a91bc106a2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2f3aba5f0e0c25901cf7bcc636944a91bc106a2

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu Oct 28 16:23:11 2021 -0400

aux/trace: support pipe_context::get_query_result_resource

Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13582>

---

 src/gallium/auxiliary/driver_trace/tr_context.c | 33 +++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/src/gallium/auxiliary/driver_trace/tr_context.c b/src/gallium/auxiliary/driver_trace/tr_context.c
index 7702660e6b3..42bc6852d66 100644
--- a/src/gallium/auxiliary/driver_trace/tr_context.c
+++ b/src/gallium/auxiliary/driver_trace/tr_context.c
@@ -320,6 +320,38 @@ trace_context_get_query_result(struct pipe_context *_pipe,
    return ret;
 }
 
+static void
+trace_context_get_query_result_resource(struct pipe_context *_pipe,
+                                        struct pipe_query *_query,
+                                        bool wait,
+                                        enum pipe_query_value_type result_type,
+                                        int index,
+                                        struct pipe_resource *resource,
+                                        unsigned offset)
+{
+   struct trace_context *tr_ctx = trace_context(_pipe);
+   struct pipe_context *pipe = tr_ctx->pipe;
+   struct trace_query *tr_query = trace_query(_query);
+   struct pipe_query *query = tr_query->query;
+
+   trace_dump_call_begin("pipe_context", "get_query_result_resource");
+
+   trace_dump_arg(ptr, pipe);
+   trace_dump_arg(ptr, query);
+   trace_dump_arg(bool, wait);
+   trace_dump_arg(uint, result_type);
+   trace_dump_arg(uint, index);
+   trace_dump_arg(ptr, resource);
+   trace_dump_arg(uint, offset);
+
+   if (tr_ctx->threaded)
+      threaded_query(query)->flushed = tr_query->base.flushed;
+
+   trace_dump_call_end();
+
+   pipe->get_query_result_resource(pipe, query, wait, result_type, index, resource, offset);
+}
+
 
 static void
 trace_context_set_active_query_state(struct pipe_context *_pipe,
@@ -2219,6 +2251,7 @@ trace_context_create(struct trace_screen *tr_scr,
    TR_CTX_INIT(begin_query);
    TR_CTX_INIT(end_query);
    TR_CTX_INIT(get_query_result);
+   TR_CTX_INIT(get_query_result_resource);
    TR_CTX_INIT(set_active_query_state);
    TR_CTX_INIT(create_blend_state);
    TR_CTX_INIT(bind_blend_state);



More information about the mesa-commit mailing list