Mesa (master): i965: Handle swizzles in the addition of YUV texture constants.
Eric Anholt
anholt at kemper.freedesktop.org
Fri Oct 8 17:25:39 UTC 2010
Module: Mesa
Branch: master
Commit: 5b24d69fcd6359dc959ec465c7e77b4626a27e72
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b24d69fcd6359dc959ec465c7e77b4626a27e72
Author: Eric Anholt <eric at anholt.net>
Date: Thu Oct 7 22:37:36 2010 -0700
i965: Handle swizzles in the addition of YUV texture constants.
If someone happened to land a set in a different swizzle order, we
would have assertion failed.
---
src/mesa/drivers/dri/i965/brw_wm_fp.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_wm_fp.c b/src/mesa/drivers/dri/i965/brw_wm_fp.c
index da3d348..af1fda8 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_fp.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_fp.c
@@ -549,6 +549,7 @@ static struct prog_src_register search_or_add_const4f( struct brw_wm_compile *c,
GLfloat values[4];
GLuint idx;
GLuint swizzle;
+ struct prog_src_register reg;
values[0] = s0;
values[1] = s1;
@@ -556,8 +557,10 @@ static struct prog_src_register search_or_add_const4f( struct brw_wm_compile *c,
values[3] = s3;
idx = _mesa_add_unnamed_constant( paramList, values, 4, &swizzle );
- assert(swizzle == SWIZZLE_NOOP); /* Need to handle swizzle in reg setup */
- return src_reg(PROGRAM_STATE_VAR, idx);
+ reg = src_reg(PROGRAM_STATE_VAR, idx);
+ reg.Swizzle = swizzle;
+
+ return reg;
}
More information about the mesa-commit
mailing list