scalar source reg can be a scalar or vector literal
authorBrian Paul <brian.paul@tungstengraphics.com>
Mon, 7 Apr 2003 23:12:00 +0000 (23:12 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Mon, 7 Apr 2003 23:12:00 +0000 (23:12 +0000)
src/mesa/main/nvfragparse.c

index 725415ad854e6d32cf7e27fb061b8c6544e65e5f..5178dfd8d2b2fdba0f1b3c05e6b87d3a92b1b79e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: nvfragparse.c,v 1.18 2003/04/07 14:58:58 brianp Exp $ */
+/* $Id: nvfragparse.c,v 1.19 2003/04/07 23:12:00 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -1217,6 +1217,16 @@ Parse_ScalarSrcReg(struct parse_state *parseState,
       if (!Parse_FragReg(parseState, &srcReg->Register))
          RETURN_ERROR;
    }
+   else if (token[0] == '{') {
+      /* vector literal */
+      GLfloat values[4];
+      GLuint paramIndex;
+      if (!Parse_VectorOrScalarConstant(parseState, values))
+         RETURN_ERROR;
+      paramIndex = add_unnamed_constant(parseState, values);
+      srcReg->IsParameter = GL_TRUE;
+      srcReg->Register = paramIndex;      
+   }
    else {
       RETURN_ERROR2("Invalid source register name", token);
    }