mesa: Fix display lists for draw_elements_base_vertex with draw_instanced.

Fixes piglit GL_ARB_draw_elements_base_vertex/dlist-arb_draw_instanced

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Eric Anholt 2012-02-28 13:33:52 -08:00 committed by Kenneth Graunke
parent 3c69a18b6a
commit 871518dbf8

View file

@ -1324,6 +1324,19 @@ save_DrawElementsInstancedARB(GLenum mode,
"glDrawElementsInstanced() during display list compile"); "glDrawElementsInstanced() during display list compile");
} }
static void GLAPIENTRY
save_DrawElementsInstancedBaseVertexARB(GLenum mode,
GLsizei count,
GLenum type,
const GLvoid *indices,
GLsizei primcount,
GLint basevertex)
{
GET_CURRENT_CONTEXT(ctx);
_mesa_error(ctx, GL_INVALID_OPERATION,
"glDrawElementsInstancedBaseVertex() during display list compile");
}
static void invalidate_saved_current_state( struct gl_context *ctx ) static void invalidate_saved_current_state( struct gl_context *ctx )
{ {
GLint i; GLint i;
@ -9696,8 +9709,6 @@ exec_MultiModeDrawElementsIBM(const GLenum * mode,
modestride)); modestride));
} }
/** /**
* Setup the given dispatch table to point to Mesa's display list * Setup the given dispatch table to point to Mesa's display list
* building functions. * building functions.
@ -10779,6 +10790,9 @@ _mesa_save_vtxfmt_init(GLvertexformat * vfmt)
vfmt->DrawArraysInstanced = save_DrawArraysInstancedARB; vfmt->DrawArraysInstanced = save_DrawArraysInstancedARB;
vfmt->DrawElementsInstanced = save_DrawElementsInstancedARB; vfmt->DrawElementsInstanced = save_DrawElementsInstancedARB;
/* GL_ARB_draw_elements_base_vertex */
vfmt->DrawElementsInstancedBaseVertex = save_DrawElementsInstancedBaseVertexARB;
/* The driver is required to implement these as /* The driver is required to implement these as
* 1) They can probably do a better job. * 1) They can probably do a better job.
* 2) A lot of new mechanisms would have to be added to this module * 2) A lot of new mechanisms would have to be added to this module