From df54b53b7d12a3bca5867b6649cb308feb36f0da Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Fri, 11 Feb 2011 07:52:10 +0100 Subject: r300g: improve function radeon_bo_is_referenced_by_cs This should prevent calling into radeon_get_reloc when there's only one context. --- src/gallium/winsys/radeon/drm/radeon_drm_cs.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/gallium/winsys/radeon/drm/radeon_drm_cs.h') diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.h b/src/gallium/winsys/radeon/drm/radeon_drm_cs.h index b862032b16..0183b877a3 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.h +++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.h @@ -65,15 +65,16 @@ radeon_drm_cs(struct r300_winsys_cs *base) return (struct radeon_drm_cs*)base; } -static INLINE int radeon_bo_is_referenced_by_cs(struct radeon_drm_cs *cs, - struct radeon_bo *bo) +static INLINE boolean radeon_bo_is_referenced_by_cs(struct radeon_drm_cs *cs, + struct radeon_bo *bo) { - return radeon_get_reloc(cs, bo) != -1; + return bo->num_cs_references == bo->rws->num_cs || + (bo->num_cs_references && radeon_get_reloc(cs, bo) != -1); } -static INLINE int radeon_bo_is_referenced_by_any_cs(struct radeon_bo *bo) +static INLINE boolean radeon_bo_is_referenced_by_any_cs(struct radeon_bo *bo) { - return bo->cref > 1; + return bo->num_cs_references; } void radeon_drm_cs_init_functions(struct radeon_drm_winsys *ws); -- cgit v1.2.3