OSDN Git Service

freedreno: fix crash if ctx torn down with no rendering
authorRob Clark <robdclark@gmail.com>
Sat, 15 Apr 2017 16:32:17 +0000 (12:32 -0400)
committerEmil Velikov <emil.l.velikov@gmail.com>
Mon, 24 Apr 2017 12:11:13 +0000 (13:11 +0100)
In this case, ctx->flush_queue would not have been initialized.

Fixes: 0b613c20 ("freedreno: enable draw/batch reordering by default")
Cc: "17.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
(cherry picked from commit d4601b0efc7f5e24e3f39fefa8e29e79560245ce)

src/gallium/drivers/freedreno/freedreno_context.c

index 4d8c425..6478e0e 100644 (file)
@@ -112,7 +112,7 @@ fd_context_destroy(struct pipe_context *pctx)
 
        DBG("");
 
-       if (ctx->screen->reorder)
+       if (ctx->screen->reorder && util_queue_is_initialized(&ctx->flush_queue))
                util_queue_destroy(&ctx->flush_queue);
 
        fd_batch_reference(&ctx->batch, NULL);  /* unref current batch */