summaryrefslogtreecommitdiff
path: root/libdrm/radeon/radeon_bo.h
diff options
context:
space:
mode:
authorJerome Glisse <glisse@freedesktop.org>2008-11-15 10:38:44 +0100
committerJerome Glisse <glisse@freedesktop.org>2008-11-15 10:39:37 +0100
commit5ae79e7edd819b84d9e447a2ab9b995a862ac3a7 (patch)
tree76201d055fb1f078f526dd8d10bf1afcace60a4c /libdrm/radeon/radeon_bo.h
parent1f6602185455957bde0fac09dcab5215326d49a0 (diff)
libdrm-radeon: unref return current BO ptr to reflect BO destruction
Diffstat (limited to 'libdrm/radeon/radeon_bo.h')
-rw-r--r--libdrm/radeon/radeon_bo.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/libdrm/radeon/radeon_bo.h b/libdrm/radeon/radeon_bo.h
index ed785034..523cf38e 100644
--- a/libdrm/radeon/radeon_bo.h
+++ b/libdrm/radeon/radeon_bo.h
@@ -63,7 +63,7 @@ struct radeon_bo_funcs {
uint32_t domains,
uint32_t flags);
void (*bo_ref)(struct radeon_bo *bo);
- void (*bo_unref)(struct radeon_bo *bo);
+ struct radeon_bo *(*bo_unref)(struct radeon_bo *bo);
int (*bo_map)(struct radeon_bo *bo, int write);
int (*bo_unmap)(struct radeon_bo *bo);
};
@@ -118,10 +118,10 @@ static inline void _radeon_bo_ref(struct radeon_bo *bo,
bo->bom->funcs->bo_ref(bo);
}
-static inline void _radeon_bo_unref(struct radeon_bo *bo,
- const char *file,
- const char *func,
- int line)
+static inline struct radeon_bo *_radeon_bo_unref(struct radeon_bo *bo,
+ const char *file,
+ const char *func,
+ int line)
{
bo->cref--;
#ifdef RADEON_BO_TRACK
@@ -131,7 +131,7 @@ static inline void _radeon_bo_unref(struct radeon_bo *bo,
bo->track = NULL;
}
#endif
- bo->bom->funcs->bo_unref(bo);
+ return bo->bom->funcs->bo_unref(bo);
}
static inline int _radeon_bo_map(struct radeon_bo *bo,