[Mesa-stable] [Mesa-dev] [PATCH 1/3] radeon: Move gfx/dma cs cleanup to r600_common_context_cleanup

Marek Olšák maraeo at gmail.com
Sat Jan 11 03:10:55 PST 2014


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Sat, Jan 11, 2014 at 1:45 AM, Aaron Watry <awatry at gmail.com> wrote:
> The radeonsi code was not cleaning up either of these items leading to
> leaked memory.
>
> v2: Move cleanup to r600_common_context_cleanup instead of duplicating
>     the logic for SI
>
> CC: "10.0" <mesa-stable at lists.freedesktop.org>
> ---
>  src/gallium/drivers/r600/r600_pipe.c          | 7 -------
>  src/gallium/drivers/radeon/r600_pipe_common.c | 7 +++++++
>  2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
> index 74e007b..e7d5862 100644
> --- a/src/gallium/drivers/r600/r600_pipe.c
> +++ b/src/gallium/drivers/r600/r600_pipe.c
> @@ -185,13 +185,6 @@ static void r600_destroy_context(struct pipe_context *context)
>
>         r600_release_command_buffer(&rctx->start_cs_cmd);
>
> -       if (rctx->b.rings.gfx.cs) {
> -               rctx->b.ws->cs_destroy(rctx->b.rings.gfx.cs);
> -       }
> -       if (rctx->b.rings.dma.cs) {
> -               rctx->b.ws->cs_destroy(rctx->b.rings.dma.cs);
> -       }
> -
>         FREE(rctx->start_compute_cs_cmd.buf);
>
>         r600_common_context_cleanup(&rctx->b);
> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
> index 28921be..07bf383 100644
> --- a/src/gallium/drivers/radeon/r600_pipe_common.c
> +++ b/src/gallium/drivers/radeon/r600_pipe_common.c
> @@ -250,6 +250,13 @@ bool r600_common_context_init(struct r600_common_context *rctx,
>
>  void r600_common_context_cleanup(struct r600_common_context *rctx)
>  {
> +       if (rctx->rings.gfx.cs) {
> +               rctx->ws->cs_destroy(rctx->rings.gfx.cs);
> +       }
> +       if (rctx->rings.dma.cs) {
> +               rctx->ws->cs_destroy(rctx->rings.dma.cs);
> +       }
> +
>         if (rctx->uploader) {
>                 u_upload_destroy(rctx->uploader);
>         }
> --
> 1.8.3.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-stable mailing list