Mesa (main): shader_enums,mesa: move VERT_ATTRIB_EDGEFLAG to slot 31 for st/mesa

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 2 20:35:19 UTC 2021


Module: Mesa
Branch: main
Commit: df5a2bbb41552cb030000ca4421fd1a4036ca974
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df5a2bbb41552cb030000ca4421fd1a4036ca974

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed May 26 21:14:56 2021 -0400

shader_enums,mesa: move VERT_ATTRIB_EDGEFLAG to slot 31 for st/mesa

A future commit will replace st_vertex_program::input_to_index with
a prefix bitcount of inputs_read, but it needs vertex inputs to be
in the same order as vertex attribs.

Some of the FF definitions don't make sense with this ordering and are
removed.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11370>

---

 src/compiler/shader_enums.c   |  2 +-
 src/compiler/shader_enums.h   | 18 +++++++-----------
 src/mesa/main/arrayobj.c      | 12 ++++++------
 src/mesa/main/dlist.c         |  2 +-
 src/mesa/main/state.c         |  2 +-
 src/mesa/program/prog_print.c |  6 +++---
 src/mesa/tnl/t_context.h      |  2 +-
 src/mesa/vbo/vbo_attrib.h     | 13 ++++++++-----
 src/mesa/vbo/vbo_context.c    |  7 ++++---
 src/mesa/vbo/vbo_exec.c       |  8 ++++----
 src/mesa/vbo/vbo_save_api.c   |  2 +-
 11 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/src/compiler/shader_enums.c b/src/compiler/shader_enums.c
index c8529cd857b..4ac7758a00b 100644
--- a/src/compiler/shader_enums.c
+++ b/src/compiler/shader_enums.c
@@ -123,7 +123,6 @@ gl_vert_attrib_name(gl_vert_attrib attrib)
       ENUM(VERT_ATTRIB_COLOR1),
       ENUM(VERT_ATTRIB_FOG),
       ENUM(VERT_ATTRIB_COLOR_INDEX),
-      ENUM(VERT_ATTRIB_EDGEFLAG),
       ENUM(VERT_ATTRIB_TEX0),
       ENUM(VERT_ATTRIB_TEX1),
       ENUM(VERT_ATTRIB_TEX2),
@@ -149,6 +148,7 @@ gl_vert_attrib_name(gl_vert_attrib attrib)
       ENUM(VERT_ATTRIB_GENERIC13),
       ENUM(VERT_ATTRIB_GENERIC14),
       ENUM(VERT_ATTRIB_GENERIC15),
+      ENUM(VERT_ATTRIB_EDGEFLAG),
    };
    STATIC_ASSERT(ARRAY_SIZE(names) == VERT_ATTRIB_MAX);
    return NAME(attrib);
diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h
index 0bb722dff51..8ae14bc0894 100644
--- a/src/compiler/shader_enums.h
+++ b/src/compiler/shader_enums.h
@@ -144,7 +144,6 @@ typedef enum
    VERT_ATTRIB_COLOR1,
    VERT_ATTRIB_FOG,
    VERT_ATTRIB_COLOR_INDEX,
-   VERT_ATTRIB_EDGEFLAG,
    VERT_ATTRIB_TEX0,
    VERT_ATTRIB_TEX1,
    VERT_ATTRIB_TEX2,
@@ -170,6 +169,10 @@ typedef enum
    VERT_ATTRIB_GENERIC13,
    VERT_ATTRIB_GENERIC14,
    VERT_ATTRIB_GENERIC15,
+   /* This must be last to keep VS inputs and vertex attributes in the same
+    * order in st/mesa, and st/mesa always adds edgeflags as the last input.
+    */
+   VERT_ATTRIB_EDGEFLAG,
    VERT_ATTRIB_MAX
 } gl_vert_attrib;
 
@@ -187,12 +190,8 @@ const char *gl_vert_attrib_name(gl_vert_attrib attrib);
  * Symbolic constats to help iterating over
  * specific blocks of vertex attributes.
  *
