glsl: Avoid making a temporary for lower_mat_op_to_vec if not needed.
authorEric Anholt <eric@anholt.net>
Fri, 24 Jun 2011 19:20:09 +0000 (12:20 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 29 Jun 2011 22:09:54 +0000 (15:09 -0700)
commit487dd96c2706aa352ed44637507dd7f38ac80306
treeab780f3af8e51a41966f49664e6d20871eab2799
parent8fad8637ef42ccd064a4f90b090d8096ab968e58
glsl: Avoid making a temporary for lower_mat_op_to_vec if not needed.

Our copy propagation tends to be bad at handling the later array
accesses of the matrix argument we moved to a temporary.  Generally we
don't need to move it to a temporary, though, so this avoids needing
more copy propagation complexity.

Reduces instruction count of some Unigine Tropics and Sanctuary
fragment shaders that do operations on uniform matrix arrays by 5.9%
on gen6.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/lower_mat_op_to_vec.cpp