The 2.0 spec doesn't make things extremely clear, but expresses itself in pseudocode: If the vertex array isn't enabled, then nothing is called that provokes drawing. The manifestation of this bug was that a client drawing with no arrays enabled would get into the driver with a request to draw with _MaxElements being 0 and no inputs to the ff vertex program (since no arrays were enabled, so nothing was varying), and the driver failing all over the place.
Bug #19911. --- src/mesa/main/api_validate.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index 5c8955d..5253ae3 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -87,9 +87,8 @@ check_valid_to_render(GLcontext *ctx, char *function) return GL_FALSE; } - /* Always need vertex positions, unless a vertex program is in use */ - if (!ctx->VertexProgram._Current && - !ctx->Array.ArrayObj->Vertex.Enabled && + /* Always need vertex positions */ + if (!ctx->Array.ArrayObj->Vertex.Enabled && !ctx->Array.ArrayObj->VertexAttrib[0].Enabled) return GL_FALSE; -- 1.5.6.5 ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev