From 0970c563d6e4a30ab0852ef664dc97a995997f88 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Sat, 21 May 2016 06:48:05 +1000 Subject: [PATCH] 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 --- src/mesa/drivers/dri/i965/brw_nir.c | 1 + 1 file changed, 1 insertion(+) 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); -- 2.30.2