r600g: fix LIT to handle src==dst properly
authorVadim Girlin <vadimgirlin@gmail.com>
Fri, 17 Jun 2011 19:02:01 +0000 (23:02 +0400)
committerDave Airlie <airlied@redhat.com>
Sat, 18 Jun 2011 06:03:04 +0000 (16:03 +1000)
commit2fe39b46e73aea37152777fe11d489e0b1bc3f92
tree4461e52100da59f6825ae2025a0e16be37f2ac5f
parent8ab1c5328b12e8b075f62599a84672024aaf2982
r600g: fix LIT to handle src==dst properly

Current LIT implementation uses dst components for storing temp
results, possibly overwriting still needed values (depends on the
swizzles).
This patch uses temp reg for one of such cases (found in etqw) and
fixes "LIT R.z, R.xyzz".

Tested on evergreen. Fixes some etqw-demo rendering glitches when
"Lighting" is set to "High" in the settings.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/r600_shader.c