diff options
author | Pauli Nieminen | 2009-08-21 22:16:18 -0500 |
---|---|---|
committer | Dave Airlie | 2009-08-21 22:16:18 -0500 |
commit | caad8d85559709301c00760b9e8707d57f8c6c67 (patch) | |
tree | 13a2326eb17d90a2c3134a8007fce3e616bdd849 /libdrm/radeon/radeon_bo_gem.c | |
parent | cbb3ae3dab9dc82d95524726135b8d6ef86bcf27 (diff) | |
download | external-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.c | 16 |
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 | ||
212 | static 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 | |||
212 | static int bo_set_tiling(struct radeon_bo *bo, uint32_t tiling_flags, | 227 | static 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 | ||
262 | struct radeon_bo_manager *radeon_bo_manager_gem_ctor(int fd) | 278 | struct radeon_bo_manager *radeon_bo_manager_gem_ctor(int fd) |