Mesa (mesa_7_4_branch): mesa: if a buffer object is mapped when glDeleteBuffers() is called, unmap it

Brian Paul brianp at kemper.freedesktop.org
Fri Feb 27 20:06:16 UTC 2009


Module: Mesa
Branch: mesa_7_4_branch
Commit: c39e6917ac231f244cff51c22478f511736d068e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c39e6917ac231f244cff51c22478f511736d068e

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Feb 27 13:05:51 2009 -0700

mesa: if a buffer object is mapped when glDeleteBuffers() is called, unmap it

(cherry picked from master, commit a7f434b486187129ae8d5507170c42a9ce750258)

---

 src/mesa/main/bufferobj.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 7fce9e7..4f1e12f 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -794,6 +794,11 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids)
 
          ASSERT(bufObj->Name == ids[i]);
 
+         if (bufObj->Pointer) {
+            /* if mapped, unmap it now */
+            ctx->Driver.UnmapBuffer(ctx, 0, bufObj);
+         }
+
          unbind(ctx, &ctx->Array.ArrayObj->Vertex.BufferObj, bufObj);
          unbind(ctx, &ctx->Array.ArrayObj->Normal.BufferObj, bufObj);
          unbind(ctx, &ctx->Array.ArrayObj->Color.BufferObj, bufObj);




More information about the mesa-commit mailing list