From b28e353626f0dba2155dd0d599c1109bb87d0dc1 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 18 Oct 2021 13:22:52 +0200 Subject: [PATCH] Reviewed `glDisableVertexAttribArray()` issue #2068 --- src/rlgl.h | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/rlgl.h b/src/rlgl.h index 14309e2f..1641ec15 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -2320,17 +2320,23 @@ void rlUnloadRenderBatch(rlRenderBatch batch) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Unbind everything - if (RLGL.ExtSupported.vao) glBindVertexArray(0); - glDisableVertexAttribArray(0); - glDisableVertexAttribArray(1); - glDisableVertexAttribArray(2); - glDisableVertexAttribArray(3); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); // Unload all vertex buffers data for (int i = 0; i < batch.bufferCount; i++) { + // Unbind VAO attribs data + if (RLGL.ExtSupported.vao) + { + glBindVertexArray(batch.vertexBuffer[i].vaoId); + glDisableVertexAttribArray(0); + glDisableVertexAttribArray(1); + glDisableVertexAttribArray(2); + glDisableVertexAttribArray(3); + glBindVertexArray(0); + } + // Delete VBOs from GPU (VRAM) glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[0]); glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[1]);