Squashed commit of the following:
[mesa.git] / src / gallium / auxiliary / pipebuffer / pb_buffer_malloc.c
index 1bf22a2ec09e5a2ee980b7ed129d033e62aaed75..b706f429be5578f3613c2e1e3e364830e3f8d228 100644 (file)
@@ -34,7 +34,7 @@
  */
 
 
-#include "pipe/p_debug.h"
+#include "util/u_debug.h"
 #include "util/u_memory.h"
 #include "pb_buffer.h"
 #include "pb_bufmgr.h"
@@ -53,6 +53,8 @@ static INLINE struct malloc_buffer *
 malloc_buffer(struct pb_buffer *buf)
 {
    assert(buf);
+   if (!buf)
+      return NULL;
    assert(buf->vtbl == &malloc_buffer_vtbl);
    return (struct malloc_buffer *)buf;
 }
@@ -81,10 +83,28 @@ malloc_buffer_unmap(struct pb_buffer *buf)
 }
 
 
+static enum pipe_error 
+malloc_buffer_validate(struct pb_buffer *buf, 
+                       struct pb_validate *vl,
+                       unsigned flags)
+{
+   assert(0);
+   return PIPE_ERROR;
+}
+
+
+static void
+malloc_buffer_fence(struct pb_buffer *buf, 
+                    struct pipe_fence_handle *fence)
+{
+   assert(0);
+}
+
+
 static void
 malloc_buffer_get_base_buffer(struct pb_buffer *buf,
                               struct pb_buffer **base_buf,
-                              unsigned *offset)
+                              pb_size *offset)
 {
    *base_buf = buf;
    *offset = 0;
@@ -96,12 +116,14 @@ malloc_buffer_vtbl = {
       malloc_buffer_destroy,
       malloc_buffer_map,
       malloc_buffer_unmap,
+      malloc_buffer_validate,
+      malloc_buffer_fence,
       malloc_buffer_get_base_buffer
 };
 
 
 struct pb_buffer *
-pb_malloc_buffer_create(size_t size,
+pb_malloc_buffer_create(pb_size size,
                        const struct pb_desc *desc) 
 {
    struct malloc_buffer *buf;
@@ -112,10 +134,10 @@ pb_malloc_buffer_create(size_t size,
    if(!buf)
       return NULL;
 
-   buf->base.base.refcount = 1;
-   buf->base.base.alignment = desc->alignment;
+   pipe_reference_init(&buf->base.base.reference, 1);
    buf->base.base.usage = desc->usage;
    buf->base.base.size = size;
+   buf->base.base.alignment = desc->alignment;
    buf->base.vtbl = &malloc_buffer_vtbl;
 
    buf->data = align_malloc(size, desc->alignment < sizeof(void*) ? sizeof(void*) : desc->alignment);
@@ -130,7 +152,7 @@ pb_malloc_buffer_create(size_t size,
 
 static struct pb_buffer *
 pb_malloc_bufmgr_create_buffer(struct pb_manager *mgr, 
-                               size_t size,
+                               pb_size size,
                                const struct pb_desc *desc) 
 {
    return pb_malloc_buffer_create(size, desc);