diff --git a/src/gallium/drivers/freedreno/freedreno_batch.c b/src/gallium/drivers/freedreno/freedreno_batch.c index df6ea640d1b..a7cb906b861 100644 --- a/src/gallium/drivers/freedreno/freedreno_batch.c +++ b/src/gallium/drivers/freedreno/freedreno_batch.c @@ -341,7 +341,6 @@ batch_flush(struct fd_batch *batch) assert_dt batch_flush_dependencies(batch); batch_reset_resources(batch); - fd_bc_free_key(batch); batch->flushed = true; if (batch == batch->ctx->batch) @@ -354,6 +353,9 @@ batch_flush(struct fd_batch *batch) assert_dt debug_assert(batch->reference.count > 0); + /* Must come after fd_gmem_render_tiles, since that uses the key. */ + fd_bc_free_key(batch); + cleanup_submit(batch); fd_batch_unlock_submit(batch); }