diff --git a/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml b/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml
index 129582b1adc..a7b1be1c6ee 100644
--- a/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml
+++ b/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/src/mesa/main/glthread_draw.c b/src/mesa/main/glthread_draw.c
index 21fce5010ef..274db8b475c 100644
--- a/src/mesa/main/glthread_draw.c
+++ b/src/mesa/main/glthread_draw.c
@@ -1198,7 +1198,7 @@ _mesa_marshal_DrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end,
GLsizei count, GLenum type,
const GLvoid *indices, GLint basevertex)
{
- draw_elements(mode, count, type, indices, 1, basevertex, 0, true, start, end, false);
+ draw_elements(mode, count, type, indices, 1, basevertex, 0, true, start, end, true);
}
void GLAPIENTRY
diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c
index 29c9c629fb5..7d914887829 100644
--- a/src/mesa/vbo/vbo_save_api.c
+++ b/src/mesa/vbo/vbo_save_api.c
@@ -1874,6 +1874,21 @@ save_DrawRangeElements(GLenum mode, GLuint start, GLuint end,
save_DrawElements(mode, count, type, indices);
}
+void GLAPIENTRY
+save_DrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end,
+ GLsizei count, GLenum type,
+ const GLvoid *indices, GLint basevertex)
+{
+ GET_CURRENT_CONTEXT(ctx);
+
+ if (end < start) {
+ _mesa_compile_error(ctx, GL_INVALID_VALUE,
+ "glDrawRangeElementsBaseVertex(end < start)");
+ return;
+ }
+
+ save_DrawElementsBaseVertex(mode, count, type, indices, basevertex);
+}
void GLAPIENTRY
save_MultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type,