From e439f63467419d73e74bcefe07fd6094f34d7ae5 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sun, 28 Jul 2019 10:04:25 -0700 Subject: [PATCH] freedreno/batch: always update last_fence Not all flush paths come thru fd_context_flush(), so we should also set last_fence in the batch flush path. This avoids some no-op flushes just to get a fence. For example when pctx->flush_resource() triggers a flush. We should probably keep the last_fence update in fd_context_flush() as well to handle deferred flush case. Signed-off-by: Rob Clark Reviewed-by: Eric Anholt --- src/gallium/drivers/freedreno/freedreno_batch.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/drivers/freedreno/freedreno_batch.c b/src/gallium/drivers/freedreno/freedreno_batch.c index 35a88df..6bab243 100644 --- a/src/gallium/drivers/freedreno/freedreno_batch.c +++ b/src/gallium/drivers/freedreno/freedreno_batch.c @@ -325,6 +325,8 @@ batch_flush(struct fd_batch *batch) batch->flushed = true; + fd_fence_ref(&batch->ctx->last_fence, batch->fence); + if (batch->ctx->screen->reorder) { struct fd_batch *tmp = NULL; fd_batch_reference(&tmp, batch); -- 2.7.4