Module: Mesa Branch: master Commit: 98d15e0550d16afdb41e115b86f5cac8439f1ca7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=98d15e0550d16afdb41e115b86f5cac8439f1ca7
Author: Rhys Perry <[email protected]> Date: Thu Apr 5 22:31:25 2018 +0100 nvc0: ensure the query's fence has been emitted in nvc0_hw_query_fifo_wait If the fence has not been emitted, hq->fence->sequence would be zero. This would result in the semaphore never being triggered, blocking all later commands in the pushbuf. Signed-off-by: Rhys Perry <[email protected]> [imirkin: use nouveau_fence_emit instead] Reviewed-by: Ilia Mirkin <[email protected]> --- src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c b/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c index 83a57fa011..8ff3572c5c 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c @@ -611,6 +611,10 @@ nvc0_hw_query_fifo_wait(struct nvc0_context *nvc0, struct nvc0_query *q) struct nvc0_hw_query *hq = nvc0_hw_query(q); unsigned offset = hq->offset; + /* ensure the query's fence has been emitted */ + if (hq->is64bit && hq->fence->state < NOUVEAU_FENCE_STATE_EMITTED) + nouveau_fence_emit(hq->fence); + if (q->type == PIPE_QUERY_SO_OVERFLOW_PREDICATE) offset += 0x20; PUSH_SPACE(push, 5); _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
