Tested on CEDAR v2: fix indentation
Signed-off-by: Aaron Watry <awa...@gmail.com> --- src/gallium/drivers/r600/evergreen_compute.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c index 510d9a3..61446f6 100644 --- a/src/gallium/drivers/r600/evergreen_compute.c +++ b/src/gallium/drivers/r600/evergreen_compute.c @@ -238,7 +238,18 @@ void evergreen_delete_compute_state(struct pipe_context *ctx, void* state) if (!shader) return; - FREE(shader->kernels); + if (shader->kernels) { + for (int i = 0; i < shader->num_kernels; i++) { + if (shader->kernels[i].code_bo) { + pipe_resource_reference( + (struct pipe_resource**) &shader->kernels[i].code_bo, + NULL + ); + } + FREE(shader->kernels[i].bc.bytecode); + } + FREE(shader->kernels); + } if (shader->ctx){ struct pipe_framebuffer_state *fb_state = &shader->ctx->framebuffer.state; -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev