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

Author: Marek Olšák <[email protected]>
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;
        }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to