- * VERT_ATTRIB_FF
- *   includes all fixed function attributes as well as
- *   the aliased GL_NV_vertex_program shader attributes.
  * VERT_ATTRIB_TEX
  *   include the classic texture coordinate attributes.
- *   Is a subset of VERT_ATTRIB_FF.
  * VERT_ATTRIB_GENERIC
  *   include the OpenGL 2.0+ GLSL generic shader attributes.
  *   These alias the generic GL_ARB_vertex_shader attributes.
@@ -202,9 +201,6 @@ const char *gl_vert_attrib_name(gl_vert_attrib attrib);
  *   They are located at the end of the generic attribute
  *   block not to overlap with the generic 0 attribute.
  */
-#define VERT_ATTRIB_FF(i)           (VERT_ATTRIB_POS + (i))
-#define VERT_ATTRIB_FF_MAX          VERT_ATTRIB_GENERIC0
-
 #define VERT_ATTRIB_TEX(i)          (VERT_ATTRIB_TEX0 + (i))
 #define VERT_ATTRIB_TEX_MAX         MAX_TEXTURE_COORD_UNITS
 
@@ -228,7 +224,6 @@ const char *gl_vert_attrib_name(gl_vert_attrib attrib);
 #define VERT_BIT_COLOR1          BITFIELD_BIT(VERT_ATTRIB_COLOR1)
 #define VERT_BIT_FOG             BITFIELD_BIT(VERT_ATTRIB_FOG)
 #define VERT_BIT_COLOR_INDEX     BITFIELD_BIT(VERT_ATTRIB_COLOR_INDEX)
-#define VERT_BIT_EDGEFLAG        BITFIELD_BIT(VERT_ATTRIB_EDGEFLAG)
 #define VERT_BIT_TEX0            BITFIELD_BIT(VERT_ATTRIB_TEX0)
 #define VERT_BIT_TEX1            BITFIELD_BIT(VERT_ATTRIB_TEX1)
 #define VERT_BIT_TEX2            BITFIELD_BIT(VERT_ATTRIB_TEX2)
@@ -239,12 +234,13 @@ const char *gl_vert_attrib_name(gl_vert_attrib attrib);
 #define VERT_BIT_TEX7            BITFIELD_BIT(VERT_ATTRIB_TEX7)
 #define VERT_BIT_POINT_SIZE      BITFIELD_BIT(VERT_ATTRIB_POINT_SIZE)
 #define VERT_BIT_GENERIC0        BITFIELD_BIT(VERT_ATTRIB_GENERIC0)
+#define VERT_BIT_EDGEFLAG        BITFIELD_BIT(VERT_ATTRIB_EDGEFLAG)
 
 #define VERT_BIT(i)              BITFIELD_BIT(i)
 #define VERT_BIT_ALL             BITFIELD_RANGE(0, VERT_ATTRIB_MAX)
 
-#define VERT_BIT_FF(i)           VERT_BIT(i)
-#define VERT_BIT_FF_ALL          BITFIELD_RANGE(0, VERT_ATTRIB_FF_MAX)
+#define VERT_BIT_FF_ALL          (BITFIELD_RANGE(0, VERT_ATTRIB_GENERIC0) | \
+                                  VERT_BIT_EDGEFLAG)
 #define VERT_BIT_TEX(i)          VERT_BIT(VERT_ATTRIB_TEX(i))
 #define VERT_BIT_TEX_ALL         \
    BITFIELD_RANGE(VERT_ATTRIB_TEX(0), VERT_ATTRIB_TEX_MAX)
diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
index b668fb762df..1537178a1e4 100644
--- a/src/mesa/main/arrayobj.c
+++ b/src/mesa/main/arrayobj.c
@@ -75,7 +75,6 @@ _mesa_vao_attribute_map[ATTRIBUTE_MAP_MODE_MAX][VERT_ATTRIB_MAX] =
       VERT_ATTRIB_COLOR1,              /* VERT_ATTRIB_COLOR1 */
       VERT_ATTRIB_FOG,                 /* VERT_ATTRIB_FOG */
       VERT_ATTRIB_COLOR_INDEX,         /* VERT_ATTRIB_COLOR_INDEX */
