summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2015-10-09 00:54:17 +0200
committerEmil Velikov <emil.l.velikov@gmail.com>2015-10-21 14:23:21 +0100
commit141109cc529b3a5d71c0023ad5c19c8844c05171 (patch)
tree3130fda4fa0644fbd3ad8a471811d47000e6e481
parent5d41a787692851991154a8c6499db2280cf31430 (diff)
radeonsi: fix a GS copy shader leak
Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> (cherry picked from commit aa060e276c203baf4691d4a4722accd5bdbb8526) [Emil Velikov: si_shader_destroy() wants the ctx as first argument] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Conflicts: src/gallium/drivers/radeonsi/si_shader.c
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 1010b6e249..ef986bd2e6 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -4201,8 +4201,10 @@ out:
void si_shader_destroy(struct pipe_context *ctx, struct si_shader *shader)
{
- if (shader->gs_copy_shader)
+ if (shader->gs_copy_shader) {
si_shader_destroy(ctx, shader->gs_copy_shader);
+ FREE(shader->gs_copy_shader);
+ }
if (shader->scratch_bo)
r600_resource_reference(&shader->scratch_bo, NULL);