| Index: media-libs/mesa/files/7.9-gldeletebuffers.patch
|
| diff --git a/media-libs/mesa/files/7.9-gldeletebuffers.patch b/media-libs/mesa/files/7.9-gldeletebuffers.patch
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2a6018f32bb18858a4ee85692a2305aa69d9d8d6
|
| --- /dev/null
|
| +++ b/media-libs/mesa/files/7.9-gldeletebuffers.patch
|
| @@ -0,0 +1,35 @@
|
| +From 78587ea0122d34e13c078d095aa5b730ce24bb73 Mon Sep 17 00:00:00 2001
|
| +From: Brian Paul <brianp@vmware.com>
|
| +Date: Thu, 11 Nov 2010 22:31:28 +0000
|
| +Subject: mesa: fix glDeleteBuffers() regression
|
| +
|
| +This fixes a regression (failed assertion) from commit
|
| +c552f273f559968dfd770367e25329baccbcd0c4 which was hit if glDeleteBuffers()
|
| +was called on a buffer that was never bound.
|
| +
|
| +NOTE: this is a candidate for the 7.9 branch.
|
| +---
|
| +diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
|
| +index df44fbe..4d62f54 100644
|
| +--- a/src/mesa/main/bufferobj.c
|
| ++++ b/src/mesa/main/bufferobj.c
|
| +@@ -998,7 +998,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids)
|
| + struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
|
| + GLuint j;
|
| +
|
| +- ASSERT(bufObj->Name == ids[i]);
|
| ++ ASSERT(bufObj->Name == ids[i] || bufObj == &DummyBufferObject);
|
| +
|
| + if (_mesa_bufferobj_mapped(bufObj)) {
|
| + /* if mapped, unmap it now */
|
| +@@ -1039,7 +1039,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids)
|
| + }
|
| +
|
| + /* The ID is immediately freed for re-use */
|
| +- _mesa_HashRemove(ctx->Shared->BufferObjects, bufObj->Name);
|
| ++ _mesa_HashRemove(ctx->Shared->BufferObjects, ids[i]);
|
| + _mesa_reference_buffer_object(ctx, &bufObj, NULL);
|
| + }
|
| + }
|
| +--
|
| +cgit v0.8.3-6-g21f6
|
|
|