[Piglit] [PATCH 0/3] Verify gl_VertexID harder

Ian Romanick idr at freedesktop.org
Fri Jun 20 17:25:18 PDT 2014

OpenGL (desktop and ES) have the following expectations of gl_VertexID:

1. When used with BaseVertex drawing commands, gl_VertexID will include
the value of basevertex.  This differens from "the other API," but the
change in OpenGL was based on feedback from application developers.
This only affects OpenGL 3.2+.

2. When used with DrawArrays drawing commands, gl_VertexID will count
from the 'start' value instead of zero.  This affects OpenGL 3.0+ and
OpenGL ES 3.0+.

At the very least, the i965 driver in Mesa doesn't implement either of
these behaviors.

These tests are almost identical.  The main differences:

gl-3.2: Uses glMultiDrawElementsBaseVertex and creates an index array.

gles-3.0: Uses glDrawArrays in a loop.

gl-3.0: Uses glMultiDrawArrays.  GLES does not have glMultiDrawArrays,
and using a different function here gives slightly more test coverage.

I didn't see an obvious way to share code by all three without build
gymnastics.  The gl-3.0 and gles-3.0 tests could be made to share code
without too much effort.  I'm looking for opinions or suggestions.

More information about the Piglit mailing list