-      VERT_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
       VERT_ATTRIB_TEX0,                /* VERT_ATTRIB_TEX0 */
       VERT_ATTRIB_TEX1,                /* VERT_ATTRIB_TEX1 */
       VERT_ATTRIB_TEX2,                /* VERT_ATTRIB_TEX2 */
@@ -100,7 +99,8 @@ _mesa_vao_attribute_map[ATTRIBUTE_MAP_MODE_MAX][VERT_ATTRIB_MAX] =
       VERT_ATTRIB_GENERIC12,           /* VERT_ATTRIB_GENERIC12 */
       VERT_ATTRIB_GENERIC13,           /* VERT_ATTRIB_GENERIC13 */
       VERT_ATTRIB_GENERIC14,           /* VERT_ATTRIB_GENERIC14 */
-      VERT_ATTRIB_GENERIC15            /* VERT_ATTRIB_GENERIC15 */
+      VERT_ATTRIB_GENERIC15,           /* VERT_ATTRIB_GENERIC15 */
+      VERT_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
    },
 
    /* ATTRIBUTE_MAP_MODE_POSITION
@@ -116,7 +116,6 @@ _mesa_vao_attribute_map[ATTRIBUTE_MAP_MODE_MAX][VERT_ATTRIB_MAX] =
       VERT_ATTRIB_COLOR1,              /* VERT_ATTRIB_COLOR1 */
       VERT_ATTRIB_FOG,                 /* VERT_ATTRIB_FOG */
       VERT_ATTRIB_COLOR_INDEX,         /* VERT_ATTRIB_COLOR_INDEX */
-      VERT_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
       VERT_ATTRIB_TEX0,                /* VERT_ATTRIB_TEX0 */
       VERT_ATTRIB_TEX1,                /* VERT_ATTRIB_TEX1 */
       VERT_ATTRIB_TEX2,                /* VERT_ATTRIB_TEX2 */
@@ -141,7 +140,8 @@ _mesa_vao_attribute_map[ATTRIBUTE_MAP_MODE_MAX][VERT_ATTRIB_MAX] =
       VERT_ATTRIB_GENERIC12,           /* VERT_ATTRIB_GENERIC12 */
       VERT_ATTRIB_GENERIC13,           /* VERT_ATTRIB_GENERIC13 */
       VERT_ATTRIB_GENERIC14,           /* VERT_ATTRIB_GENERIC14 */
-      VERT_ATTRIB_GENERIC15            /* VERT_ATTRIB_GENERIC15 */
+      VERT_ATTRIB_GENERIC15,           /* VERT_ATTRIB_GENERIC15 */
+      VERT_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
    },
 
    /* ATTRIBUTE_MAP_MODE_GENERIC0
@@ -157,7 +157,6 @@ _mesa_vao_attribute_map[ATTRIBUTE_MAP_MODE_MAX][VERT_ATTRIB_MAX] =
       VERT_ATTRIB_COLOR1,              /* VERT_ATTRIB_COLOR1 */
       VERT_ATTRIB_FOG,                 /* VERT_ATTRIB_FOG */
       VERT_ATTRIB_COLOR_INDEX,         /* VERT_ATTRIB_COLOR_INDEX */
-      VERT_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
       VERT_ATTRIB_TEX0,                /* VERT_ATTRIB_TEX0 */
       VERT_ATTRIB_TEX1,                /* VERT_ATTRIB_TEX1 */
       VERT_ATTRIB_TEX2,                /* VERT_ATTRIB_TEX2 */
@@ -182,7 +181,8 @@ _mesa_vao_attribute_map[ATTRIBUTE_MAP_MODE_MAX][VERT_ATTRIB_MAX] =
       VERT_ATTRIB_GENERIC12,           /* VERT_ATTRIB_GENERIC12 */
       VERT_ATTRIB_GENERIC13,           /* VERT_ATTRIB_GENERIC13 */
       VERT_ATTRIB_GENERIC14,           /* VERT_ATTRIB_GENERIC14 */
