diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -523,7 +523,8 @@ setup_index_buffer(struct gl_context *ctx, } /* get/create the index buffer object */ - if (bufobj && bufobj->Name) { + if (bufobj && bufobj->Name && ib-> ptr < 0xfffff) { /* elements/indexes are in a real VBO */ struct st_buffer_object *stobj = st_buffer_object(bufobj); pipe_resource_reference(&ibuffer->buffer, stobj->buffer);