summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-01-28 18:34:21 +1100
committerBen Skeggs <skeggsb@gmail.com>2008-01-28 18:34:21 +1100
commitfaa05d41c5035d9d4f8c75ebe406b913e78ad57f (patch)
tree3f4b74aa210adbd3198b2c503dc2017588a11fb1 /src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c
parent3e39bc3d87a82d81ffaf383303ada32e530b879e (diff)
parentc3f10aef386e0af90f8735d8b9598959c17a590f (diff)
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Diffstat (limited to 'src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c')
-rw-r--r--src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c b/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c
index 2a62702c36..2694f57bca 100644
--- a/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c
+++ b/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c
@@ -466,6 +466,11 @@ mm_bufmgr_create_buffer(struct pb_manager *mgr,
return NULL;
}
+ mm_buf->base.base.refcount = 1;
+ mm_buf->base.base.alignment = desc->alignment;
+ mm_buf->base.base.usage = desc->usage;
+ mm_buf->base.base.size = size;
+
mm_buf->base.vtbl = &mm_buffer_vtbl;
mm_buf->mgr = mm;
@@ -505,7 +510,7 @@ mm_bufmgr_destroy(struct pb_manager *mgr)
mmDestroy(mm->heap);
pb_unmap(mm->buffer);
- pb_destroy(mm->buffer);
+ pb_reference(&mm->buffer, NULL);
_glthread_UNLOCK_MUTEX(mm->mutex);
@@ -579,7 +584,7 @@ mm_bufmgr_create(struct pb_manager *provider,
mgr = mm_bufmgr_create_from_buffer(buffer, size, align2);
if (!mgr) {
- pb_destroy(buffer);
+ pb_reference(&buffer, NULL);
return NULL;
}