From: Jason Ekstrand Date: Tue, 6 Oct 2015 00:16:02 +0000 (-0700) Subject: nir/sweep: Reparent the shader name X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9c528f5dfa69fcb4068df736be441c0db19e6e88;p=mesa.git 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 --- 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);