Mesa (master): intel/nir: Combine store_derefs after vectorizing IO

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Mar 13 17:42:00 UTC 2019


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

Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Fri Mar  8 11:50:47 2019 -0800

intel/nir: Combine store_derefs after vectorizing IO

Shader-db results for skl:

    total instructions in shared programs: 15232903 -> 15224781 (-0.05%)
    instructions in affected programs: 61246 -> 53124 (-13.26%)
    helped: 221
    HURT: 0

    total cycles in shared programs: 371440470 -> 371398018 (-0.01%)
    cycles in affected programs: 281363 -> 238911 (-15.09%)
    helped: 221
    HURT: 0

Results for bdw are very similar.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 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 23005b00374..1b99a3b2316 100644
--- a/src/intel/compiler/brw_nir.c
+++ b/src/intel/compiler/brw_nir.c
@@ -791,6 +791,7 @@ brw_nir_link_shaders(const struct brw_compiler *compiler,
    }
 
    NIR_PASS_V(*producer, nir_lower_io_to_vector, nir_var_shader_out);
+   NIR_PASS_V(*producer, nir_opt_combine_stores, nir_var_shader_out);
    NIR_PASS_V(*consumer, nir_lower_io_to_vector, nir_var_shader_in);
 
    if ((*producer)->info.stage != MESA_SHADER_TESS_CTRL) {




More information about the mesa-commit mailing list