summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2020-05-20 09:53:45 -0400
committerMarge Bot <eric+marge@anholt.net>2020-05-22 13:24:10 +0000
commitaf2d99353555715afe6e6b6ba5158a2cc0d6b015 (patch)
tree270f3921d8967765aed71a4c27ce69534e488462 /src/gallium/drivers
parent3933747d87680a3432814aa51f2f5231b2f1ed60 (diff)
zink: reset query on-demand when beginning a new query from resume
the current query pool implementation expects queries to be reset at the time they're initiated, which means queries started at this point need to also be explicitly reset the zink_begin_query() function can't be reused here or else the query will be double-added to the active list, triggering an infinite loop ref mesa/mesa#3000 Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5120>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/zink/zink_query.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/zink/zink_query.c b/src/gallium/drivers/zink/zink_query.c
index 8f06256bf5b..b5b37cff259 100644
--- a/src/gallium/drivers/zink/zink_query.c
+++ b/src/gallium/drivers/zink/zink_query.c
@@ -244,6 +244,7 @@ zink_resume_queries(struct zink_context *ctx, struct zink_batch *batch)
{
struct zink_query *query;
LIST_FOR_EACH_ENTRY(query, &ctx->active_queries, active_list) {
+ vkCmdResetQueryPool(batch->cmdbuf, query->query_pool, query->curr_query, 1);
begin_query(ctx, query);
}
}