glsl: interleave constant propagation and folding
authorTimothy Arceri <t_arceri@yahoo.com.au>
Sun, 16 Aug 2015 04:26:23 +0000 (14:26 +1000)
committerTimothy Arceri <t_arceri@yahoo.com.au>
Fri, 21 Aug 2015 05:03:22 +0000 (15:03 +1000)
commitdd6a6dbaf707c120f6db38036985fcc258ebe294
tree2e4c2aac7ce5f828a213287e9b59e12ac363d03e
parent8483577f6b393c26dc21f6693e44760404ba6fcb
glsl: interleave constant propagation and folding

The constant folding pass can take a long time to complete
so rather than running through the entire pass each time
a new constant is propagated (and vice versa) interleave them.

This change helps ES31-CTS.arrays_of_arrays.InteractionFunctionCalls1
go from around 2 min -> 23 sec.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/opt_constant_propagation.cpp