mesa: Generate GL_INVALID_OPERATION when drawing w/o a VAO in core profile

GL 3-ish versions of the spec are less clear that an error should be
generated here, so Ken (and I during review) just missed it in 1afe335.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Ian Romanick 2014-11-11 10:53:37 +00:00
parent 4e6244e80f
commit b93dcb0e71

View file

@ -79,8 +79,16 @@ check_valid_to_render(struct gl_context *ctx, const char *function)
break;
case API_OPENGL_CORE:
if (ctx->Array.VAO == ctx->Array.DefaultVAO)
/* Section 10.4 (Drawing Commands Using Vertex Arrays) of the OpenGL 4.5
* Core Profile spec says:
*
* "An INVALID_OPERATION error is generated if no vertex array
* object is bound (see section 10.3.1)."
*/
if (ctx->Array.VAO == ctx->Array.DefaultVAO) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s(no VAO bound)", function);
return GL_FALSE;
}
/* fallthrough */
case API_OPENGL_COMPAT:
{