From: Michel Dänzer <michel.daen...@amd.com>

Fixes double-free with some piglit tests using geometry shaders.

Signed-off-by: Michel Dänzer <michel.daen...@amd.com>
---
 src/gallium/drivers/radeonsi/si_state.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_state.c 
b/src/gallium/drivers/radeonsi/si_state.c
index 0ee4154..7d4f3c7 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2360,6 +2360,8 @@ static void si_delete_shader_selector(struct pipe_context 
*ctx,
                        si_pm4_delete_state(sctx, gs, p->pm4);
                else if (sel->type == PIPE_SHADER_FRAGMENT)
                        si_pm4_delete_state(sctx, ps, p->pm4);
+               else if (p->key.vs.as_es)
+                       si_pm4_delete_state(sctx, es, p->pm4);
                else
                        si_pm4_delete_state(sctx, vs, p->pm4);
                si_pipe_shader_destroy(ctx, p);
-- 
1.9.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to