From cc355f1c06063b6d3c0ba5377aee605c9c393488 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Tue, 30 Sep 2014 13:47:58 -0400 Subject: [PATCH] freedreno: destroy transfer pool after blitter Blitter can still have transfers hanging around which it frees in util_blitter_destroy(). So let it clean up before we yank the transfer_pool from under it. Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/freedreno_context.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/freedreno/freedreno_context.c b/src/gallium/drivers/freedreno/freedreno_context.c index 496a4227099..3a8545f6716 100644 --- a/src/gallium/drivers/freedreno/freedreno_context.c +++ b/src/gallium/drivers/freedreno/freedreno_context.c @@ -148,8 +148,6 @@ fd_context_destroy(struct pipe_context *pctx) fd_prog_fini(pctx); fd_hw_query_fini(pctx); - util_slab_destroy(&ctx->transfer_pool); - util_dynarray_fini(&ctx->draw_patches); if (ctx->blitter) @@ -158,6 +156,8 @@ fd_context_destroy(struct pipe_context *pctx) if (ctx->primconvert) util_primconvert_destroy(ctx->primconvert); + util_slab_destroy(&ctx->transfer_pool); + fd_ringmarker_del(ctx->draw_start); fd_ringmarker_del(ctx->draw_end); fd_ringmarker_del(ctx->binning_start); -- 2.30.2