i965: Remove the vbo_rebase_prims() path.
authorEric Anholt <eric@anholt.net>
Wed, 31 Oct 2012 20:56:56 +0000 (13:56 -0700)
committerEric Anholt <eric@anholt.net>
Sun, 4 Nov 2012 19:15:44 +0000 (11:15 -0800)
The brw_draw_upload.c start_vertex_bias code has support for doing the rebase
without rewriting the index buffer by applying a basevertex.  It looks like
vbo_rebase_prims() is not equipped to handle basevertex.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_draw.c

index 323310a5bc61c5b080a7a8d7f866fdb6d2b69efe..1cfba29d90a31b766435ffa45f795f9cb961d8fa 100644 (file)
@@ -552,21 +552,12 @@ void brw_draw_prims( struct gl_context *ctx,
       return;
    }
 
-   if (!vbo_all_varyings_in_vbos(arrays)) {
-      if (!index_bounds_valid)
-        vbo_get_minmax_indices(ctx, prim, ib, &min_index, &max_index, nr_prims);
-
-      /* Decide if we want to rebase.  If so we end up recursing once
-       * only into this function.
-       */
-      if (min_index != 0 && !vbo_any_varyings_in_vbos(arrays)) {
-        vbo_rebase_prims(ctx, arrays,
-                         prim, nr_prims,
-                         ib, min_index, max_index,
-                         brw_draw_prims );
-        return;
-      }
-   }
+   /* If we're going to have to upload any of the user's vertex arrays, then
+    * get the minimum and maximum of their index buffer so we know what range
+    * to upload.
+    */
+   if (!vbo_all_varyings_in_vbos(arrays) && !index_bounds_valid)
+      vbo_get_minmax_indices(ctx, prim, ib, &min_index, &max_index, nr_prims);
 
    /* Do GL_SELECT and GL_FEEDBACK rendering using swrast, even though it
     * won't support all the extensions we support.