aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPauli Nieminen2009-08-21 22:16:18 -0500
committerDave Airlie2009-08-21 22:16:18 -0500
commitcaad8d85559709301c00760b9e8707d57f8c6c67 (patch)
tree13a2326eb17d90a2c3134a8007fce3e616bdd849 /libdrm/radeon/radeon_bo_gem.c
parentcbb3ae3dab9dc82d95524726135b8d6ef86bcf27 (diff)
downloadexternal-libgbm-caad8d85559709301c00760b9e8707d57f8c6c67.tar.gz
external-libgbm-caad8d85559709301c00760b9e8707d57f8c6c67.tar.xz
external-libgbm-caad8d85559709301c00760b9e8707d57f8c6c67.zip
radeon: add support for busy/domain check interface.
airlied: modified the interface to drop busy return value, just return it normally, also fixed int->uint32_t for domain Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
Diffstat (limited to 'libdrm/radeon/radeon_bo_gem.c')
-rw-r--r--libdrm/radeon/radeon_bo_gem.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libdrm/radeon/radeon_bo_gem.c b/libdrm/radeon/radeon_bo_gem.c
index cf59a359..76d80e7e 100644
--- a/libdrm/radeon/radeon_bo_gem.c
+++ b/libdrm/radeon/radeon_bo_gem.c
@@ -209,6 +209,21 @@ static int bo_wait(struct radeon_bo *bo)
209 return ret; 209 return ret;
210} 210}
211 211
212static int bo_is_busy(struct radeon_bo *bo, uint32_t *domain)
213{
214 struct drm_radeon_gem_busy args;
215 int ret;
216
217 args.handle = bo->handle;
218 args.domain = 0;
219
220 ret = drmCommandWriteRead(bo->bom->fd, DRM_RADEON_GEM_BUSY,
221 &args, sizeof(args));
222
223 *domain = args.domain;
224 return ret;
225}
226
212static int bo_set_tiling(struct radeon_bo *bo, uint32_t tiling_flags, 227static int bo_set_tiling(struct radeon_bo *bo, uint32_t tiling_flags,
213 uint32_t pitch) 228 uint32_t pitch)
214{ 229{
@@ -257,6 +272,7 @@ static struct radeon_bo_funcs bo_gem_funcs = {
257 NULL, 272 NULL,
258 bo_set_tiling, 273 bo_set_tiling,
259 bo_get_tiling, 274 bo_get_tiling,
275 bo_is_busy,
260}; 276};
261 277
262struct radeon_bo_manager *radeon_bo_manager_gem_ctor(int fd) 278struct radeon_bo_manager *radeon_bo_manager_gem_ctor(int fd)