diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2020-05-20 09:53:45 -0400 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-05-22 13:24:10 +0000 |
commit | af2d99353555715afe6e6b6ba5158a2cc0d6b015 (patch) | |
tree | 270f3921d8967765aed71a4c27ce69534e488462 /src/gallium/drivers | |
parent | 3933747d87680a3432814aa51f2f5231b2f1ed60 (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.c | 1 |
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); } } |