summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2019-07-28 10:04:25 -0700
committerRob Clark <[email protected]>2019-08-02 10:24:14 -0700
commite439f63467419d73e74bcefe07fd6094f34d7ae5 (patch)
tree32b6260d077d3a8910a64f80fa6778c358c3d691 /src
parentc93eae7f108d81239a03a195db334d41322d9152 (diff)
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 <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/freedreno/freedreno_batch.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_batch.c b/src/gallium/drivers/freedreno/freedreno_batch.c
index 35a88dfe1e2..6bab243453d 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);