Module: Mesa Branch: main Commit: 4f5850785530fccd7a9d13fcb2d0662e2f7e798d URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f5850785530fccd7a9d13fcb2d0662e2f7e798d
Author: Mike Blumenkrantz <[email protected]> Date: Thu Mar 9 07:18:23 2023 -0500 aux/tc: track the number of active queries Acked-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21800> --- src/gallium/auxiliary/util/u_threaded_context.c | 2 ++ src/gallium/auxiliary/util/u_threaded_context.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/gallium/auxiliary/util/u_threaded_context.c b/src/gallium/auxiliary/util/u_threaded_context.c index ce069f2c4fd..aabb4e66ef6 100644 --- a/src/gallium/auxiliary/util/u_threaded_context.c +++ b/src/gallium/auxiliary/util/u_threaded_context.c @@ -1094,6 +1094,7 @@ static bool tc_begin_query(struct pipe_context *_pipe, struct pipe_query *query) { struct threaded_context *tc = threaded_context(_pipe); + tc->num_queries_active++; tc_add_call(tc, TC_CALL_begin_query, tc_query_call)->query = query; return true; /* we don't care about the return value for this call */ @@ -1125,6 +1126,7 @@ tc_end_query(struct pipe_context *_pipe, struct pipe_query *query) struct threaded_query *tq = threaded_query(query); struct tc_end_query_call *call = tc_add_call(tc, TC_CALL_end_query, tc_end_query_call); + tc->num_queries_active--; call->tc = tc; call->query = query; diff --git a/src/gallium/auxiliary/util/u_threaded_context.h b/src/gallium/auxiliary/util/u_threaded_context.h index 937c99db4c8..e376d688fd3 100644 --- a/src/gallium/auxiliary/util/u_threaded_context.h +++ b/src/gallium/auxiliary/util/u_threaded_context.h @@ -563,6 +563,7 @@ struct threaded_context { bool use_forced_staging_uploads; bool add_all_gfx_bindings_to_buffer_list; bool add_all_compute_bindings_to_buffer_list; + uint8_t num_queries_active; /* Estimation of how much vram/gtt bytes are mmap'd in * the current tc_batch.
