summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/freedreno/freedreno_batch.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_batch.c b/src/gallium/drivers/freedreno/freedreno_batch.c
index dd4b1ca9e64..36b834f4013 100644
--- a/src/gallium/drivers/freedreno/freedreno_batch.c
+++ b/src/gallium/drivers/freedreno/freedreno_batch.c
@@ -352,8 +352,14 @@ fd_batch_flush(struct fd_batch *batch, bool sync, bool force)
if (newbatch) {
struct fd_context *ctx = batch->ctx;
- struct fd_batch *new_batch =
- fd_batch_from_fb(&ctx->screen->batch_cache, ctx, &batch->framebuffer);
+ struct fd_batch *new_batch;
+
+ if (ctx->screen->reorder) {
+ new_batch = fd_batch_from_fb(&ctx->screen->batch_cache,
+ ctx, &batch->framebuffer);
+ } else {
+ new_batch = fd_batch_create(ctx, false);
+ }
util_copy_framebuffer_state(&new_batch->framebuffer, &batch->framebuffer);