vbo: remove vbo_context::generic_currval
authorMarek Olšák <maraeo@gmail.com>
Mon, 16 Apr 2012 14:35:58 +0000 (16:35 +0200)
committerMarek Olšák <maraeo@gmail.com>
Thu, 19 Apr 2012 12:47:21 +0000 (14:47 +0200)
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
src/mesa/vbo/vbo_context.c
src/mesa/vbo/vbo_context.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_exec_array.c
src/mesa/vbo/vbo_exec_draw.c
src/mesa/vbo/vbo_save.c
src/mesa/vbo/vbo_save_draw.c

index 2b31b6222040dce5f05e1e4b4fc5f55af5694379..33bd4f3eb74fbb98f2f788cee4696443f0e89012 100644 (file)
@@ -77,7 +77,7 @@ static void init_legacy_currval(struct gl_context *ctx)
 static void init_generic_currval(struct gl_context *ctx)
 {
    struct vbo_context *vbo = vbo_context(ctx);
-   struct gl_client_array *arrays = vbo->generic_currval;
+   struct gl_client_array *arrays = &vbo->currval[VBO_ATTRIB_GENERIC0];
    GLuint i;
 
    memset(arrays, 0, sizeof(*arrays) * VERT_ATTRIB_GENERIC_MAX);
@@ -162,7 +162,6 @@ GLboolean _vbo_CreateContext( struct gl_context *ctx )
 
    /* TODO: remove these pointers.
     */
-   vbo->generic_currval = &vbo->currval[VBO_ATTRIB_GENERIC0];
    vbo->mat_currval = &vbo->currval[VBO_ATTRIB_MAT_FRONT_AMBIENT];
 
    init_legacy_currval( ctx );
index 77010b8b163d200403c29ebe7395593797b3099b..b9d00863f27eb2284b1ff5b0f1e3de4d1cfc47b2 100644 (file)
@@ -63,7 +63,6 @@ struct vbo_context {
    
    /* These point into the above.  TODO: remove.
     */
-   struct gl_client_array *generic_currval;
    struct gl_client_array *mat_currval;
 
    /** Map VERT_ATTRIB_x to VBO_ATTRIB_y */
index 8a168043936e8ef319658ee88eec40dc57f26590..3f95410892e1295ccc8bc557f7dc2a3d8af3fa1e 100644 (file)
@@ -1099,14 +1099,16 @@ void vbo_exec_vtx_init( struct vbo_exec_context *exec )
                                  vbo->currval[VBO_ATTRIB_POS+i].BufferObj);
       }
 
-      memcpy(arrays + VERT_ATTRIB_GENERIC(0), vbo->generic_currval,
+      memcpy(arrays + VERT_ATTRIB_GENERIC(0),
+             &vbo->currval[VBO_ATTRIB_GENERIC0],
              VERT_ATTRIB_GENERIC_MAX * sizeof(arrays[0]));
+
       for (i = 0; i < VERT_ATTRIB_GENERIC_MAX; ++i) {
          struct gl_client_array *array;
          array = &arrays[VERT_ATTRIB_GENERIC(i)];
          array->BufferObj = NULL;
          _mesa_reference_buffer_object(ctx, &array->BufferObj,
-                                       vbo->generic_currval[i].BufferObj);
+                           vbo->currval[VBO_ATTRIB_GENERIC0+i].BufferObj);
       }
    }
 
index 7278c39fa4bc496c3c26a668f1501f53fe98bf7e..60e18dbba58eeeb6caab3855d7f679d4ae990058 100644 (file)
@@ -434,7 +434,7 @@ recalculate_input_bindings(struct gl_context *ctx)
        * slots:
        */
       for (i = MAT_ATTRIB_MAX; i < VERT_ATTRIB_GENERIC_MAX; i++) {
-        inputs[VERT_ATTRIB_GENERIC(i)] = &vbo->generic_currval[i];
+        inputs[VERT_ATTRIB_GENERIC(i)] = &vbo->currval[VBO_ATTRIB_GENERIC0+i];
          const_inputs |= VERT_BIT_GENERIC(i);
       }
 
