[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