mesa: tidy up _mesa_DeleteVertexArrays()

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-20 11:52:58 +02:00
parent 1c6c42c289
commit ea13aa8530
1 changed files with 10 additions and 11 deletions

View File

@ -493,19 +493,18 @@ _mesa_DeleteVertexArrays(GLsizei n, const GLuint *ids)
for (i = 0; i < n; i++) {
struct gl_vertex_array_object *obj = _mesa_lookup_vao(ctx, ids[i]);
if ( obj != NULL ) {
assert( obj->Name == ids[i] );
if (obj) {
assert(obj->Name == ids[i]);
/* If the array object is currently bound, the spec says "the binding
* for that object reverts to zero and the default vertex array
* becomes current."
*/
if ( obj == ctx->Array.VAO ) {
_mesa_BindVertexArray(0);
}
/* If the array object is currently bound, the spec says "the binding
* for that object reverts to zero and the default vertex array
* becomes current."
*/
if (obj == ctx->Array.VAO)
_mesa_BindVertexArray(0);
/* The ID is immediately freed for re-use */
remove_array_object(ctx, obj);
/* The ID is immediately freed for re-use */
remove_array_object(ctx, obj);
if (ctx->Array.LastLookedUpVAO == obj)
_mesa_reference_vao(ctx, &ctx->Array.LastLookedUpVAO, NULL);