@@ -468,7 +468,7 @@ recalculate_input_bindings(struct gl_context *ctx)
        * slots:
        */
       for (i = 0; i < VERT_ATTRIB_GENERIC_MAX; i++) {
-        inputs[VERT_ATTRIB_GENERIC(i)] = &vbo->generic_currval[i];
+        inputs[VERT_ATTRIB_GENERIC(i)] = &vbo->currval[VBO_ATTRIB_GENERIC0+i];
          const_inputs |= VERT_BIT_GENERIC(i);
       }
 
@@ -505,7 +505,7 @@ recalculate_input_bindings(struct gl_context *ctx)
         if (vertexAttrib[VERT_ATTRIB_GENERIC(i)].Enabled)
            inputs[VERT_ATTRIB_GENERIC(i)] = &vertexAttrib[VERT_ATTRIB_GENERIC(i)];
         else {
-           inputs[VERT_ATTRIB_GENERIC(i)] = &vbo->generic_currval[i];
+           inputs[VERT_ATTRIB_GENERIC(i)] = &vbo->currval[VBO_ATTRIB_GENERIC0+i];
             const_inputs |= VERT_BIT_GENERIC(i);
          }
       }
index 96ff2241ac41d5fb876e1704088d03bbad80ab4a..570323a8f062753cda256f9b7456db3941ad6b95 100644 (file)
@@ -193,7 +193,8 @@ vbo_exec_bind_arrays( struct gl_context *ctx )
       }
       for (attr = 0; attr < VERT_ATTRIB_GENERIC_MAX; attr++) {
          ASSERT(VERT_ATTRIB_GENERIC(attr) < Elements(exec->vtx.inputs));
-         exec->vtx.inputs[VERT_ATTRIB_GENERIC(attr)] = &vbo->generic_currval[attr];
+         exec->vtx.inputs[VERT_ATTRIB_GENERIC(attr)] =
+            &vbo->currval[VBO_ATTRIB_GENERIC0+attr];
       }
       map = vbo->map_vp_arb;
 
index dbe99edde0587e8344a830189e4f92a2fb7989fe..040c9b7a95a2664aa592b636a060e4b549865c79 100644 (file)
@@ -73,14 +73,16 @@ void vbo_save_init( struct gl_context *ctx )
                                        vbo->currval[VBO_ATTRIB_POS+i].BufferObj);
       }
 
-      memcpy(arrays + VERT_ATTRIB_GENERIC(0), vbo->generic_currval,
+      memcpy(arrays + VERT_ATTRIB_GENERIC(0),
+             &vbo->currval[VBO_ATTRIB_GENERIC0],
              VERT_ATTRIB_GENERIC_MAX * sizeof(arrays[0]));
+
       for (i = 0; i < VERT_ATTRIB_GENERIC_MAX; ++i) {
          struct gl_client_array *array;
          array = &arrays[VERT_ATTRIB_GENERIC(i)];
          array->BufferObj = NULL;
          _mesa_reference_buffer_object(ctx, &array->BufferObj,
-                                       vbo->generic_currval[i].BufferObj);
+                           vbo->currval[VBO_ATTRIB_GENERIC0+i].BufferObj);
       }
    }
 
index 669023cf061536f30a385c69fbfd2b7274aa5cfe..4eac65a8fda699e7233ab90c9da8369d17c466dc 100644 (file)
@@ -164,7 +164,8 @@ static void vbo_bind_vertex_list(struct gl_context *ctx,
          save->inputs[attr] = &vbo->currval[VBO_ATTRIB_POS+attr];
       }
       for (attr = 0; attr < VERT_ATTRIB_GENERIC_MAX; attr++) {
-         save->inputs[VERT_ATTRIB_GENERIC(attr)] = &vbo->generic_currval[attr];
+         save->inputs[VERT_ATTRIB_GENERIC(attr)] =
+            &vbo->currval[VBO_ATTRIB_GENERIC0+attr];
       }
       map = vbo->map_vp_arb;