Mesa (7.9): r300/compiler: Abs doesn't cancel Negate ( in the conversion to native swizzles)

Marek Olšák mareko at kemper.freedesktop.org
Sat Mar 12 21:40:27 UTC 2011


Module: Mesa
Branch: 7.9
Commit: dea5e972ffd92556a9a87e084552aa826498dfde
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dea5e972ffd92556a9a87e084552aa826498dfde

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Mar 12 10:18:45 2011 +0100

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.
(cherry picked from commit 589d835dfd9b07f49ee12af2dfa04a4e054bec68)

---

 .../dri/r300/compiler/r300_fragprog_swizzle.c      |    6 ------
 src/mesa/drivers/dri/r300/compiler/r500_fragprog.c |    3 ---
 2 files changed, 0 insertions(+), 9 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c b/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c
index 1aa40c7..4e9cb30 100644
--- a/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c
+++ b/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c
@@ -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 ||
@@ -142,9 +139,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) {
diff --git a/src/mesa/drivers/dri/r300/compiler/r500_fragprog.c b/src/mesa/drivers/dri/r300/compiler/r500_fragprog.c
index 627ce37..bc42441 100644
--- a/src/mesa/drivers/dri/r300/compiler/r500_fragprog.c
+++ b/src/mesa/drivers/dri/r300/compiler/r500_fragprog.c
@@ -100,9 +100,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);




More information about the mesa-commit mailing list