r300/compiler: fix swizzle lowering with a presubtract source operand
authorMarek Olšák <maraeo@gmail.com>
Sat, 11 Dec 2010 12:22:19 +0000 (13:22 +0100)
committerMarek Olšák <maraeo@gmail.com>
Sat, 11 Dec 2010 12:37:57 +0000 (13:37 +0100)
commitd0990db6bd7d6e9e1cd780dc6b50ce00408a3cbc
tree7a84c39b2cd56612ef7712c7e20578898146f7ad
parent9e1fbd3d6e2a8accd0ebdc5937dd6eb7a8ef9b10
r300/compiler: fix swizzle lowering with a presubtract source operand

If a source operand has a non-native swizzle (e.g. the KIL instruction
cannot have a swizzle other than .xyzw), the lowering pass uses one or more
MOV instructions to move the operand to an intermediate temporary with
native swizzles.

This commit fixes that the presubtract information was lost during
the lowering.

NOTE: This is a candidate for both the 7.9 and 7.10 branches.
src/mesa/drivers/dri/r300/compiler/radeon_dataflow_swizzles.c