- glDrawElements(GL_TRIANGLES, cmd->ElemCount, GL_UNSIGNED_SHORT, ibuf);
+ if(glcaps.draw_range) {
+ int max_vidx = cmdlist->VtxBuffer.Size - 1;
+ glDrawRangeElements(GL_TRIANGLES, 0, max_vidx, cmd->ElemCount, GL_UNSIGNED_SHORT, ibuf);
+ } else {
+ glDrawElements(GL_TRIANGLES, cmd->ElemCount, GL_UNSIGNED_SHORT, ibuf);
+ }