summaryrefslogtreecommitdiff
path: root/drv.h
diff options
context:
space:
mode:
authorGurchetan Singh <gurchetansingh@chromium.org>2016-08-16 17:57:10 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-08-22 14:52:30 -0700
commitbfba8c2697ef0dec00ba28eb7d976d56e3e61166 (patch)
tree79b292924ca619497f5bbd1d770ecf4868351898 /drv.h
parentd7c84fd88fb71f30c90d3d13bd8dfc2c2d2541da (diff)
minigbm: Added gralloc API to internal API
Added the drv analogues of the 2 flexible formats we need to support. Added analogues of most of the gralloc use flags, except: GRALLOC_USAGE_SW_READ_MASK GRALLOC_USAGE_SW_WRITE_MASK GRALLOC_USAGE_HW_MASK GRALLOC_USAGE_FOREIGN_BUFFERS GRALLOC_USAGE_ALLOC_MASK These are used as masks and don't make sense as usage hints. In addition, put the new flags in the drivers' supported lists and added a flexible format query function. BUG=chromium:616275 TEST=minigbm still builds CQ-DEPEND=CL:371501 Change-Id: Idd2ecd6fde3e6c5caaaf3a8404d0d7db20b4ecf4 Reviewed-on: https://chromium-review.googlesource.com/372359 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Diffstat (limited to 'drv.h')
-rw-r--r--drv.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/drv.h b/drv.h
index bc2d421..6fc83cf 100644
--- a/drv.h
+++ b/drv.h
@@ -33,6 +33,24 @@ extern "C" {
#define DRV_BO_USE_CURSOR_64X64 DRV_BO_USE_CURSOR
#define DRV_BO_USE_RENDERING (1ull << 2)
#define DRV_BO_USE_LINEAR (1ull << 3)
+#define DRV_BO_USE_SW_READ_NEVER (1ull << 4)
+#define DRV_BO_USE_SW_READ_RARELY (1ull << 5)
+#define DRV_BO_USE_SW_READ_OFTEN (1ull << 6)
+#define DRV_BO_USE_SW_WRITE_NEVER (1ull << 7)
+#define DRV_BO_USE_SW_WRITE_RARELY (1ull << 8)
+#define DRV_BO_USE_SW_WRITE_OFTEN (1ull << 9)
+#define DRV_BO_USE_HW_TEXTURE (1ull << 10)
+#define DRV_BO_USE_HW_RENDER (1ull << 11)
+#define DRV_BO_USE_HW_2D (1ull << 12)
+#define DRV_BO_USE_HW_COMPOSER (1ull << 13)
+#define DRV_BO_USE_HW_FB (1ull << 14)
+#define DRV_BO_USE_EXTERNAL_DISP (1ull << 15)
+#define DRV_BO_USE_PROTECTED (1ull << 16)
+#define DRV_BO_USE_HW_VIDEO_ENCODE (1ull << 17)
+#define DRV_BO_USE_HW_CAMERA_WRITE (1ull << 18)
+#define DRV_BO_USE_HW_CAMERA_READ (1ull << 19)
+#define DRV_BO_USE_HW_CAMERA_ZSL (1ull << 20)
+#define DRV_BO_USE_RENDERSCRIPT (1ull << 21)
typedef enum {
DRV_FORMAT_NONE,
@@ -97,6 +115,8 @@ typedef enum {
DRV_FORMAT_YVU422,
DRV_FORMAT_YUV444,
DRV_FORMAT_YVU444,
+ DRV_FORMAT_FLEX_IMPLEMENTATION_DEFINED,
+ DRV_FORMAT_FLEX_YCbCr_420_888,
} drv_format_t;
struct driver;
@@ -184,6 +204,9 @@ drv_bo_get_plane_stride(struct bo *bo, size_t plane);
uint64_t
drv_bo_get_plane_format_modifier(struct bo *bo, size_t plane);
+drv_format_t
+drv_resolve_format(struct driver *drv, drv_format_t format);
+
#ifdef __cplusplus
}
#endif