diff options
Diffstat (limited to 'src/mesa/vbo')
-rw-r--r-- | src/mesa/vbo/vbo.h | 2 | ||||
-rw-r--r-- | src/mesa/vbo/vbo_split_copy.c | 8 | ||||
-rw-r--r-- | src/mesa/vbo/vbo_split_inplace.c | 8 |
3 files changed, 4 insertions, 14 deletions
diff --git a/src/mesa/vbo/vbo.h b/src/mesa/vbo/vbo.h index 13f77d9db37..37aa59d3061 100644 --- a/src/mesa/vbo/vbo.h +++ b/src/mesa/vbo/vbo.h @@ -145,6 +145,7 @@ vbo_save_EndCallList(struct gl_context *ctx); * Draw a number of primitives. * \param prims array [nr_prims] describing what to draw (prim type, * vertex count, first index, instance count, etc). + * \param arrays array of vertex arrays for draw * \param ib index buffer for indexed drawing, NULL for array drawing * \param index_bounds_valid are min_index and max_index valid? * \param min_index lowest vertex index used @@ -158,6 +159,7 @@ vbo_save_EndCallList(struct gl_context *ctx); * This may be deprecated in the future */ typedef void (*vbo_draw_func)(struct gl_context *ctx, + const struct gl_vertex_array* arrays, const struct _mesa_prim *prims, GLuint nr_prims, const struct _mesa_index_buffer *ib, diff --git a/src/mesa/vbo/vbo_split_copy.c b/src/mesa/vbo/vbo_split_copy.c index 96828a073fe..2aab670de1e 100644 --- a/src/mesa/vbo/vbo_split_copy.c +++ b/src/mesa/vbo/vbo_split_copy.c @@ -179,7 +179,6 @@ static void flush(struct copy_context *copy) { struct gl_context *ctx = copy->ctx; - const struct gl_vertex_array *saved_arrays = ctx->Array._DrawArrays; GLuint i; /* Set some counters: @@ -198,10 +197,8 @@ flush(struct copy_context *copy) (void) dump_draw_info; #endif - ctx->Array._DrawArrays = copy->dstarray; - ctx->NewDriverState |= ctx->DriverFlags.NewArray; - copy->draw(ctx, + copy->dstarray, copy->dstprim, copy->dstprim_nr, ©->dstib, @@ -210,9 +207,6 @@ flush(struct copy_context *copy) copy->dstbuf_nr - 1, NULL, 0, NULL); - ctx->Array._DrawArrays = saved_arrays; - ctx->NewDriverState |= ctx->DriverFlags.NewArray; - /* Reset all pointers: */ copy->dstprim_nr = 0; diff --git a/src/mesa/vbo/vbo_split_inplace.c b/src/mesa/vbo/vbo_split_inplace.c index 971c52a078c..b63c05c75f0 100644 --- a/src/mesa/vbo/vbo_split_inplace.c +++ b/src/mesa/vbo/vbo_split_inplace.c @@ -63,7 +63,6 @@ static void flush_vertex( struct split_context *split) { struct gl_context *ctx = split->ctx; - const struct gl_vertex_array *saved_arrays = ctx->Array._DrawArrays; struct _mesa_index_buffer ib; GLuint i; @@ -84,10 +83,8 @@ flush_vertex( struct split_context *split) assert(split->max_index >= split->min_index); - ctx->Array._DrawArrays = split->array; - ctx->NewDriverState |= ctx->DriverFlags.NewArray; - split->draw(ctx, + split->array, split->dstprim, split->dstprim_nr, split->ib ? &ib : NULL, @@ -96,9 +93,6 @@ flush_vertex( struct split_context *split) split->max_index, NULL, 0, NULL); - ctx->Array._DrawArrays = saved_arrays; - ctx->NewDriverState |= ctx->DriverFlags.NewArray; - split->dstprim_nr = 0; split->min_index = ~0; split->max_index = 0; |