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: */ copy->dstib.count = copy->dstelt_nr; #if 0 dump_draw_info(copy->ctx, copy->dstarray_ptr, copy->dstprim, copy->dstprim_nr, ©->dstib, 0, copy->dstbuf_nr); #else (void) dump_draw_info; #endif ctx->Array._DrawArrays = copy->dstarray_ptr; ctx->NewDriverState |= ctx->DriverFlags.NewArray; copy->draw( ctx, copy->dstprim, copy->dstprim_nr, ©->dstib, GL_TRUE, 0, copy->dstbuf_nr - 1, NULL, NULL ); ctx->Array._DrawArrays = saved_arrays; ctx->NewDriverState |= ctx->DriverFlags.NewArray; /* Reset all pointers: */ copy->dstprim_nr = 0; copy->dstelt_nr = 0; copy->dstbuf_nr = 0; copy->dstptr = copy->dstbuf; /* Clear the vertex cache: */ for (i = 0; i < ELT_TABLE_SIZE; i++) copy->vert_cache[i].in = ~0; }
static void flush( struct copy_context *copy ) { GLuint i; /* Set some counters: */ copy->dstib.count = copy->dstelt_nr; #if 0 dump_draw_info(copy->ctx, copy->dstarray_ptr, copy->dstprim, copy->dstprim_nr, ©->dstib, 0, copy->dstbuf_nr); #else (void) dump_draw_info; #endif copy->draw( copy->ctx, copy->dstarray_ptr, copy->dstprim, copy->dstprim_nr, ©->dstib, GL_TRUE, 0, copy->dstbuf_nr - 1); /* Reset all pointers: */ copy->dstprim_nr = 0; copy->dstelt_nr = 0; copy->dstbuf_nr = 0; copy->dstptr = copy->dstbuf; /* Clear the vertex cache: */ for (i = 0; i < ELT_TABLE_SIZE; i++) copy->vert_cache[i].in = ~0; }