Mesa (master): r300/compiler: shorten RC_*SWIZZLE* expressions

Marek Olšák mareko at kemper.freedesktop.org
Sat May 8 21:25:50 UTC 2010


Module: Mesa
Branch: master
Commit: 39d0ece5f51e01b024907847055a2872491800b9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=39d0ece5f51e01b024907847055a2872491800b9

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat May  8 01:34:38 2010 +0200

r300/compiler: shorten RC_*SWIZZLE* expressions

---

 src/mesa/drivers/dri/r300/compiler/radeon_code.c   |    4 ++--
 .../drivers/dri/r300/compiler/radeon_program_alu.c |    2 +-
 .../dri/r300/compiler/radeon_program_constants.h   |    1 +
 src/mesa/drivers/dri/r300/r300_fragprog_common.c   |    2 +-
 4 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_code.c b/src/mesa/drivers/dri/r300/compiler/radeon_code.c
index 853b2be..0eab18c 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_code.c
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_code.c
@@ -146,7 +146,7 @@ unsigned rc_constants_add_immediate_scalar(struct rc_constant_list * c, float da
 			unsigned comp;
 			for(comp = 0; comp < c->Constants[index].Size; ++comp) {
 				if (c->Constants[index].u.Immediate[comp] == data) {
-					*swizzle = RC_MAKE_SWIZZLE(comp, comp, comp, comp);
+					*swizzle = RC_MAKE_SWIZZLE_SMEAR(comp);
 					return index;
 				}
 			}
@@ -159,7 +159,7 @@ unsigned rc_constants_add_immediate_scalar(struct rc_constant_list * c, float da
 	if (free_index >= 0) {
 		unsigned comp = c->Constants[free_index].Size++;
 		c->Constants[free_index].u.Immediate[comp] = data;
-		*swizzle = RC_MAKE_SWIZZLE(comp, comp, comp, comp);
+		*swizzle = RC_MAKE_SWIZZLE_SMEAR(comp);
 		return free_index;
 	}
 
diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c b/src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c
index d806309..5ba2c29 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c
@@ -813,7 +813,7 @@ int radeonTransformDeriv(struct radeon_compiler* c,
 	if (inst->U.I.Opcode != RC_OPCODE_DDX && inst->U.I.Opcode != RC_OPCODE_DDY)
 		return 0;
 
-	inst->U.I.SrcReg[1].Swizzle = RC_MAKE_SWIZZLE(RC_SWIZZLE_ONE, RC_SWIZZLE_ONE, RC_SWIZZLE_ONE, RC_SWIZZLE_ONE);
+	inst->U.I.SrcReg[1].Swizzle = RC_SWIZZLE_1111;
 	inst->U.I.SrcReg[1].Negate = RC_MASK_XYZW;
 
 	return 1;
diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_program_constants.h b/src/mesa/drivers/dri/r300/compiler/radeon_program_constants.h
index 842012d..2ddf60b 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_program_constants.h
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_program_constants.h
@@ -115,6 +115,7 @@ typedef enum {
 
 #define RC_SWIZZLE_XYZW RC_MAKE_SWIZZLE(RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_W)
 #define RC_SWIZZLE_XYZ0 RC_MAKE_SWIZZLE(RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_ZERO)
+#define RC_SWIZZLE_XYZZ RC_MAKE_SWIZZLE(RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_Z)
 #define RC_SWIZZLE_XXXX RC_MAKE_SWIZZLE_SMEAR(RC_SWIZZLE_X)
 #define RC_SWIZZLE_YYYY RC_MAKE_SWIZZLE_SMEAR(RC_SWIZZLE_Y)
 #define RC_SWIZZLE_ZZZZ RC_MAKE_SWIZZLE_SMEAR(RC_SWIZZLE_Z)
diff --git a/src/mesa/drivers/dri/r300/r300_fragprog_common.c b/src/mesa/drivers/dri/r300/r300_fragprog_common.c
index 6b1457c..e678a42 100644
--- a/src/mesa/drivers/dri/r300/r300_fragprog_common.c
+++ b/src/mesa/drivers/dri/r300/r300_fragprog_common.c
@@ -50,7 +50,7 @@ static GLuint build_dts(GLuint depthmode)
 {
 	switch(depthmode) {
 	default:
-	case GL_LUMINANCE: return RC_MAKE_SWIZZLE(RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_Z);
+	case GL_LUMINANCE: return RC_SWIZZLE_XYZZ;
 	case GL_INTENSITY: return RC_SWIZZLE_XYZW;
 	case GL_ALPHA: return RC_SWIZZLE_WWWW;
 	}




More information about the mesa-commit mailing list