freedreno: Fix FD_MESA_DEBUG=flush debug option
authorDanylo Piliaiev <dpiliaiev@igalia.com>
Tue, 22 Dec 2020 19:23:36 +0000 (21:23 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 23 Dec 2020 09:25:33 +0000 (09:25 +0000)
fd_batch_check_size() should be after fd_batch_unlock_submit(),
otherwise batch_flush() called from fd_batch_check_size()
would wait on mutex forever.

Fixes: 02298ed1 "freedreno: Add submit lock"

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8205>

src/gallium/drivers/freedreno/freedreno_draw.c

index 7154719..c68bd33 100644 (file)
@@ -334,8 +334,8 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
        if (fd_mesa_debug & FD_DBG_DDRAW)
                fd_context_all_dirty(ctx);
 
-       fd_batch_check_size(batch);
        fd_batch_unlock_submit(batch);
+       fd_batch_check_size(batch);
        fd_batch_reference(&batch, NULL);
 
        if (info == &new_info)
@@ -451,8 +451,8 @@ fd_clear(struct pipe_context *pctx, unsigned buffers,
                }
        }
 
-       fd_batch_check_size(batch);
        fd_batch_unlock_submit(batch);
+       fd_batch_check_size(batch);
 
        if (fallback) {
                fd_blitter_clear(pctx, buffers, color, depth, stencil);