From: Rob Clark Date: Tue, 30 Sep 2014 17:47:58 +0000 (-0400) Subject: freedreno: destroy transfer pool after blitter X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc355f1c06063b6d3c0ba5377aee605c9c393488;p=mesa.git 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 --- 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);