+struct rectangle {
+ uint32_t x;
+ uint32_t y;
+ uint32_t width;
+ uint32_t height;
+};
+
+struct mapping {
+ struct vma *vma;
+ struct rectangle rect;
+ uint32_t refcount;
+};
+
+struct driver *drv_create(int fd);
+
+void drv_destroy(struct driver *drv);
+
+int drv_get_fd(struct driver *drv);
+
+const char *drv_get_name(struct driver *drv);
+
+struct combination *drv_get_combination(struct driver *drv, uint32_t format, uint64_t use_flags);
+
+struct bo *drv_bo_new(struct driver *drv, uint32_t width, uint32_t height, uint32_t format,
+ uint64_t use_flags, bool is_test_buffer);
+
+struct bo *drv_bo_create(struct driver *drv, uint32_t width, uint32_t height, uint32_t format,
+ uint64_t use_flags);