summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/radeon/drm/radeon_drm_bo.h
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2011-02-11 07:52:10 +0100
committerMarek Olšák <maraeo@gmail.com>2011-02-12 03:08:39 +0100
commitdf54b53b7d12a3bca5867b6649cb308feb36f0da (patch)
tree62a94f5682308e8dba045d7cb123c46fef30d420 /src/gallium/winsys/radeon/drm/radeon_drm_bo.h
parent20a78b68a3271d7a66fdf1e55c5882b8c12dfb8d (diff)
r300g: improve function radeon_bo_is_referenced_by_cs
This should prevent calling into radeon_get_reloc when there's only one context.
Diffstat (limited to 'src/gallium/winsys/radeon/drm/radeon_drm_bo.h')
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_bo.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.h b/src/gallium/winsys/radeon/drm/radeon_drm_bo.h
index 4d1f126db6..cb1afd6257 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.h
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.h
@@ -44,13 +44,17 @@ struct radeon_bomgr;
struct radeon_bo {
struct pb_buffer base;
struct radeon_bomgr *mgr;
+ struct radeon_drm_winsys *rws;
void *ptr;
uint32_t size;
uint32_t handle;
uint32_t name;
- int cref;
+ int ref_count;
+
+ /* how many command streams is this bo referenced in? */
+ int num_cs_references;
boolean flinked;
uint32_t flink;
@@ -64,7 +68,7 @@ void radeon_bo_unref(struct radeon_bo *buf);
static INLINE void radeon_bo_ref(struct radeon_bo *bo)
{
- p_atomic_inc(&bo->cref);
+ p_atomic_inc(&bo->ref_count);
}
static INLINE struct pb_buffer *