diff options
author | Marek Olšák <maraeo@gmail.com> | 2011-02-11 07:52:10 +0100 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2011-02-12 03:08:39 +0100 |
commit | df54b53b7d12a3bca5867b6649cb308feb36f0da (patch) | |
tree | 62a94f5682308e8dba045d7cb123c46fef30d420 /src/gallium/winsys/radeon/drm/radeon_drm_bo.h | |
parent | 20a78b68a3271d7a66fdf1e55c5882b8c12dfb8d (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.h | 8 |
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 * |