From 9c528f5dfa69fcb4068df736be441c0db19e6e88 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 5 Oct 2015 17:16:02 -0700 Subject: nir/sweep: Reparent the shader name Previously the name of the nir shader was being freed prematurely during nir_sweep. Since 756613ed35d the name was later being used to generate filenames for the optimiser debug output and these would end up with garbage from the dangling pointer. Co-authored-by: Neil Roberts Reviewed-by: Matt Turner --- src/glsl/nir/nir_sweep.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/glsl/nir/nir_sweep.c b/src/glsl/nir/nir_sweep.c index d3549756a63..b6ce43b5224 100644 --- a/src/glsl/nir/nir_sweep.c +++ b/src/glsl/nir/nir_sweep.c @@ -154,6 +154,8 @@ nir_sweep(nir_shader *nir) /* First, move ownership of all the memory to a temporary context; assume dead. */ ralloc_adopt(rubbish, nir); + ralloc_steal(nir, (char *)nir->info.name); + /* Variables and registers are not dead. Steal them back. */ steal_list(nir, nir_variable, &nir->uniforms); steal_list(nir, nir_variable, &nir->inputs); -- cgit v1.2.3