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>
This commit is contained in:
Mike Blumenkrantz 2020-05-20 09:53:45 -04:00 committed by Marge Bot
parent 3933747d87
commit af2d993535

View file

@ -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);
}
}