r300/compiler: Use consistent src swizzles for transcendent instructions
authorTom Stellard <tstellar@gmail.com>
Sun, 2 Oct 2011 04:06:12 +0000 (21:06 -0700)
committerTom Stellard <tstellar@gmail.com>
Sun, 2 Oct 2011 22:21:15 +0000 (15:21 -0700)
commitb5ecf5ba466c3e1872dc9281b01f4e59ca1a388b
treed51245dfb836c79bbc6c22a759e9f019682774d9
parente7c2b711a3b01cbeb0bf93d5442599457e7f8f51
r300/compiler: Use consistent src swizzles for transcendent instructions

Source swizzles for transcendent instructions were being stored in the X
channel regardless of what channel the instruction was writing.
This was causing problems for some helper functions that were expecting
source swizzles to occupy channels corresponding to the instruction's
writemask.  This commit makes transcendent instructions follow the same
convention as normal instructions for representing source swizzles.

Previous behavior:
LG2 temp[0].y, input[0].x___;

Current behavior:
LG2 temp[0].y, input[0]._x__;
src/gallium/drivers/r300/compiler/r3xx_vertprog.c
src/gallium/drivers/r300/compiler/radeon_compiler_util.c
src/gallium/drivers/r300/compiler/radeon_compiler_util.h
src/gallium/drivers/r300/compiler/radeon_opcodes.c
src/gallium/drivers/r300/compiler/radeon_pair_translate.c