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

Author: Timothy Arceri <[email protected]>
Date:   Mon Jul 16 14:01:40 2018 +1000

radeonsi/nir: make use of nir_lower_load_const_to_scalar()

This allows NIR to CSE more operations. LLVM does this also so the
impact is limited, however doing this in NIR allows other opts to
make progress. For example some loops in Civilization Beyond Earth
shaders are unrolled.

Reviewed-by: Marek Olšák <[email protected]>

---

 src/gallium/drivers/radeonsi/si_shader_nir.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c 
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 6eb114ad5c..4ae5b00659 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -802,6 +802,8 @@ si_lower_nir(struct si_shader_selector* sel)
 
        ac_lower_indirect_derefs(sel->nir, sel->screen->info.chip_class);
 
+       NIR_PASS_V(sel->nir, nir_lower_load_const_to_scalar);
+
        bool progress;
        do {
                progress = false;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to