From 5b24d69fcd6359dc959ec465c7e77b4626a27e72 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 7 Oct 2010 22:37:36 -0700 Subject: 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 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm_fp.c b/src/mesa/drivers/dri/i965/brw_wm_fp.c index da3d3486cea..af1fda86513 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; } -- cgit v1.2.3