i965: handle extended swizzle terms (0,1) in get_src_reg()
authorBrian Paul <brianp@vmware.com>
Mon, 11 May 2009 15:39:52 +0000 (09:39 -0600)
committerBrian Paul <brianp@vmware.com>
Mon, 11 May 2009 15:47:32 +0000 (09:47 -0600)
Fixes failed assertion in progs/glsl/twoside.c (but still wrong rendering).

src/mesa/drivers/dri/i965/brw_wm_glsl.c

index efe8b51..2b2df73 100644 (file)
@@ -509,6 +509,14 @@ static struct brw_reg get_src_reg(struct brw_wm_compile *c,
     const GLuint nr = 1;
     const GLuint component = GET_SWZ(src->Swizzle, channel);
 
+    /* Extended swizzle terms */
+    if (component == SWIZZLE_ZERO) {
+       return brw_imm_f(0.0F);
+    }
+    else if (component == SWIZZLE_ONE) {
+       return brw_imm_f(1.0F);
+    }
+
     if (c->fp->use_const_buffer &&
         (src->File == PROGRAM_STATE_VAR ||
          src->File == PROGRAM_CONSTANT ||