From: Dave Airlie Date: Fri, 20 May 2016 20:48:05 +0000 (+1000) Subject: nir: remove dead glsl variables before lowering io. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0970c563d6e4a30ab0852ef664dc97a995997f88;p=mesa.git nir: remove dead glsl variables before lowering io. For cull distance GLSL will let unsized unused arrays get into the backend, we should nuke those straight away, to save caring about them later. This fixes: arb_separate_shader_objects/linker/large-number-of-unused-varyings as a side effect (even without culling changes). Reviewed-by: Jason Ekstrand Signed-off-by: Dave Airlie --- diff --git a/src/mesa/drivers/dri/i965/brw_nir.c b/src/mesa/drivers/dri/i965/brw_nir.c index 372b746453e..9274f2e1616 100644 --- a/src/mesa/drivers/dri/i965/brw_nir.c +++ b/src/mesa/drivers/dri/i965/brw_nir.c @@ -561,6 +561,7 @@ brw_create_nir(struct brw_context *brw, /* First, lower the GLSL IR or Mesa IR to NIR */ if (shader_prog) { nir = glsl_to_nir(shader_prog, stage, options); + nir_remove_dead_variables(nir, nir_var_shader_in | nir_var_shader_out); OPT_V(nir_lower_io_to_temporaries, nir_shader_get_entrypoint(nir), true, false);