st/mesa: call pipe_context::draw_arrays/elements_instanced()

This commit is contained in:
Brian Paul 2010-04-04 18:22:46 -06:00
parent 3b7ac45162
commit 528d100b80

View file

@ -669,9 +669,17 @@ st_draw_vbo(GLcontext *ctx,
for (i = 0; i < nr_prims; i++) {
prim = translate_prim( ctx, prims[i].mode );
pipe->draw_elements(pipe, indexBuf, indexSize,
prim,
prims[i].start + indexOffset, prims[i].count);
if (prims[i].num_instances == 1) {
pipe->draw_elements(pipe, indexBuf, indexSize, prim,
prims[i].start + indexOffset,
prims[i].count);
}
else {
pipe->draw_elements_instanced(pipe, indexBuf, indexSize, prim,
prims[i].start + indexOffset,
prims[i].count,
0, prims[i].num_instances);
}
}
}
@ -685,7 +693,14 @@ st_draw_vbo(GLcontext *ctx,
for (i = 0; i < nr_prims; i++) {
prim = translate_prim( ctx, prims[i].mode );
pipe->draw_arrays(pipe, prim, prims[i].start, prims[i].count);
if (prims[i].num_instances == 1) {
pipe->draw_arrays(pipe, prim, prims[i].start, prims[i].count);
}
else {
pipe->draw_arrays_instanced(pipe, prim, prims[i].start,
prims[i].count,
0, prims[i].num_instances);
}
}
}