Mesa (master): mesa: revert some recent VBO buffer object refcounting changes

Brian Paul brianp at kemper.freedesktop.org
Mon Jun 15 17:12:10 UTC 2009


Module: Mesa
Branch: master
Commit: 01f7bda44c92268fa288bbd8f53af3a3620bd315
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=01f7bda44c92268fa288bbd8f53af3a3620bd315

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jun 15 10:58:04 2009 -0600

mesa: revert some recent VBO buffer object refcounting changes

Reverts part of commit d7ea9ddf5824556e47decac7ba200f37cf1e552f.
We were calling _mesa_reference_buffer_object() on some heap-allocated
memory that was uninitialized and could trigger an assertion.
We can actually go back to "looser" ref counting of the Null/default
buffer object in these cases.

---

 src/mesa/vbo/vbo_rebase.c     |    4 +---
 src/mesa/vbo/vbo_split_copy.c |    7 ++-----
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/src/mesa/vbo/vbo_rebase.c b/src/mesa/vbo/vbo_rebase.c
index 2fcaba2..ea87ded 100644
--- a/src/mesa/vbo/vbo_rebase.c
+++ b/src/mesa/vbo/vbo_rebase.c
@@ -49,7 +49,6 @@
 #include "main/glheader.h"
 #include "main/imports.h"
 #include "main/mtypes.h"
-#include "main/bufferobj.h"
 
 #include "vbo.h"
 
@@ -162,8 +161,7 @@ void vbo_rebase_prims( GLcontext *ctx,
 				 GL_ELEMENT_ARRAY_BUFFER,
 				 ib->obj);
 
-      _mesa_reference_buffer_object(ctx, &tmp_ib.obj,
-                                    ctx->Shared->NullBufferObj);
+      tmp_ib.obj = ctx->Shared->NullBufferObj;
       tmp_ib.ptr = tmp_indices;
       tmp_ib.count = ib->count;
       tmp_ib.type = ib->type;
diff --git a/src/mesa/vbo/vbo_split_copy.c b/src/mesa/vbo/vbo_split_copy.c
index 2725cc8..dcb14c8 100644
--- a/src/mesa/vbo/vbo_split_copy.c
+++ b/src/mesa/vbo/vbo_split_copy.c
@@ -30,7 +30,6 @@
  */
 
 #include "main/glheader.h"
-#include "main/bufferobj.h"
 #include "main/imports.h"
 #include "main/image.h"
 #include "main/macros.h"
@@ -518,8 +517,7 @@ replay_init( struct copy_context *copy )
       dst->Ptr = copy->dstbuf + offset;
       dst->Enabled = GL_TRUE;
       dst->Normalized = src->Normalized; 
-      _mesa_reference_buffer_object(ctx, &dst->BufferObj,
-                                    ctx->Shared->NullBufferObj);
+      dst->BufferObj = ctx->Shared->NullBufferObj;
       dst->_MaxElement = copy->dstbuf_size; /* may be less! */
 
       offset += copy->varying[i].size;
@@ -539,8 +537,7 @@ replay_init( struct copy_context *copy )
     */
    copy->dstib.count = 0;	/* duplicates dstelt_nr */
    copy->dstib.type = GL_UNSIGNED_INT;
-   _mesa_reference_buffer_object(ctx, &copy->dstib.obj,
-                                 ctx->Shared->NullBufferObj);
+   copy->dstib.obj = ctx->Shared->NullBufferObj;
    copy->dstib.ptr = copy->dstelt;
 }
 




More information about the mesa-commit mailing list