i965: Fix accumulator_contains() test to also reject swizzles of the dst.
authorEric Anholt <eric@anholt.net>
Mon, 13 Aug 2012 06:30:18 +0000 (23:30 -0700)
committerEric Anholt <eric@anholt.net>
Sun, 26 Aug 2012 16:58:40 +0000 (09:58 -0700)
commit6754ec831e5aaec516db929c8db6e7478a2f5540
tree000bf6498431de617bee793b5ec916161d67ae67
parent33ee019422558d50033e02754d0a2a19ed9bf737
i965: Fix accumulator_contains() test to also reject swizzles of the dst.

When faced with this sequence:

MOV R1, c[1];
MAD R0, R2, R1.x, R1.y;

we were concluding that the MOV of R1 set up our accumulator and so we could
just use the previous result.  Only, it's got R1.xyzw in it instead of the
r1.y we're looking for.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46784
NOTE: This is a candidate for the 8.0 branch.
src/mesa/drivers/dri/i965/brw_vs_emit.c