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 <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11402>
This commit is contained in:
Rob Clark 2021-06-16 10:20:05 -07:00 committed by Marge Bot
parent 4c67924251
commit 2f29425a0a

View file

@ -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;
}