From: Timothy Arceri Date: Wed, 7 Nov 2018 03:29:18 +0000 (+1100) Subject: anv/i965: make use of nir_link_constant_varyings() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3561108de089f383bb7733eaf49e3d517994b51c;p=mesa.git anv/i965: make use of nir_link_constant_varyings() 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 --- diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c index 26a5ea04605..80fa5a1a81f 100644 --- a/src/intel/compiler/brw_nir.c +++ b/src/intel/compiler/brw_nir.c @@ -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);