summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2019-03-05 14:08:35 -0700
committerBrian Paul <brianp@vmware.com>2019-03-08 07:40:35 -0700
commitb286e74df66e25cadd1c82d9ddc4d1fc3887b646 (patch)
tree022b670ca3ccc9a576980b45ea7e0b0ac6d0e143
parentdaf567f79745dc0bdfa34966fed646cabd5bf563 (diff)
pipebuffer: use new pb_usage_flags enum type
Use a new enum type instead of 'unsigned' to make things a bit more understandable. Reviewed-by: Neha Bhende <bhenden@vmware.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_buffer.h34
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c6
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_buffer_malloc.c4
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c4
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_debug.c6
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c4
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_ondemand.c4
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c5
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_slab.c6
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_validate.c2
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_validate.h2
11 files changed, 45 insertions, 32 deletions
diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer.h b/src/gallium/auxiliary/pipebuffer/pb_buffer.h
index 33c23068c27..11f70ead51a 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_buffer.h
+++ b/src/gallium/auxiliary/pipebuffer/pb_buffer.h
@@ -59,13 +59,22 @@ struct pb_vtbl;
struct pb_validate;
struct pipe_fence_handle;
+enum pb_usage_flags {
+ PB_USAGE_CPU_READ = (1 << 0),
+ PB_USAGE_CPU_WRITE = (1 << 1),
+ PB_USAGE_GPU_READ = (1 << 2),
+ PB_USAGE_GPU_WRITE = (1 << 3),
+ PB_USAGE_DONTBLOCK = (1 << 9),
+ PB_USAGE_UNSYNCHRONIZED = (1 << 10),
+};
-#define PB_USAGE_CPU_READ (1 << 0)
-#define PB_USAGE_CPU_WRITE (1 << 1)
-#define PB_USAGE_GPU_READ (1 << 2)
-#define PB_USAGE_GPU_WRITE (1 << 3)
-#define PB_USAGE_UNSYNCHRONIZED (1 << 10)
-#define PB_USAGE_DONTBLOCK (1 << 9)
+/* For error checking elsewhere */
+#define PB_USAGE_ALL (PB_USAGE_CPU_READ | \
+ PB_USAGE_CPU_WRITE | \
+ PB_USAGE_GPU_READ | \
+ PB_USAGE_GPU_WRITE | \
+ PB_USAGE_DONTBLOCK | \
+ PB_USAGE_UNSYNCHRONIZED)
#define PB_USAGE_CPU_READ_WRITE \
( PB_USAGE_CPU_READ | PB_USAGE_CPU_WRITE )
@@ -82,7 +91,7 @@ struct pipe_fence_handle;
struct pb_desc
{
unsigned alignment;
- unsigned usage;
+ enum pb_usage_flags usage;
};
@@ -100,7 +109,7 @@ struct pb_buffer
struct pipe_reference reference;
unsigned alignment;
pb_size size;
- unsigned usage;
+ enum pb_usage_flags usage;
/**
* Pointer to the virtual function table.
@@ -126,13 +135,13 @@ struct pb_vtbl
* flags is bitmask of PB_USAGE_CPU_READ/WRITE.
*/
void *(*map)( struct pb_buffer *buf,
- unsigned flags, void *flush_ctx );
+ enum pb_usage_flags flags, void *flush_ctx );
void (*unmap)( struct pb_buffer *buf );
enum pipe_error (*validate)( struct pb_buffer *buf,
struct pb_validate *vl,
- unsigned flags );
+ enum pb_usage_flags flags );
void (*fence)( struct pb_buffer *buf,
struct pipe_fence_handle *fence );
@@ -160,7 +169,7 @@ struct pb_vtbl
*/
static inline void *
pb_map(struct pb_buffer *buf,
- unsigned flags, void *flush_ctx)
+ enum pb_usage_flags flags, void *flush_ctx)
{
assert(buf);
if (!buf)
@@ -201,7 +210,8 @@ pb_get_base_buffer( struct pb_buffer *buf,
static inline enum pipe_error
-pb_validate(struct pb_buffer *buf, struct pb_validate *vl, unsigned flags)
+pb_validate(struct pb_buffer *buf, struct pb_validate *vl,
+ enum pb_usage_flags flags)
{
assert(buf);
if (!buf)
diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
index 7421741c17c..53b9ce06379 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
@@ -139,7 +139,7 @@ struct fenced_buffer
* A bitmask of PB_USAGE_CPU/GPU_READ/WRITE describing the current
* buffer usage.
*/
- unsigned flags;
+ enum pb_usage_flags flags;
unsigned mapcount;
@@ -662,7 +662,7 @@ fenced_buffer_destroy(struct pb_buffer *buf)
static void *
fenced_buffer_map(struct pb_buffer *buf,
- unsigned flags, void *flush_ctx)
+ enum pb_usage_flags flags, void *flush_ctx)
{
struct fenced_buffer *fenced_buf = fenced_buffer(buf);
struct fenced_manager *fenced_mgr = fenced_buf->mgr;
@@ -739,7 +739,7 @@ fenced_buffer_unmap(struct pb_buffer *buf)
static enum pipe_error
fenced_buffer_validate(struct pb_buffer *buf,
struct pb_validate *vl,
- unsigned flags)
+ enum pb_usage_flags flags)
{
struct fenced_buffer *fenced_buf = fenced_buffer(buf);
struct fenced_manager *fenced_mgr = fenced_buf->mgr;
diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer_malloc.c b/src/gallium/auxiliary/pipebuffer/pb_buffer_malloc.c
index ea2f2fa107c..d83e8e4f180 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_buffer_malloc.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_buffer_malloc.c
@@ -70,7 +70,7 @@ malloc_buffer_destroy(struct pb_buffer *buf)
static void *
malloc_buffer_map(struct pb_buffer *buf,
- unsigned flags,
+ enum pb_usage_flags flags,
void *flush_ctx)
{
return malloc_buffer(buf)->data;
@@ -87,7 +87,7 @@ malloc_buffer_unmap(struct pb_buffer *buf)
static enum pipe_error
malloc_buffer_validate(struct pb_buffer *buf,
struct pb_validate *vl,
- unsigned flags)
+ enum pb_usage_flags flags)
{
assert(0);
return PIPE_ERROR;
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
index 4e70048cd83..ceed1daa414 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c
@@ -122,7 +122,7 @@ pb_cache_buffer_destroy(struct pb_buffer *_buf)
static void *
pb_cache_buffer_map(struct pb_buffer *_buf,
- unsigned flags, void *flush_ctx)
+ enum pb_usage_flags flags, void *flush_ctx)
{
struct pb_cache_buffer *buf = pb_cache_buffer(_buf);
return pb_map(buf->buffer, flags, flush_ctx);
@@ -140,7 +140,7 @@ pb_cache_buffer_unmap(struct pb_buffer *_buf)
static enum pipe_error
pb_cache_buffer_validate(struct pb_buffer *_buf,
struct pb_validate *vl,
- unsigned flags)
+ enum pb_usage_flags flags)
{
struct pb_cache_buffer *buf = pb_cache_buffer(_buf);
return pb_validate(buf->buffer, vl, flags);
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_debug.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_debug.c
index 3c83de80375..7101fdc269b 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_debug.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_debug.c
@@ -248,7 +248,7 @@ pb_debug_buffer_destroy(struct pb_buffer *_buf)
static void *
pb_debug_buffer_map(struct pb_buffer *_buf,
- unsigned flags, void *flush_ctx)
+ enum pb_usage_flags flags, void *flush_ctx)
{
struct pb_debug_buffer *buf = pb_debug_buffer(_buf);
void *map;
@@ -299,10 +299,12 @@ pb_debug_buffer_get_base_buffer(struct pb_buffer *_buf,
static enum pipe_error
pb_debug_buffer_validate(struct pb_buffer *_buf,
struct pb_validate *vl,
- unsigned flags)
+ enum pb_usage_flags flags)
{
struct pb_debug_buffer *buf = pb_debug_buffer(_buf);
+ assert((flags & ~PB_ALL_USAGE_FLAGS) == 0);
+
mtx_lock(&buf->mutex);
if(buf->map_count) {
debug_printf("%s: attempting to validate a mapped buffer\n", __FUNCTION__);
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c
index 818cadd80a4..f975cfbfe93 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c
@@ -108,7 +108,7 @@ mm_buffer_destroy(struct pb_buffer *buf)
static void *
mm_buffer_map(struct pb_buffer *buf,
- unsigned flags,
+ enum pb_usage_flags flags,
void *flush_ctx)
{
struct mm_buffer *mm_buf = mm_buffer(buf);
@@ -130,7 +130,7 @@ mm_buffer_unmap(struct pb_buffer *buf)
static enum pipe_error
mm_buffer_validate(struct pb_buffer *buf,
struct pb_validate *vl,
- unsigned flags)
+ enum pb_usage_flags flags)
{
struct mm_buffer *mm_buf = mm_buffer(buf);
struct mm_pb_manager *mm = mm_buf->mgr;
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_ondemand.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_ondemand.c
index 4885d68c398..967d8358f0c 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_ondemand.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_ondemand.c
@@ -103,7 +103,7 @@ pb_ondemand_buffer_destroy(struct pb_buffer *_buf)
static void *
pb_ondemand_buffer_map(struct pb_buffer *_buf,
- unsigned flags, void *flush_ctx)
+ enum pb_usage_flags flags, void *flush_ctx)
{
struct pb_ondemand_buffer *buf = pb_ondemand_buffer(_buf);
@@ -172,7 +172,7 @@ pb_ondemand_buffer_instantiate(struct pb_ondemand_buffer *buf)
static enum pipe_error
pb_ondemand_buffer_validate(struct pb_buffer *_buf,
struct pb_validate *vl,
- unsigned flags)
+ enum pb_usage_flags flags)
{
struct pb_ondemand_buffer *buf = pb_ondemand_buffer(_buf);
enum pipe_error ret;
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c
index 89df2e947bc..f356ecfd568 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c
@@ -118,7 +118,8 @@ pool_buffer_destroy(struct pb_buffer *buf)
static void *
-pool_buffer_map(struct pb_buffer *buf, unsigned flags, void *flush_ctx)
+pool_buffer_map(struct pb_buffer *buf, enum pb_usage_flags flags,
+ void *flush_ctx)
{
struct pool_buffer *pool_buf = pool_buffer(buf);
struct pool_pb_manager *pool = pool_buf->mgr;
@@ -143,7 +144,7 @@ pool_buffer_unmap(struct pb_buffer *buf)
static enum pipe_error
pool_buffer_validate(struct pb_buffer *buf,
struct pb_validate *vl,
- unsigned flags)
+ enum pb_usage_flags flags)
{
struct pool_buffer *pool_buf = pool_buffer(buf);
struct pool_pb_manager *pool = pool_buf->mgr;
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_slab.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_slab.c
index 5cf707164ff..8a3b2876149 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_slab.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_slab.c
@@ -226,7 +226,7 @@ pb_slab_buffer_destroy(struct pb_buffer *_buf)
static void *
pb_slab_buffer_map(struct pb_buffer *_buf,
- unsigned flags,
+ enum pb_usage_flags flags,
void *flush_ctx)
{
struct pb_slab_buffer *buf = pb_slab_buffer(_buf);
@@ -252,7 +252,7 @@ pb_slab_buffer_unmap(struct pb_buffer *_buf)
static enum pipe_error
pb_slab_buffer_validate(struct pb_buffer *_buf,
struct pb_validate *vl,
- unsigned flags)
+ enum pb_usage_flags flags)
{
struct pb_slab_buffer *buf = pb_slab_buffer(_buf);
return pb_validate(buf->slab->bo, vl, flags);
@@ -486,7 +486,7 @@ pb_slab_range_manager_create_buffer(struct pb_manager *_mgr,
struct pb_slab_range_manager *mgr = pb_slab_range_manager(_mgr);
pb_size bufSize;
pb_size reqSize = size;
- unsigned i;
+ enum pb_usage_flags i;
if(desc->alignment > reqSize)
reqSize = desc->alignment;
diff --git a/src/gallium/auxiliary/pipebuffer/pb_validate.c b/src/gallium/auxiliary/pipebuffer/pb_validate.c
index 8489842effd..0c61c906a3a 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_validate.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_validate.c
@@ -63,7 +63,7 @@ struct pb_validate
enum pipe_error
pb_validate_add_buffer(struct pb_validate *vl,
struct pb_buffer *buf,
- unsigned flags)
+ enum pb_usage_flags flags)
{
assert(buf);
if (!buf)
diff --git a/src/gallium/auxiliary/pipebuffer/pb_validate.h b/src/gallium/auxiliary/pipebuffer/pb_validate.h
index fa788b08a2e..ea364330eff 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_validate.h
+++ b/src/gallium/auxiliary/pipebuffer/pb_validate.h
@@ -59,7 +59,7 @@ struct pb_validate;
enum pipe_error
pb_validate_add_buffer(struct pb_validate *vl,
struct pb_buffer *buf,
- unsigned flags);
+ enum pb_usage_flags flags);
enum pipe_error
pb_validate_foreach(struct pb_validate *vl,