freedreno: fix context teardown harder

The border_color_uploaders need to be torn down before the transfer_pool
is destroyed.

Fixes: e11e9d6394 freedreno: fix context teardown race
Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Rob Clark 2018-08-22 09:07:37 -04:00
parent 1a24f51966
commit 73378013d7
4 changed files with 8 additions and 8 deletions

View file

@ -44,6 +44,8 @@ fd3_context_destroy(struct pipe_context *pctx)
{
struct fd3_context *fd3_ctx = fd3_context(fd_context(pctx));
u_upload_destroy(fd3_ctx->border_color_uploader);
fd_context_destroy(pctx);
fd_bo_del(fd3_ctx->vs_pvt_mem);
@ -52,8 +54,6 @@ fd3_context_destroy(struct pipe_context *pctx)
fd_context_cleanup_common_vbos(&fd3_ctx->base);
u_upload_destroy(fd3_ctx->border_color_uploader);
fd_hw_query_fini(pctx);
free(fd3_ctx);

View file

@ -44,6 +44,8 @@ fd4_context_destroy(struct pipe_context *pctx)
{
struct fd4_context *fd4_ctx = fd4_context(fd_context(pctx));
u_upload_destroy(fd4_ctx->border_color_uploader);
fd_context_destroy(pctx);
fd_bo_del(fd4_ctx->vs_pvt_mem);
@ -52,8 +54,6 @@ fd4_context_destroy(struct pipe_context *pctx)
fd_context_cleanup_common_vbos(&fd4_ctx->base);
u_upload_destroy(fd4_ctx->border_color_uploader);
fd_hw_query_fini(pctx);
free(fd4_ctx);

View file

@ -44,6 +44,8 @@ fd5_context_destroy(struct pipe_context *pctx)
{
struct fd5_context *fd5_ctx = fd5_context(fd_context(pctx));
u_upload_destroy(fd5_ctx->border_color_uploader);
fd_context_destroy(pctx);
fd_bo_del(fd5_ctx->vs_pvt_mem);
@ -53,8 +55,6 @@ fd5_context_destroy(struct pipe_context *pctx)
fd_context_cleanup_common_vbos(&fd5_ctx->base);
u_upload_destroy(fd5_ctx->border_color_uploader);
free(fd5_ctx);
}

View file

@ -43,6 +43,8 @@ fd6_context_destroy(struct pipe_context *pctx)
{
struct fd6_context *fd6_ctx = fd6_context(fd_context(pctx));
u_upload_destroy(fd6_ctx->border_color_uploader);
fd_context_destroy(pctx);
fd_bo_del(fd6_ctx->vs_pvt_mem);
@ -52,8 +54,6 @@ fd6_context_destroy(struct pipe_context *pctx)
fd_context_cleanup_common_vbos(&fd6_ctx->base);
u_upload_destroy(fd6_ctx->border_color_uploader);
free(fd6_ctx);
}