diff options
author | Rob Clark <[email protected]> | 2017-11-19 10:36:19 -0500 |
---|---|---|
committer | Rob Clark <[email protected]> | 2017-12-03 14:17:40 -0500 |
commit | 15ebf387fc43632be0e68365cf92ac8fb1b64a9c (patch) | |
tree | c38457eb447df994c138d01a155122406accda3c /src/gallium/drivers/freedreno/freedreno_state.c | |
parent | deb57fb237c3be9629a39ef1978dfac4563d6bda (diff) |
freedreno: rework fence tracking
ctx->last_fence isn't such a terribly clever idea, if batches can be
flushed out of order. Instead, each batch now holds a fence, which is
created before the batch is flushed (useful for next patch), that later
gets populated after the batch is actually flushed.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_state.c')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_state.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_state.c b/src/gallium/drivers/freedreno/freedreno_state.c index 0b37bd31cc6..eef7a3501ee 100644 --- a/src/gallium/drivers/freedreno/freedreno_state.c +++ b/src/gallium/drivers/freedreno/freedreno_state.c @@ -235,14 +235,14 @@ fd_set_framebuffer_state(struct pipe_context *pctx, * multiple times to the same surface), so we might as * well go ahead and flush this one: */ - fd_batch_flush(old_batch, false); + fd_batch_flush(old_batch, false, false); } fd_batch_reference(&old_batch, NULL); } else { DBG("%d: cbufs[0]=%p, zsbuf=%p", ctx->batch->needs_flush, framebuffer->cbufs[0], framebuffer->zsbuf); - fd_batch_flush(ctx->batch, false); + fd_batch_flush(ctx->batch, false, false); } cso = &ctx->batch->framebuffer; |