aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/vbo/vbo_split_copy.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-05-09 16:07:11 +0200
committermarha <marha@users.sourceforge.net>2012-05-09 16:07:11 +0200
commit58780b4306bd1254c6c0e65d255630d5c546005f (patch)
tree71c3b3842ee282b0228246840f5006c369684ab7 /mesalib/src/mesa/vbo/vbo_split_copy.c
parent38e785557684536d03fff096d56d5db61cc42e8a (diff)
parent8a448108ec0bc3a0a488b2234e0d12aee503c67c (diff)
downloadvcxsrv-58780b4306bd1254c6c0e65d255630d5c546005f.tar.gz
vcxsrv-58780b4306bd1254c6c0e65d255630d5c546005f.tar.bz2
vcxsrv-58780b4306bd1254c6c0e65d255630d5c546005f.zip
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'mesalib/src/mesa/vbo/vbo_split_copy.c')
-rw-r--r--mesalib/src/mesa/vbo/vbo_split_copy.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/mesalib/src/mesa/vbo/vbo_split_copy.c b/mesalib/src/mesa/vbo/vbo_split_copy.c
index b53293c31..528fcfd7f 100644
--- a/mesalib/src/mesa/vbo/vbo_split_copy.c
+++ b/mesalib/src/mesa/vbo/vbo_split_copy.c
@@ -171,6 +171,8 @@ dump_draw_info(struct gl_context *ctx,
static void
flush( struct copy_context *copy )
{
+ struct gl_context *ctx = copy->ctx;
+ const struct gl_client_array **saved_arrays = ctx->Array._DrawArrays;
GLuint i;
/* Set some counters:
@@ -189,8 +191,10 @@ flush( struct copy_context *copy )
(void) dump_draw_info;
#endif
- copy->draw( copy->ctx,
- copy->dstarray_ptr,
+ ctx->Array._DrawArrays = copy->dstarray_ptr;
+ ctx->NewDriverState |= ctx->DriverFlags.NewArray;
+
+ copy->draw( ctx,
copy->dstprim,
copy->dstprim_nr,
&copy->dstib,
@@ -199,6 +203,9 @@ flush( struct copy_context *copy )
copy->dstbuf_nr - 1,
NULL );
+ ctx->Array._DrawArrays = saved_arrays;
+ ctx->NewDriverState |= ctx->DriverFlags.NewArray;
+
/* Reset all pointers:
*/
copy->dstprim_nr = 0;