[Mesa-dev] [PATCH 4/9] i965: enable varying array splitting

Timothy Arceri tarceri at itsqueeze.com
Mon Oct 30 04:11:13 UTC 2017


total instructions in shared programs: 13210579 -> 13199325 (-0.09%)
instructions in affected programs: 89043 -> 77789 (-12.64%)
helped: 430
HURT: 0

total cycles in shared programs: 539530190 -> 539493750 (-0.01%)
cycles in affected programs: 584860 -> 548420 (-6.23%)
helped: 437
HURT: 110

total spills in shared programs: 86646 -> 86640 (-0.01%)
spills in affected programs: 6 -> 0
helped: 1
HURT: 0

total fills in shared programs: 90955 -> 90946 (-0.01%)
fills in affected programs: 9 -> 0
helped: 1
HURT: 0
---
 src/mesa/drivers/dri/i965/brw_link.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp
index b6c5362a1ee..c0e16ae7d5c 100644
--- a/src/mesa/drivers/dri/i965/brw_link.cpp
+++ b/src/mesa/drivers/dri/i965/brw_link.cpp
@@ -278,6 +278,8 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
             nir_shader *producer = shProg->_LinkedShaders[i]->Program->nir;
             nir_shader *consumer = shProg->_LinkedShaders[next]->Program->nir;
 
+            nir_lower_io_arrays_to_elements(producer, consumer);
+
             NIR_PASS_V(producer, nir_remove_dead_variables, nir_var_shader_out);
             NIR_PASS_V(consumer, nir_remove_dead_variables, nir_var_shader_in);
 
-- 
2.13.6



More information about the mesa-dev mailing list