From: Marek Olšák Date: Sun, 27 Jun 2010 13:02:08 +0000 (+0200) Subject: util: fix a memory leak in blitter X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=57c3f70018bc7cd44eafd55d8147691a3c109b91;p=mesa.git util: fix a memory leak in blitter --- diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index 42d37ccfd6d..98d5a25a3f8 100644 --- a/src/gallium/auxiliary/util/u_blitter.c +++ b/src/gallium/auxiliary/util/u_blitter.c @@ -97,8 +97,6 @@ struct blitter_context_priv /* Rasterizer state. */ void *rs_state; - struct pipe_sampler_view *sampler_view; - /* Viewport state. */ struct pipe_viewport_state viewport; @@ -260,8 +258,6 @@ void util_blitter_destroy(struct blitter_context *blitter) if (ctx->sampler_state[i]) pipe->delete_sampler_state(pipe, ctx->sampler_state[i]); - pipe_sampler_view_reference(&ctx->sampler_view, NULL); - pipe_resource_reference(&ctx->vbuf, NULL); FREE(ctx); } @@ -734,8 +730,6 @@ void util_blitter_copy_region(struct blitter_context *blitter, u_sampler_view_default_template(&viewTempl, src, src->format); view = pipe->create_sampler_view(pipe, src, &viewTempl); - pipe_sampler_view_reference(&ctx->sampler_view, view); - /* Set rasterizer state, shaders, and textures. */ pipe->bind_rasterizer_state(pipe, ctx->rs_state); pipe->bind_vs_state(pipe, ctx->vs_tex); @@ -771,6 +765,7 @@ void util_blitter_copy_region(struct blitter_context *blitter, blitter_restore_CSOs(ctx); pipe_surface_reference(&dstsurf, NULL); + pipe_sampler_view_reference(&view, NULL); } /* Clear a region of a color surface to a constant value. */