diff options
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_batch.c')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_batch.c | 10 |
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); |