glsl: Extend the array splitting optimization pass to matrices.
authorEric Anholt <eric@anholt.net>
Thu, 22 Mar 2012 20:22:51 +0000 (13:22 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 12 Apr 2012 01:08:21 +0000 (18:08 -0700)
commit3bdccbc3e0185fbca16eada2a76f55c6e3f867b5
tree05f64bbe8da409e16a873a983e5f631c5929c22d
parent60177d5e2aec07ed6386a6935b118a356d58c4ec
glsl: Extend the array splitting optimization pass to matrices.

This should fit in well with our lower_mat_op_to_vec code: now, in
addition to having expressions on each column of a matrix, we also
split the columns to separate variables so they can be tracked
individually by the copy propagation, dead code, and other passes.

This optimizes out some more code generation in unigine and gstreamer
shaders.

Total instructions: 269342 -> 269270
14/2148 programs affected (0.7%)
2226 -> 2154 instructions in affected programs (3.2% reduction)
src/glsl/opt_array_splitting.cpp