zink: force batch completion check on query result

non-timeline drivers have no screen-based method of "checking" batch
completion, so the context method has to be used here to avoid an infinite
loop

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12008>
This commit is contained in:
Mike Blumenkrantz 2021-07-22 10:51:23 -04:00
parent 5bab4cc546
commit 0a2b03376d

View file

@ -784,7 +784,10 @@ zink_get_query_result(struct pipe_context *pctx,
pctx->flush(pctx, NULL, 0);
if (!wait)
return false;
}
} else if (!threaded_query(q)->flushed &&
/* timeline drivers can wait during buffer map */
!zink_screen(pctx->screen)->info.have_KHR_timeline_semaphore)
zink_batch_usage_check_completion(ctx, query->batch_id);
return get_query_result(pctx, q, wait, result);
}