From 2f29425a0ac345e037a72bc62a5065cfd1e64db9 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Wed, 16 Jun 2021 10:20:05 -0700 Subject: [PATCH] freedreno: Fix flushes with NULL batch Sequences that pctx->set_framebuffer_state() before pctx->flush() will see ctx->batch being NULL.. but they still need to call fd_bc_flush(ctx) to ensure pending batches associated with the context are flushed. Signed-off-by: Rob Clark Part-of: --- src/gallium/drivers/freedreno/freedreno_context.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/drivers/freedreno/freedreno_context.c b/src/gallium/drivers/freedreno/freedreno_context.c index 374a95a..1df7155 100644 --- a/src/gallium/drivers/freedreno/freedreno_context.c +++ b/src/gallium/drivers/freedreno/freedreno_context.c @@ -57,6 +57,8 @@ fd_context_flush(struct pipe_context *pctx, struct pipe_fence_handle **fencep, if (fencep && !batch) { batch = fd_context_batch(ctx); } else if (!batch) { + if (ctx->screen->reorder) + fd_bc_flush(ctx, flags & PIPE_FLUSH_DEFERRED); fd_bc_dump(ctx, "%p: NULL batch, remaining:\n", ctx); return; } -- 2.7.4