mesa: add bind_vertex_array() helper

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Samuel Pitoiset
2017-07-18 18:08:47 +02:00
parent c88649246f
commit 81fa33171d

View File

@@ -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.
*