From: Samuel Pitoiset Date: Tue, 18 Jul 2017 16:08:47 +0000 (+0200) Subject: mesa: add bind_vertex_array() helper X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=81fa33171d041491fd262238ce299404ab4fac25;p=mesa.git mesa: add bind_vertex_array() helper Signed-off-by: Samuel Pitoiset Reviewed-by: Timothy Arceri --- diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c index af6a17daeca..fcc7990ef0d 100644 --- a/src/mesa/main/arrayobj.c +++ b/src/mesa/main/arrayobj.c @@ -392,12 +392,10 @@ _mesa_all_buffers_are_unmapped(const struct gl_vertex_array_object *vao) /** * ARB version of glBindVertexArray() */ -void GLAPIENTRY -_mesa_BindVertexArray( GLuint id ) +static ALWAYS_INLINE void +bind_vertex_array(struct gl_context *ctx, GLuint id, bool no_error) { - GET_CURRENT_CONTEXT(ctx); - - struct gl_vertex_array_object * const oldObj = ctx->Array.VAO; + struct gl_vertex_array_object *const oldObj = ctx->Array.VAO; struct gl_vertex_array_object *newObj = NULL; assert(oldObj != NULL); @@ -417,7 +415,7 @@ _mesa_BindVertexArray( GLuint id ) else { /* non-default array object */ newObj = _mesa_lookup_vao(ctx, id); - if (!newObj) { + if (!no_error && !newObj) { _mesa_error(ctx, GL_INVALID_OPERATION, "glBindVertexArray(non-gen name)"); return; @@ -446,6 +444,14 @@ _mesa_BindVertexArray( GLuint id ) } +void GLAPIENTRY +_mesa_BindVertexArray(GLuint id) +{ + GET_CURRENT_CONTEXT(ctx); + bind_vertex_array(ctx, id, false); +} + + /** * Delete a set of array objects. *