#define BO_USE_HW_VIDEO_ENCODER (1ull << 14)
#define BO_USE_TEST_ALLOC (1ull << 15)
#define BO_USE_RENDERSCRIPT (1ull << 16)
+/* #define BO_USE_TEXTURE (1ull << 17) */
+/* #define BO_USE_HW_VIDEO_DECODER (1ull << 18) */
+#define BO_USE_FRAMEBUFFER (1ull << 19)
/* Quirks for allocating a buffer. */
#define BO_QUIRK_NONE 0
uint32_t width;
uint32_t height;
uint32_t format;
+ uint32_t tiling;
uint64_t use_flags;
};
uint32_t refcount;
};
-struct driver *drv_create(int fd);
+struct driver *drv_create(int fd, bool try_generic);
void drv_destroy(struct driver *drv);
int drv_bo_invalidate(struct bo *bo, struct mapping *mapping);
+int drv_bo_flush(struct bo *bo, struct mapping *mapping);
+
int drv_bo_flush_or_unmap(struct bo *bo, struct mapping *mapping);
uint32_t drv_bo_get_width(struct bo *bo);
size_t drv_num_planes_from_format(uint32_t format);
+size_t drv_num_planes_from_modifier(struct driver *drv, uint32_t format, uint64_t modifier);
+
uint32_t drv_num_buffers_per_bo(struct bo *bo);
+int drv_resource_info(struct bo *bo, uint32_t strides[DRV_MAX_PLANES],
+ uint32_t offsets[DRV_MAX_PLANES]);
+
#define drv_log(format, ...) \
do { \
drv_log_prefix("minigbm", __FILE__, __LINE__, format, ##__VA_ARGS__); \