vbo: lift common code out of switch cases
authorBrian Paul <brianp@vmware.com>
Mon, 15 Jan 2018 21:34:53 +0000 (14:34 -0700)
committerBrian Paul <brianp@vmware.com>
Wed, 17 Jan 2018 18:17:56 +0000 (11:17 -0700)
Both switch cases began with the same code.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
src/mesa/vbo/vbo_exec_draw.c
src/mesa/vbo/vbo_save_draw.c

index 34cb4ff72e67513cd48e5598c611295930c061e5..de173220fca4d57e98299e051c121c11ea67890e 100644 (file)
@@ -180,14 +180,14 @@ vbo_exec_bind_arrays( struct gl_context *ctx )
    GLbitfield varying_inputs = 0x0;
    bool swap_pos = false;
 
-   /* Install the default (ie Current) attributes first, then overlay
-    * all active ones.
-    */
+   /* Install the default (ie Current) attributes first */
+   for (attr = 0; attr < VERT_ATTRIB_FF_MAX; attr++) {
+      exec->vtx.inputs[attr] = &vbo->currval[VBO_ATTRIB_POS+attr];
+   }
+
+   /* Overlay other active attributes */
    switch (get_program_mode(exec->ctx)) {
    case VP_NONE:
-      for (attr = 0; attr < VERT_ATTRIB_FF_MAX; attr++) {
-         exec->vtx.inputs[attr] = &vbo->currval[VBO_ATTRIB_POS+attr];
-      }
       for (attr = 0; attr < MAT_ATTRIB_MAX; attr++) {
          assert(VERT_ATTRIB_GENERIC(attr) < ARRAY_SIZE(exec->vtx.inputs));
          exec->vtx.inputs[VERT_ATTRIB_GENERIC(attr)] =
@@ -196,9 +196,6 @@ vbo_exec_bind_arrays( struct gl_context *ctx )
       map = vbo->map_vp_none;
       break;
    case VP_ARB:
-      for (attr = 0; attr < VERT_ATTRIB_FF_MAX; attr++) {
-         exec->vtx.inputs[attr] = &vbo->currval[VBO_ATTRIB_POS+attr];
-      }
       for (attr = 0; attr < VERT_ATTRIB_GENERIC_MAX; attr++) {
          assert(VERT_ATTRIB_GENERIC(attr) < ARRAY_SIZE(exec->vtx.inputs));
          exec->vtx.inputs[VERT_ATTRIB_GENERIC(attr)] =
index b63a9a8b869bdc6b00f7324177ce26bc3bc15071..41010225c3c5290a0fe7090895dd53bda7bad331 100644 (file)
@@ -158,14 +158,14 @@ bind_vertex_list(struct gl_context *ctx,
       buffer_offset = 0;
    }
 
-   /* Install the default (ie Current) attributes first, then overlay
-    * all active ones.
-    */
+   /* Install the default (ie Current) attributes first */
+   for (attr = 0; attr < VERT_ATTRIB_FF_MAX; attr++) {
+      save->inputs[attr] = &vbo->currval[VBO_ATTRIB_POS+attr];
+   }
+
+   /* Overlay other active attributes */
    switch (get_program_mode(ctx)) {
    case VP_NONE:
-      for (attr = 0; attr < VERT_ATTRIB_FF_MAX; attr++) {
-         save->inputs[attr] = &vbo->currval[VBO_ATTRIB_POS+attr];
-      }
       for (attr = 0; attr < MAT_ATTRIB_MAX; attr++) {
          save->inputs[VERT_ATTRIB_GENERIC(attr)] =
             &vbo->currval[VBO_ATTRIB_MAT_FRONT_AMBIENT+attr];
@@ -173,9 +173,6 @@ bind_vertex_list(struct gl_context *ctx,
       map = vbo->map_vp_none;
       break;
    case VP_ARB:
-      for (attr = 0; attr < VERT_ATTRIB_FF_MAX; attr++) {
-         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->currval[VBO_ATTRIB_GENERIC0+attr];