Module: Mesa
Branch: master
Commit: 0970c563d6e4a30ab0852ef664dc97a995997f88
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0970c563d6e4a30ab0852ef664dc97a995997f88

Author: Dave Airlie <airl...@redhat.com>
Date:   Sat May 21 06:48:05 2016 +1000

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 <ja...@jlekstrand.net>
Signed-off-by: Dave Airlie <airl...@redhat.com>

---

 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 372b746..9274f2e 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);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to