Module: Mesa Branch: staging/19.2 Commit: 637e02c1b195b0e11f5fea6e36b1fc14c359f748 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=637e02c1b195b0e11f5fea6e36b1fc14c359f748
Author: Lepton Wu <lep...@chromium.org> Date: Tue Sep 10 03:42:55 2019 +0000 virgl: Fix pipe_resource leaks under multi-sample. Fixes: 900a80f9e4f ("virgl: virgl_transfer should own its virgl_resource") Signed-off-by: Lepton Wu <lep...@chromium.org> Reviewed-by: Chia-I Wu <olva...@gmail.com> (cherry picked from commit 263136fb5d2646bea718579de272729b2474d31a) --- src/gallium/drivers/virgl/virgl_texture.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/virgl/virgl_texture.c b/src/gallium/drivers/virgl/virgl_texture.c index 570f96fb14c..1b39c6382dc 100644 --- a/src/gallium/drivers/virgl/virgl_texture.c +++ b/src/gallium/drivers/virgl/virgl_texture.c @@ -169,6 +169,9 @@ static void *texture_transfer_map_resolve(struct pipe_context *ctx, if (!ptr) goto fail; + /* trans->resolve_transfer owns resolve_tmp now */ + pipe_resource_reference(&resolve_tmp, NULL); + *transfer = &trans->base; if (fmt == resource->format) { trans->base.stride = trans->resolve_transfer->stride; @@ -283,7 +286,6 @@ static void virgl_texture_transfer_unmap(struct pipe_context *ctx, } if (trans->resolve_transfer) { - pipe_resource_reference(&trans->resolve_transfer->resource, NULL); virgl_resource_destroy_transfer(vctx, virgl_transfer(trans->resolve_transfer)); } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit