summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/pipebuffer
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-02-09 16:15:14 +1100
committerBen Skeggs <skeggsb@gmail.com>2008-02-09 16:15:14 +1100
commitfb2760c5a64ada7b0f0a9635e7865b415a8aa286 (patch)
treec70e82ce993cfbbb789860516d667a6a44528668 /src/mesa/pipe/pipebuffer
parentae905056d4feb5a39d956a38ab377f4d78bf4065 (diff)
parent479b5e9b5d9e0e387332c6fbeaffffa7612a0c52 (diff)
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Diffstat (limited to 'src/mesa/pipe/pipebuffer')
-rw-r--r--src/mesa/pipe/pipebuffer/pb_buffer.h4
-rw-r--r--src/mesa/pipe/pipebuffer/pb_buffer_fenced.c8
-rw-r--r--src/mesa/pipe/pipebuffer/pb_buffer_fenced.h2
-rw-r--r--src/mesa/pipe/pipebuffer/pb_buffer_malloc.c7
-rw-r--r--src/mesa/pipe/pipebuffer/pb_bufmgr_fenced.c4
-rw-r--r--src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c27
-rw-r--r--src/mesa/pipe/pipebuffer/pb_bufmgr_pool.c12
7 files changed, 27 insertions, 37 deletions
diff --git a/src/mesa/pipe/pipebuffer/pb_buffer.h b/src/mesa/pipe/pipebuffer/pb_buffer.h
index 17551b3b50..97beb5f72a 100644
--- a/src/mesa/pipe/pipebuffer/pb_buffer.h
+++ b/src/mesa/pipe/pipebuffer/pb_buffer.h
@@ -44,10 +44,8 @@
#define PB_BUFFER_H_
-#include <assert.h>
-#include <stdlib.h>
-
#include "pipe/p_compiler.h"
+#include "pipe/p_debug.h"
#include "pipe/p_state.h"
#include "pipe/p_inlines.h"
diff --git a/src/mesa/pipe/pipebuffer/pb_buffer_fenced.c b/src/mesa/pipe/pipebuffer/pb_buffer_fenced.c
index 349647fe6e..f4fc3f6d71 100644
--- a/src/mesa/pipe/pipebuffer/pb_buffer_fenced.c
+++ b/src/mesa/pipe/pipebuffer/pb_buffer_fenced.c
@@ -34,12 +34,10 @@
*/
-#include <assert.h>
-#include <stdlib.h>
-
#include "linked_list.h"
#include "p_compiler.h"
+#include "p_debug.h"
#include "p_winsys.h"
#include "p_thread.h"
#include "p_util.h"
@@ -145,7 +143,7 @@ _fenced_buffer_list_check_free(struct fenced_buffer_list *fenced_list,
/* Do the delayed destroy:
*/
pb_reference(&fenced_buf->buffer, NULL);
- free(fenced_buf);
+ FREE(fenced_buf);
}
}
@@ -162,7 +160,7 @@ fenced_buffer_destroy(struct pb_buffer *buf)
}
else {
pb_reference(&fenced_buf->buffer, NULL);
- free(fenced_buf);
+ FREE(fenced_buf);
}
if ((fenced_list->numDelayed % fenced_list->checkDelayed) == 0)
diff --git a/src/mesa/pipe/pipebuffer/pb_buffer_fenced.h b/src/mesa/pipe/pipebuffer/pb_buffer_fenced.h
index 09082a5390..c40b9c75e1 100644
--- a/src/mesa/pipe/pipebuffer/pb_buffer_fenced.h
+++ b/src/mesa/pipe/pipebuffer/pb_buffer_fenced.h
@@ -51,7 +51,7 @@
#define PB_BUFFER_FENCED_H_
-#include <assert.h>
+#include "pipe/p_debug.h"
struct pipe_winsys;
diff --git a/src/mesa/pipe/pipebuffer/pb_buffer_malloc.c b/src/mesa/pipe/pipebuffer/pb_buffer_malloc.c
index fc83a00f36..c1b7759874 100644
--- a/src/mesa/pipe/pipebuffer/pb_buffer_malloc.c
+++ b/src/mesa/pipe/pipebuffer/pb_buffer_malloc.c
@@ -34,9 +34,7 @@
*/
-#include <assert.h>
-#include <stdlib.h>
-
+#include "pipe/p_debug.h"
#include "pipe/p_util.h"
#include "pb_buffer.h"
@@ -107,10 +105,9 @@ pb_malloc_buffer_create(size_t size,
{
struct malloc_buffer *buf;
- /* TODO: accept an alignment parameter */
/* TODO: do a single allocation */
- buf = (struct malloc_buffer *)MALLOC(sizeof(struct malloc_buffer));
+ buf = CALLOC_STRUCT(malloc_buffer);
if(!buf)
return NULL;
diff --git a/src/mesa/pipe/pipebuffer/pb_bufmgr_fenced.c b/src/mesa/pipe/pipebuffer/pb_bufmgr_fenced.c
index 3b341c64c2..c535d3276c 100644
--- a/src/mesa/pipe/pipebuffer/pb_bufmgr_fenced.c
+++ b/src/mesa/pipe/pipebuffer/pb_bufmgr_fenced.c
@@ -34,9 +34,7 @@
*/
-#include <assert.h>
-#include <stdlib.h>
-
+#include "p_debug.h"
#include "p_util.h"
#include "pb_buffer.h"
diff --git a/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c b/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c
index 2694f57bca..8b1b51c0e2 100644
--- a/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c
+++ b/src/mesa/pipe/pipebuffer/pb_bufmgr_mm.c
@@ -34,11 +34,10 @@
*/
-#include <assert.h>
-
#include "linked_list.h"
#include "p_defines.h"
+#include "p_debug.h"
#include "p_thread.h"
#include "p_util.h"
#include "pb_buffer.h"
@@ -69,28 +68,28 @@ struct mem_block
static void
mmDumpMemInfo(const struct mem_block *heap)
{
- fprintf(stderr, "Memory heap %p:\n", (void *)heap);
+ debug_printf("Memory heap %p:\n", (void *)heap);
if (heap == 0) {
- fprintf(stderr, " heap == 0\n");
+ debug_printf(" heap == 0\n");
} else {
const struct mem_block *p;
for(p = heap->next; p != heap; p = p->next) {
- fprintf(stderr, " Offset:%08x, Size:%08x, %c%c\n",p->ofs,p->size,
+ debug_printf(" Offset:%08x, Size:%08x, %c%c\n",p->ofs,p->size,
p->free ? 'F':'.',
p->reserved ? 'R':'.');
}
- fprintf(stderr, "\nFree list:\n");
+ debug_printf("\nFree list:\n");
for(p = heap->next_free; p != heap; p = p->next_free) {
- fprintf(stderr, " FREE Offset:%08x, Size:%08x, %c%c\n",p->ofs,p->size,
+ debug_printf(" FREE Offset:%08x, Size:%08x, %c%c\n",p->ofs,p->size,
p->free ? 'F':'.',
p->reserved ? 'R':'.');
}
}
- fprintf(stderr, "End of memory blocks\n");
+ debug_printf("End of memory blocks\n");
}
#endif
@@ -308,11 +307,11 @@ mmFreeMem(struct mem_block *b)
return 0;
if (b->free) {
- fprintf(stderr, "block already free\n");
+ debug_printf("block already free\n");
return -1;
}
if (b->reserved) {
- fprintf(stderr, "block is reserved\n");
+ debug_printf("block is reserved\n");
return -1;
}
@@ -367,7 +366,7 @@ struct mm_pb_manager
};
-static inline struct mm_pb_manager *
+static INLINE struct mm_pb_manager *
mm_pb_manager(struct pb_manager *mgr)
{
assert(mgr);
@@ -385,7 +384,7 @@ struct mm_buffer
};
-static inline struct mm_buffer *
+static INLINE struct mm_buffer *
mm_buffer(struct pb_buffer *buf)
{
assert(buf);
@@ -399,6 +398,8 @@ mm_buffer_destroy(struct pb_buffer *buf)
struct mm_buffer *mm_buf = mm_buffer(buf);
struct mm_pb_manager *mm = mm_buf->mgr;
+ assert(buf->base.refcount == 0);
+
_glthread_LOCK_MUTEX(mm->mutex);
mmFreeMem(mm_buf->block);
FREE(buf);
@@ -477,7 +478,7 @@ mm_bufmgr_create_buffer(struct pb_manager *mgr,
mm_buf->block = mmAllocMem(mm->heap, size, mm->align2, 0);
if(!mm_buf->block) {
- fprintf(stderr, "warning: heap full\n");
+ debug_printf("warning: heap full\n");
#if 0
mmDumpMemInfo(mm->heap);
#endif
diff --git a/src/mesa/pipe/pipebuffer/pb_bufmgr_pool.c b/src/mesa/pipe/pipebuffer/pb_bufmgr_pool.c
index 7c29954112..04477a865a 100644
--- a/src/mesa/pipe/pipebuffer/pb_bufmgr_pool.c
+++ b/src/mesa/pipe/pipebuffer/pb_bufmgr_pool.c
@@ -35,12 +35,10 @@
*/
-#include <assert.h>
-#include <stdlib.h>
-
#include "linked_list.h"
#include "p_compiler.h"
+#include "p_debug.h"
#include "p_thread.h"
#include "p_defines.h"
#include "p_util.h"
@@ -172,13 +170,13 @@ pool_bufmgr_create_buffer(struct pb_manager *mgr,
struct list_head *item;
assert(size == pool->bufSize);
- assert(desc->alignment % pool->bufAlign == 0);
+ assert(pool->bufAlign % desc->alignment == 0);
_glthread_LOCK_MUTEX(pool->mutex);
if (pool->numFree == 0) {
_glthread_UNLOCK_MUTEX(pool->mutex);
- fprintf(stderr, "warning: out of fixed size buffer objects\n");
+ debug_printf("warning: out of fixed size buffer objects\n");
return NULL;
}
@@ -186,7 +184,7 @@ pool_bufmgr_create_buffer(struct pb_manager *mgr,
if (item == &pool->free) {
_glthread_UNLOCK_MUTEX(pool->mutex);
- fprintf(stderr, "error: fixed size buffer pool corruption\n");
+ debug_printf("error: fixed size buffer pool corruption\n");
return NULL;
}
@@ -258,7 +256,7 @@ pool_bufmgr_create(struct pb_manager *provider,
if(!pool->map)
goto failure;
- pool->bufs = (struct pool_buffer *) MALLOC(numBufs * sizeof(*pool->bufs));
+ pool->bufs = (struct pool_buffer *)CALLOC(numBufs, sizeof(*pool->bufs));
if (!pool->bufs)
goto failure;