summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/r600/drm/r600_priv.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-10-05 15:35:52 +1000
committerDave Airlie <airlied@redhat.com>2010-10-05 15:35:52 +1000
commit3c38e4f138a183ee5ad625ea34b1ec7dd815026f (patch)
treeb3e307dd3ecb8b0e7784b65c12753dec80eb81a9 /src/gallium/winsys/r600/drm/r600_priv.h
parentfb5e6f88fc426e53af26e98d1c336222a8952cc5 (diff)
r600g: add bo fenced list.
this just keeps a list of bos submitted together, and uses them to decide bo busy state for the whole group.
Diffstat (limited to 'src/gallium/winsys/r600/drm/r600_priv.h')
-rw-r--r--src/gallium/winsys/r600/drm/r600_priv.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h
index 5c954ea621..76a7ba9ec2 100644
--- a/src/gallium/winsys/r600/drm/r600_priv.h
+++ b/src/gallium/winsys/r600/drm/r600_priv.h
@@ -31,6 +31,7 @@
#include <stdlib.h>
#include <assert.h>
#include <pipebuffer/pb_bufmgr.h>
+#include "util/u_double_list.h"
#include "r600.h"
struct radeon {
@@ -63,6 +64,8 @@ struct radeon_bo {
unsigned alignment;
unsigned map_count;
void *data;
+ struct list_head fencedlist;
+ boolean shared;
};
struct r600_bo {
@@ -86,6 +89,8 @@ void radeon_bo_reference(struct radeon *radeon, struct radeon_bo **dst,
int radeon_bo_wait(struct radeon *radeon, struct radeon_bo *bo);
int radeon_bo_busy(struct radeon *radeon, struct radeon_bo *bo, uint32_t *domain);
void radeon_bo_pbmgr_flush_maps(struct pb_manager *_mgr);
+int radeon_bo_fencelist(struct radeon *radeon, struct radeon_bo **bolist, uint32_t num_bo);
+
/* radeon_bo_pb.c */
struct radeon_bo *radeon_bo_pb_get_bo(struct pb_buffer *_buf);