summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/r600/drm/radeon_bo.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-09-17 13:18:42 +1000
committerDave Airlie <airlied@redhat.com>2010-09-17 15:29:31 +1000
commitda96313afe3cff66d8ae0c9675a6299b3d7510f9 (patch)
tree439d3e7a85e600f5d5b0ea2645007ee82ab26837 /src/gallium/winsys/r600/drm/radeon_bo.c
parent189a59751352208cb0386131f9ad82256ec9bed9 (diff)
r600g: add support for kernel bo
this moves to using a pb bufmgr instead of kernel bos directly.
Diffstat (limited to 'src/gallium/winsys/r600/drm/radeon_bo.c')
-rw-r--r--src/gallium/winsys/r600/drm/radeon_bo.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gallium/winsys/r600/drm/radeon_bo.c b/src/gallium/winsys/r600/drm/radeon_bo.c
index e8604a82db5..51ce8649742 100644
--- a/src/gallium/winsys/r600/drm/radeon_bo.c
+++ b/src/gallium/winsys/r600/drm/radeon_bo.c
@@ -170,3 +170,19 @@ int radeon_bo_wait(struct radeon *radeon, struct radeon_bo *bo)
} while (ret == -EBUSY);
return ret;
}
+
+int radeon_bo_busy(struct radeon *radeon, struct radeon_bo *bo, uint32_t *domain)
+{
+ struct drm_radeon_gem_busy args;
+ int ret;
+
+ memset(&args, 0, sizeof(args));
+ args.handle = bo->handle;
+ args.domain = 0;
+
+ ret = drmCommandWriteRead(radeon->fd, DRM_RADEON_GEM_BUSY,
+ &args, sizeof(args));
+
+ *domain = args.domain;
+ return ret;
+}