-      VERT_ATTRIB_GENERIC15            /* VERT_ATTRIB_GENERIC15 */
+      VERT_ATTRIB_GENERIC15,           /* VERT_ATTRIB_GENERIC15 */
+      VERT_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
    }
 };
 
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 2a00d0f27ed..71daa7775de 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -6201,7 +6201,7 @@ save_Attr32bit(struct gl_context *ctx, unsigned attr, unsigned size,
     * FLOAT and INT.
     */
    if (type == GL_FLOAT) {
-      if (attr >= VERT_ATTRIB_GENERIC0) {
+      if (VERT_BIT(attr) & VERT_BIT_GENERIC_ALL) {
          base_op = OPCODE_ATTR_1F_ARB;
          attr -= VERT_ATTRIB_GENERIC0;
       } else {
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c
index 7ed93f91ab3..f4f5a5f5496 100644
--- a/src/mesa/main/state.c
+++ b/src/mesa/main/state.c
@@ -566,7 +566,7 @@ set_vertex_processing_mode(struct gl_context *ctx, gl_vertex_processing_mode m)
       assert(ctx->API != API_OPENGLES);
 
       /* Other parts of the code assume that inputs[VERT_ATTRIB_POS] through
-       * inputs[VERT_ATTRIB_FF_MAX] will be non-NULL.  However, in OpenGL
+       * inputs[VERT_ATTRIB_GENERIC0-1] will be non-NULL.  However, in OpenGL
        * ES 2.0+ or OpenGL core profile, none of these arrays should ever
        * be enabled.
        */
diff --git a/src/mesa/program/prog_print.c b/src/mesa/program/prog_print.c
index 6d67eb42f1b..edf3263de68 100644
--- a/src/mesa/program/prog_print.c
+++ b/src/mesa/program/prog_print.c
@@ -107,7 +107,6 @@ arb_input_attrib_string(GLuint index, GLenum progType)
       "vertex.color.secondary",
       "vertex.fogcoord",
       "vertex.(six)", /* VERT_ATTRIB_COLOR_INDEX */
-      "vertex.(seven)", /* VERT_ATTRIB_EDGEFLAG */
       "vertex.texcoord[0]",
       "vertex.texcoord[1]",
       "vertex.texcoord[2]",
@@ -116,7 +115,7 @@ arb_input_attrib_string(GLuint index, GLenum progType)
       "vertex.texcoord[5]",
       "vertex.texcoord[6]",
       "vertex.texcoord[7]",
-      "vertex.(sixteen)", /* VERT_ATTRIB_POINT_SIZE */
+      "vertex.(pointsize)", /* VERT_ATTRIB_POINT_SIZE */
       "vertex.attrib[0]",
       "vertex.attrib[1]",
       "vertex.attrib[2]",
@@ -132,7 +131,8 @@ arb_input_attrib_string(GLuint index, GLenum progType)
       "vertex.attrib[12]",
       "vertex.attrib[13]",
       "vertex.attrib[14]",
-      "vertex.attrib[15]" /* MAX_VARYING = 16 */
+      "vertex.attrib[15]", /* MAX_VARYING = 16 */
+      "vertex.(edgeflag)", /* VERT_ATTRIB_EDGEFLAG */
    };
    static const char *const fragAttribs[] = {
       "fragment.position",
diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h
index a5bcdb80dbb..e675639e34a 100644
--- a/src/mesa/tnl/t_context.h
+++ b/src/mesa/tnl/t_context.h
@@ -84,7 +84,6 @@ enum {
 	_TNL_ATTRIB_COLOR1,
 	_TNL_ATTRIB_FOG,
 	_TNL_ATTRIB_COLOR_INDEX,
-	_TNL_ATTRIB_EDGEFLAG,
 	_TNL_ATTRIB_TEX0,
 	_TNL_ATTRIB_TEX1,
 	_TNL_ATTRIB_TEX2,
@@ -115,6 +114,7 @@ enum {
 	_TNL_ATTRIB_GENERIC13,
 	_TNL_ATTRIB_GENERIC14,
 	_TNL_ATTRIB_GENERIC15,
+	_TNL_ATTRIB_EDGEFLAG,
 
 	_TNL_ATTRIB_MAX,
 
diff --git a/src/mesa/vbo/vbo_attrib.h b/src/mesa/vbo/vbo_attrib.h
index e32b2f4670b..57346cb182a 100644
--- a/src/mesa/vbo/vbo_attrib.h
+++ b/src/mesa/vbo/vbo_attrib.h
@@ -50,7 +50,6 @@ enum vbo_attrib {
    VBO_ATTRIB_COLOR1,
    VBO_ATTRIB_FOG,
    VBO_ATTRIB_COLOR_INDEX,
-   VBO_ATTRIB_EDGEFLAG,
    VBO_ATTRIB_TEX0,
    VBO_ATTRIB_TEX1,
    VBO_ATTRIB_TEX2,
@@ -77,6 +76,7 @@ enum vbo_attrib {
    VBO_ATTRIB_GENERIC13,
    VBO_ATTRIB_GENERIC14,
    VBO_ATTRIB_GENERIC15,
+   VBO_ATTRIB_EDGEFLAG,
 
    /* XXX: in the vertex program inputs_read flag, we alias
     * materials and generics and use knowledge about the program
@@ -104,15 +104,18 @@ enum vbo_attrib {
 
 
 /** VBO_ATTRIB_POS .. VBO_ATTRIB_POINT_SIZE */
-#define VBO_ATTRIBS_LEGACY  BITFIELD64_MASK(VBO_ATTRIB_GENERIC0)
+#define VBO_ATTRIBS_LEGACY  (BITFIELD64_MASK(VBO_ATTRIB_GENERIC0) | \
+                             BITFIELD64_BIT(VBO_ATTRIB_EDGEFLAG))
 
 /** VBO_ATTRIB_MAT_FRONT_AMBIENT .. VBO_ATTRIB_MAT_BACK_INDEXES */
 #define VBO_ATTRIBS_MATERIALS BITFIELD64_RANGE(VBO_ATTRIB_MAT_FRONT_AMBIENT, \
                      VBO_ATTRIB_LAST_MATERIAL - VBO_ATTRIB_FIRST_MATERIAL + 1)
 
-/** Shift to move legacy material attribs into generic slots */
-#define VBO_MATERIAL_SHIFT \
-   (VBO_ATTRIB_LAST_MATERIAL - VBO_ATTRIB_FIRST_MATERIAL + 1)
+/**
+ * Move material attribs to the last generic attribs, moving LAST_MATERIAL
+ * to GENERIC15, etc.
+ */
+#define VBO_MATERIAL_SHIFT (VBO_ATTRIB_LAST_MATERIAL - VBO_ATTRIB_GENERIC15)
 
 
 
diff --git a/src/mesa/vbo/vbo_context.c b/src/mesa/vbo/vbo_context.c
index 9cef64018ef..fcbb22bea43 100644
--- a/src/mesa/vbo/vbo_context.c
+++ b/src/mesa/vbo/vbo_context.c
@@ -73,13 +73,14 @@ static void
 init_legacy_currval(struct gl_context *ctx)
 {
    struct vbo_context *vbo = vbo_context(ctx);
-   GLuint i;
 
    /* Set up a constant (Stride == 0) array for each current
     * attribute:
     */
-   for (i = 0; i < VERT_ATTRIB_FF_MAX; i++) {
-      const unsigned attr = VERT_ATTRIB_FF(i);
+   for (int attr = 0; attr < VERT_ATTRIB_MAX; attr++) {
+      if (VERT_BIT(attr) & VERT_BIT_GENERIC_ALL)
+         continue;
+
       struct gl_array_attributes *attrib = &vbo->current[attr];
 
       init_array(ctx, attrib, check_size(ctx->Current.Attrib[attr]),
diff --git a/src/mesa/vbo/vbo_exec.c b/src/mesa/vbo/vbo_exec.c
index 6619618c4cc..7bc8520cff9 100644
--- a/src/mesa/vbo/vbo_exec.c
+++ b/src/mesa/vbo/vbo_exec.c
@@ -42,7 +42,6 @@ _vbo_attribute_alias_map[VP_MODE_MAX][VERT_ATTRIB_MAX] = {
       VBO_ATTRIB_COLOR1,              /* VERT_ATTRIB_COLOR1 */
       VBO_ATTRIB_FOG,                 /* VERT_ATTRIB_FOG */
       VBO_ATTRIB_COLOR_INDEX,         /* VERT_ATTRIB_COLOR_INDEX */
-      VBO_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
       VBO_ATTRIB_TEX0,                /* VERT_ATTRIB_TEX0 */
       VBO_ATTRIB_TEX1,                /* VERT_ATTRIB_TEX1 */
       VBO_ATTRIB_TEX2,                /* VERT_ATTRIB_TEX2 */
@@ -67,7 +66,8 @@ _vbo_attribute_alias_map[VP_MODE_MAX][VERT_ATTRIB_MAX] = {
       VBO_ATTRIB_MAT_FRONT_SHININESS, /* VERT_ATTRIB_GENERIC12 */
       VBO_ATTRIB_MAT_BACK_SHININESS,  /* VERT_ATTRIB_GENERIC13 */
       VBO_ATTRIB_MAT_FRONT_INDEXES,   /* VERT_ATTRIB_GENERIC14 */
-      VBO_ATTRIB_MAT_BACK_INDEXES     /* VERT_ATTRIB_GENERIC15 */
+      VBO_ATTRIB_MAT_BACK_INDEXES,    /* VERT_ATTRIB_GENERIC15 */
+      VBO_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
    },
 
    /* VP_MODE_SHADER: */
@@ -78,7 +78,6 @@ _vbo_attribute_alias_map[VP_MODE_MAX][VERT_ATTRIB_MAX] = {
       VBO_ATTRIB_COLOR1,              /* VERT_ATTRIB_COLOR1 */
       VBO_ATTRIB_FOG,                 /* VERT_ATTRIB_FOG */
       VBO_ATTRIB_COLOR_INDEX,         /* VERT_ATTRIB_COLOR_INDEX */
-      VBO_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
       VBO_ATTRIB_TEX0,                /* VERT_ATTRIB_TEX0 */
       VBO_ATTRIB_TEX1,                /* VERT_ATTRIB_TEX1 */
       VBO_ATTRIB_TEX2,                /* VERT_ATTRIB_TEX2 */
@@ -103,7 +102,8 @@ _vbo_attribute_alias_map[VP_MODE_MAX][VERT_ATTRIB_MAX] = {
       VBO_ATTRIB_GENERIC12,           /* VERT_ATTRIB_GENERIC12 */
       VBO_ATTRIB_GENERIC13,           /* VERT_ATTRIB_GENERIC13 */
       VBO_ATTRIB_GENERIC14,           /* VERT_ATTRIB_GENERIC14 */
-      VBO_ATTRIB_GENERIC15            /* VERT_ATTRIB_GENERIC15 */
+      VBO_ATTRIB_GENERIC15,           /* VERT_ATTRIB_GENERIC15 */
+      VBO_ATTRIB_EDGEFLAG,            /* VERT_ATTRIB_EDGEFLAG */
    }
 };
 
diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c
index f36fa413173..b06fc058256 100644
--- a/src/mesa/vbo/vbo_save_api.c
+++ b/src/mesa/vbo/vbo_save_api.c
@@ -1992,7 +1992,7 @@ current_init(struct gl_context *ctx)
    struct vbo_save_context *save = &vbo_context(ctx)->save;
    GLint i;
 
-   for (i = VBO_ATTRIB_POS; i <= VBO_ATTRIB_GENERIC15; i++) {
+   for (i = VBO_ATTRIB_POS; i <= VBO_ATTRIB_EDGEFLAG; i++) {
       const GLuint j = i - VBO_ATTRIB_POS;
       assert(j < VERT_ATTRIB_MAX);
       save->currentsz[i] = &ctx->ListState.ActiveAttribSize[j];



More information about the mesa-commit mailing list