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