diff options
author | Brian Paul <brianp@vmware.com> | 2009-06-15 10:58:04 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-06-15 10:58:04 -0600 |
commit | 01f7bda44c92268fa288bbd8f53af3a3620bd315 (patch) | |
tree | f6f2c3ee5509989ebe72ff7a9c2a17c086721584 /src/mesa | |
parent | b0d874bfbec8a323d7a69d98fad875162222a1cb (diff) |
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.
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/vbo/vbo_rebase.c | 4 | ||||
-rw-r--r-- | 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 2fcaba2364..ea87dede64 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 2725cc82b7..dcb14c868b 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, ©->dstib.obj, - ctx->Shared->NullBufferObj); + copy->dstib.obj = ctx->Shared->NullBufferObj; copy->dstib.ptr = copy->dstelt; } |