r300/compiler: Abs doesn't cancel Negate (in the conversion to native swizzles)
NOTE: This is a candidate for the 7.9 and 7.10 branches.
This commit is contained in:
@@ -98,9 +98,6 @@ static int r300_swizzle_is_native(rc_opcode opcode, struct rc_src_register reg)
|
||||
unsigned int relevant;
|
||||
int j;
|
||||
|
||||
if (reg.Abs)
|
||||
reg.Negate = RC_MASK_NONE;
|
||||
|
||||
if (opcode == RC_OPCODE_KIL ||
|
||||
opcode == RC_OPCODE_TEX ||
|
||||
opcode == RC_OPCODE_TXB ||
|
||||
@@ -140,9 +137,6 @@ static void r300_swizzle_split(
|
||||
struct rc_src_register src, unsigned int mask,
|
||||
struct rc_swizzle_split * split)
|
||||
{
|
||||
if (src.Abs)
|
||||
src.Negate = RC_MASK_NONE;
|
||||
|
||||
split->NumPhases = 0;
|
||||
|
||||
while(mask) {
|
||||
|
||||
@@ -103,9 +103,6 @@ static int r500_swizzle_is_native(rc_opcode opcode, struct rc_src_register reg)
|
||||
return 0;
|
||||
} else {
|
||||
/* ALU instructions support almost everything */
|
||||
if (reg.Abs)
|
||||
return 1;
|
||||
|
||||
relevant = 0;
|
||||
for(i = 0; i < 3; ++i) {
|
||||
unsigned int swz = GET_SWZ(reg.Swizzle, i);
|
||||
|
||||
Reference in New Issue
Block a user