void vbo_split_inplace( GLcontext *ctx, const struct gl_client_array *arrays[], const struct _mesa_prim *prim, GLuint nr_prims, const struct _mesa_index_buffer *ib, GLuint min_index, GLuint max_index, vbo_draw_func draw, const struct split_limits *limits ) { struct split_context split; memset(&split, 0, sizeof(split)); split.ctx = ctx; split.array = arrays; split.prim = prim; split.nr_prims = nr_prims; split.ib = ib; split.min_index = min_index; split.max_index = max_index; split.draw = draw; split.limits = limits; split_prims( &split ); }
void vbo_split_inplace( struct gl_context *ctx, const struct gl_vertex_array *arrays[], const struct _mesa_prim *prim, GLuint nr_prims, const struct _mesa_index_buffer *ib, GLuint min_index, GLuint max_index, vbo_draw_func draw, const struct split_limits *limits ) { struct split_context split; memset(&split, 0, sizeof(split)); split.ctx = ctx; split.array = arrays; split.prim = prim; split.nr_prims = nr_prims; split.ib = ib; /* Empty interval, makes calculations simpler. */ split.min_index = ~0; split.max_index = 0; split.draw = draw; split.limits = limits; split.limit = ib ? limits->max_indices : limits->max_verts; split_prims( &split ); }