summaryrefslogtreecommitdiff
path: root/radeon/radeon_bo_int.h
diff options
context:
space:
mode:
authorJakob Bornecrantz <jakob@vmware.com>2010-01-05 20:59:24 +0100
committerJakob Bornecrantz <jakob@vmware.com>2010-01-05 20:59:24 +0100
commit2f7f7ceccab4176217c399502b3ff95df1517627 (patch)
tree1a9f6e6c8ebcf5b13d9877685fce91b87a971ed2 /radeon/radeon_bo_int.h
parentd6059c3dd1300662e941ccd5e55649534fbb9a63 (diff)
parent6d3b8bbddd44b42d89adb1aafb7645e7f802673a (diff)
Merge branch 'master' into libkms-master
Conflicts: configure.ac
Diffstat (limited to 'radeon/radeon_bo_int.h')
-rw-r--r--radeon/radeon_bo_int.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/radeon/radeon_bo_int.h b/radeon/radeon_bo_int.h
new file mode 100644
index 00000000..190c3324
--- /dev/null
+++ b/radeon/radeon_bo_int.h
@@ -0,0 +1,45 @@
+#ifndef RADEON_BO_INT
+#define RADEON_BO_INT
+
+struct radeon_bo_manager {
+ struct radeon_bo_funcs *funcs;
+ int fd;
+};
+
+struct radeon_bo_int {
+ void *ptr;
+ uint32_t flags;
+ uint32_t handle;
+ uint32_t size;
+ /* private members */
+ uint32_t alignment;
+ uint32_t domains;
+ unsigned cref;
+ struct radeon_bo_manager *bom;
+ uint32_t space_accounted;
+ uint32_t referenced_in_cs;
+};
+
+/* bo functions */
+struct radeon_bo_funcs {
+ struct radeon_bo *(*bo_open)(struct radeon_bo_manager *bom,
+ uint32_t handle,
+ uint32_t size,
+ uint32_t alignment,
+ uint32_t domains,
+ uint32_t flags);
+ void (*bo_ref)(struct radeon_bo_int *bo);
+ struct radeon_bo *(*bo_unref)(struct radeon_bo_int *bo);
+ int (*bo_map)(struct radeon_bo_int *bo, int write);
+ int (*bo_unmap)(struct radeon_bo_int *bo);
+ int (*bo_wait)(struct radeon_bo_int *bo);
+ int (*bo_is_static)(struct radeon_bo_int *bo);
+ int (*bo_set_tiling)(struct radeon_bo_int *bo, uint32_t tiling_flags,
+ uint32_t pitch);
+ int (*bo_get_tiling)(struct radeon_bo_int *bo, uint32_t *tiling_flags,
+ uint32_t *pitch);
+ int (*bo_is_busy)(struct radeon_bo_int *bo, uint32_t *domain);
+ int (*bo_is_referenced_by_cs)(struct radeon_bo_int *bo, struct radeon_cs *cs);
+};
+
+#endif