From a4a9c075496c64ac333e6c0b930d8c2eb5175e8e Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 25 Jul 2018 08:54:09 -0700 Subject: [PATCH] intel/nir: Use nir_shrink_vec_array_vars Shader-db results on Kaby Lake: total instructions in shared programs: 15177605 -> 15176765 (<.01%) instructions in affected programs: 4259 -> 3419 (-19.72%) helped: 1 HURT: 0 total spills in shared programs: 10954 -> 10855 (-0.90%) spills in affected programs: 295 -> 196 (-33.56%) helped: 1 HURT: 0 total fills in shared programs: 22222 -> 22117 (-0.47%) fills in affected programs: 417 -> 312 (-25.18%) helped: 1 HURT: 0 The helped shader is from the OglCSDof synmark test. On my Kaby Lake laptop, the actual framerate of the benchmark didn't appear to improve beyond the noise. Reviewed-by: Caio Marcelo de Oliveira Filho --- src/intel/compiler/brw_nir.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c index cb5f18eb69b..c9a92c8aeb6 100644 --- a/src/intel/compiler/brw_nir.c +++ b/src/intel/compiler/brw_nir.c @@ -542,6 +542,7 @@ brw_nir_optimize(nir_shader *nir, const struct brw_compiler *compiler, do { progress = false; OPT(nir_split_array_vars, nir_var_local); + OPT(nir_shrink_vec_array_vars, nir_var_local); OPT(nir_lower_vars_to_ssa); OPT(nir_opt_copy_prop_vars); -- 2.30.2