From ec1ada73271b273da7f6bf64ff34d33f2df00a2d Mon Sep 17 00:00:00 2001 From: Aaron Watry Date: Wed, 12 Mar 2014 13:26:10 -0500 Subject: radeonsi/compute: Fix memory leak Free shader buffer object for all kernels when deleting compute state. Signed-off-by: Aaron Watry --- src/gallium/drivers/radeonsi/si_compute.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/gallium/drivers/radeonsi') diff --git a/src/gallium/drivers/radeonsi/si_compute.c b/src/gallium/drivers/radeonsi/si_compute.c index e16feab5234..c0637f6f7ec 100644 --- a/src/gallium/drivers/radeonsi/si_compute.c +++ b/src/gallium/drivers/radeonsi/si_compute.c @@ -301,6 +301,12 @@ static void si_delete_compute_state(struct pipe_context *ctx, void* state){ } if (program->kernels) { + for (int i = 0; i < program->num_kernels; i++){ + if (program->kernels[i].bo){ + si_pipe_shader_destroy(ctx, &program->kernels[i]); + } + } + FREE(program->kernels); } -- cgit v1.2.3