i965: Unalias all GLSL source regs from the destination regs used.
authorEric Anholt <eric@anholt.net>
Tue, 9 Mar 2010 19:56:14 +0000 (11:56 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 9 Mar 2010 22:42:17 +0000 (14:42 -0800)
commit6b194dab6b4d9f12cdd54c699b23c0d3420a49c2
tree51a282dedc3b72794562cbd0fb5a8009adf37a41
parent280abdacf900d591ef909cf697f0c5679389c3f6
i965: Unalias all GLSL source regs from the destination regs used.

We were doing it ad-hoc before, as instructions with potential
aliasing problems were identified.  But thanks to swizzling basically
anything can have aliasing, so just do it generally at source reg
setup time.  This is somewhat inefficient, because sometimes an
operation doesn't need unaliasing protection if the swizzling is safe,
but the unaliasing before didn't cover those cases either.

Fixes piglit glsl-fs-loop.
src/mesa/drivers/dri/i965/brw_wm_glsl.c