Add VF_ATTRIB_VAR0..7 for varying variables.
authorBrian <brian.paul@tungstengraphics.com>
Tue, 24 Jul 2007 21:39:41 +0000 (15:39 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Tue, 24 Jul 2007 21:39:41 +0000 (15:39 -0600)
The demos/fslight.c demo runs now.

src/mesa/pipe/softpipe/sp_state_derived.c
src/mesa/vf/vf.h

index 84a1ec79f805b835c765ee5ebdc2d5d382ffe145..26083c29628e58df8b240428ddb9b71a98e6b9c2 100644 (file)
@@ -60,6 +60,14 @@ static const GLuint frag_to_vf[FRAG_ATTRIB_MAX] =
    VF_ATTRIB_TEX5,
    VF_ATTRIB_TEX6,
    VF_ATTRIB_TEX7,
+   VF_ATTRIB_VAR0,
+   VF_ATTRIB_VAR1,
+   VF_ATTRIB_VAR2,
+   VF_ATTRIB_VAR3,
+   VF_ATTRIB_VAR4,
+   VF_ATTRIB_VAR5,
+   VF_ATTRIB_VAR6,
+   VF_ATTRIB_VAR7,
 };
 
 
@@ -109,6 +117,7 @@ static void calculate_vertex_layout( struct softpipe_context *softpipe )
     */
    for (i = 1; i < FRAG_ATTRIB_TEX0; i++) {
       if (inputsRead & (1 << i)) {
+         assert(i < sizeof(frag_to_vf) / sizeof(frag_to_vf[0]));
          if (softpipe->setup.flatshade
              && (i == FRAG_ATTRIB_COL0 || i == FRAG_ATTRIB_COL1))
             EMIT_ATTR(frag_to_vf[i], i, INTERP_CONSTANT);
@@ -119,6 +128,7 @@ static void calculate_vertex_layout( struct softpipe_context *softpipe )
 
    for (i = FRAG_ATTRIB_TEX0; i < FRAG_ATTRIB_MAX; i++) {
       if (inputsRead & (1 << i)) {
+         assert(i < sizeof(frag_to_vf) / sizeof(frag_to_vf[0]));
          EMIT_ATTR(frag_to_vf[i], i, INTERP_PERSPECTIVE);
          softpipe->need_w = GL_TRUE;
       }
index fcbf490ce14bd58032527a2ec9e4d02d77892f12..fc988b9fb9aa8231cb3843bee456c9a51a48affe 100644 (file)
@@ -48,12 +48,20 @@ enum {
    VF_ATTRIB_TEX5 = 13,
    VF_ATTRIB_TEX6 = 14,
    VF_ATTRIB_TEX7 = 15,
-   VF_ATTRIB_POINTSIZE = 16,
-   VF_ATTRIB_BFC0 = 17,
-   VF_ATTRIB_BFC1 = 18,
-   VF_ATTRIB_CLIP_POS = 19,
-   VF_ATTRIB_VERTEX_HEADER = 20,
-   VF_ATTRIB_MAX = 21
+   VF_ATTRIB_VAR0 = 16,
+   VF_ATTRIB_VAR1 = 17,
+   VF_ATTRIB_VAR2 = 18,
+   VF_ATTRIB_VAR3 = 19,
+   VF_ATTRIB_VAR4 = 20,
+   VF_ATTRIB_VAR5 = 21,
+   VF_ATTRIB_VAR6 = 22,
+   VF_ATTRIB_VAR7 = 23,
+   VF_ATTRIB_POINTSIZE = 24,
+   VF_ATTRIB_BFC0 = 25,
+   VF_ATTRIB_BFC1 = 26,
+   VF_ATTRIB_CLIP_POS = 27,
+   VF_ATTRIB_VERTEX_HEADER = 28,
+   VF_ATTRIB_MAX = 29
 };