Created attachment 125767 [details]
See the attached test case. It can run in four modes:
0) glDrawElements direct call
1) glDrawElementsBaseVertex direct call
2) glDrawElements inside a display list
3) glDrawElementsBaseVertex inside a display list
Only first three work correctly on i915. Mode 3) shows black window, which is wrong. According to OpenGL docs, glDrawElementsBaseVertex is mostly equivalent to glDrawElements. Since the latter is included in display lists, the former must be too.
Linux 3.19.0 + Intel Atom N550 + Mesa 10.5.9
Linux 4.4.0 + Intel Atom N450 + Mesa 11.2.0
That fixes it for me with a different driver, but it's all shared infrastructure inside mesa...
(In reply to Ilia Mirkin from comment #1)
> That fixes it for me with a different driver, but it's all shared
> infrastructure inside mesa...
I can confirm that this fixes the problem on Core i7-4765T.
Author: Ilia Mirkin <firstname.lastname@example.org>
Date: Sun Aug 14 02:28:35 2016 -0400
vbo: allow DrawElementsBaseVertex in display lists
As an aside, note that Draw*Instanced* is not allowed in display lists, per the ARB_draw_instanced spec.