OLD | NEW |
(Empty) | |
| 1 From 78587ea0122d34e13c078d095aa5b730ce24bb73 Mon Sep 17 00:00:00 2001 |
| 2 From: Brian Paul <brianp@vmware.com> |
| 3 Date: Thu, 11 Nov 2010 22:31:28 +0000 |
| 4 Subject: mesa: fix glDeleteBuffers() regression |
| 5 |
| 6 This fixes a regression (failed assertion) from commit |
| 7 c552f273f559968dfd770367e25329baccbcd0c4 which was hit if glDeleteBuffers() |
| 8 was called on a buffer that was never bound. |
| 9 |
| 10 NOTE: this is a candidate for the 7.9 branch. |
| 11 --- |
| 12 diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c |
| 13 index df44fbe..4d62f54 100644 |
| 14 --- a/src/mesa/main/bufferobj.c |
| 15 +++ b/src/mesa/main/bufferobj.c |
| 16 @@ -998,7 +998,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) |
| 17 struct gl_array_object *arrayObj = ctx->Array.ArrayObj; |
| 18 GLuint j; |
| 19 |
| 20 - ASSERT(bufObj->Name == ids[i]); |
| 21 + ASSERT(bufObj->Name == ids[i] || bufObj == &DummyBufferObject); |
| 22 |
| 23 if (_mesa_bufferobj_mapped(bufObj)) { |
| 24 /* if mapped, unmap it now */ |
| 25 @@ -1039,7 +1039,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) |
| 26 } |
| 27 |
| 28 /* The ID is immediately freed for re-use */ |
| 29 - _mesa_HashRemove(ctx->Shared->BufferObjects, bufObj->Name); |
| 30 + _mesa_HashRemove(ctx->Shared->BufferObjects, ids[i]); |
| 31 _mesa_reference_buffer_object(ctx, &bufObj, NULL); |
| 32 } |
| 33 } |
| 34 -- |
| 35 cgit v0.8.3-6-g21f6 |
OLD | NEW |