[Mesa-dev] [PATCH 3/3] radeonsi: fix leaking the null constant buffer

Marek Olšák maraeo at gmail.com
Sat Mar 8 04:52:47 PST 2014


si_release_all_descriptors does this already.

Marek

On Sat, Mar 8, 2014 at 1:21 PM, Christian König <deathsimple at vodafone.de> wrote:
> From: Christian König <christian.koenig at amd.com>
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>  src/gallium/drivers/radeonsi/si_pipe.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
> index 5bc86bb..7e8e09b 100644
> --- a/src/gallium/drivers/radeonsi/si_pipe.c
> +++ b/src/gallium/drivers/radeonsi/si_pipe.c
> @@ -80,6 +80,13 @@ static void si_destroy_context(struct pipe_context *context)
>
>         si_release_all_descriptors(sctx);
>
> +       for (int shader = 0; shader < SI_NUM_SHADERS; shader++) {
> +               struct si_buffer_resources *buffers = &sctx->const_buffers[shader];
> +               for (int i = 0; i < NUM_CONST_BUFFERS; i++) {
> +                       pipe_resource_reference(&buffers->buffers[i], NULL);
> +               }
> +       }
> +
>         pipe_resource_reference(&sctx->null_const_buf.buffer, NULL);
>         r600_resource_reference(&sctx->border_color_table, NULL);
>
> @@ -190,8 +197,7 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen, void *
>
>                 for (shader = 0; shader < SI_NUM_SHADERS; shader++) {
>                         for (i = 0; i < NUM_CONST_BUFFERS; i++) {
> -                               sctx->b.b.set_constant_buffer(&sctx->b.b, shader, i,
> -                                                             &sctx->null_const_buf);
> +                               sctx->b.b.set_constant_buffer(&sctx->b.b, shader, i, NULL);
>                         }
>                 }
>
> --
> 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-dev mailing list