Mesa (master): r300/compiler: Emit 0.5 swizzle when necessary.

Marek Olšák mareko at kemper.freedesktop.org
Wed May 19 01:20:35 UTC 2010


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

Author: Tom Stellard <tstellar at gmail.com>
Date:   Mon May 17 23:29:19 2010 -0700

r300/compiler: Emit 0.5 swizzle when necessary.

Signed-off-by: Marek Olšák <maraeo at gmail.com>

---

 .../dri/r300/compiler/r300_fragprog_swizzle.c      |    4 +++-
 1 files changed, 3 insertions(+), 1 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 cfa48a5..5d5de2f 100644
--- a/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c
+++ b/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c
@@ -56,7 +56,8 @@ static const struct swizzle_data native_swizzles[] = {
 	{MAKE_SWZ3(Z, X, Y), R300_ALU_ARGC_SRC0C_ZXY, 1},
 	{MAKE_SWZ3(W, Z, Y), R300_ALU_ARGC_SRC0CA_WZY, 1},
 	{MAKE_SWZ3(ONE, ONE, ONE), R300_ALU_ARGC_ONE, 0},
-	{MAKE_SWZ3(ZERO, ZERO, ZERO), R300_ALU_ARGC_ZERO, 0}
+	{MAKE_SWZ3(ZERO, ZERO, ZERO), R300_ALU_ARGC_ZERO, 0},
+	{MAKE_SWZ3(HALF, HALF, HALF), R300_ALU_ARGC_HALF, 0}
 };
 
 static const int num_native_swizzles = sizeof(native_swizzles)/sizeof(native_swizzles[0]);
@@ -221,6 +222,7 @@ unsigned int r300FPTranslateAlphaSwizzle(unsigned int src, unsigned int swizzle)
 	case RC_SWIZZLE_W: return R300_ALU_ARGA_SRC0A + src;
 	case RC_SWIZZLE_ONE: return R300_ALU_ARGA_ONE;
 	case RC_SWIZZLE_ZERO: return R300_ALU_ARGA_ZERO;
+	case RC_SWIZZLE_HALF: return R300_ALU_ARGA_HALF;
 	default: return R300_ALU_ARGA_ONE;
 	}
 }




More information about the mesa-commit mailing list