anv/i965: make use of nir_link_constant_varyings()
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 7 Nov 2018 03:29:18 +0000 (14:29 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Tue, 13 Nov 2018 03:06:32 +0000 (14:06 +1100)
shader-db results for SLK:

total instructions in shared programs: 13106498 -> 13091573 (-0.11%)
instructions in affected programs: 1186244 -> 1171319 (-1.26%)
helped: 6186
HURT: 0

total cycles in shared programs: 332062633 -> 331961653 (-0.03%)
cycles in affected programs: 8537165 -> 8436185 (-1.18%)
helped: 5371
HURT: 862

LOST:   6
GAINED: 14

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_nir.c

index 26a5ea046055a106c19f4e902bc82b26cca5f195..80fa5a1a81fdde21f9a8ef3335795e8bd39e8f50 100644 (file)
@@ -740,6 +740,9 @@ brw_nir_link_shaders(const struct brw_compiler *compiler,
       *consumer = brw_nir_optimize(*consumer, compiler, c_is_scalar, false);
    }
 
+   if (nir_link_constant_varyings(*producer, *consumer))
+      *consumer = brw_nir_optimize(*consumer, compiler, c_is_scalar, false);
+
    NIR_PASS_V(*producer, nir_remove_dead_variables, nir_var_shader_out);
    NIR_PASS_V(*consumer, nir_remove_dead_variables, nir_var_shader_in);