[Mesa-dev] [PATCH] radeonsi: Use proper member name for deleting export shader PM4 state

Michel Dänzer michel at daenzer.net
Sun Mar 9 20:36:04 PDT 2014


From: Michel Dänzer <michel.daenzer at amd.com>

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

Signed-off-by: Michel Dänzer <michel.daenzer at 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



More information about the mesa-dev mailing list