OSDN Git Service

minigbm/i915: Add support for I915_FORMAT_MOD_Y_TILED_CCS.
[android-x86/external-minigbm.git] / cros_gralloc / cros_gralloc_handle.h
index a173aee..36b56a4 100644 (file)
@@ -7,22 +7,45 @@
 #ifndef CROS_GRALLOC_HANDLE_H
 #define CROS_GRALLOC_HANDLE_H
 
-#include <cutils/native_handle.h>
 #include <cstdint>
+#include <cutils/native_handle.h>
+
+#define DRV_MAX_PLANES 4
 
-#include "../drv.h"
+/*
+ * Only use 32-bit integers in the handle. This guarantees that the handle is
+ * densely packed (i.e, the compiler does not insert any padding).
+ */
 
 struct cros_gralloc_handle {
        native_handle_t base;
-       drv_import_fd_data data;
+       int32_t fds[DRV_MAX_PLANES];
+       uint32_t strides[DRV_MAX_PLANES];
+       uint32_t offsets[DRV_MAX_PLANES];
+       uint32_t sizes[DRV_MAX_PLANES];
+       uint32_t format_modifiers[2 * DRV_MAX_PLANES];
+       uint32_t width;
+       uint32_t height;
+       uint32_t format;       /* DRM format */
+       uint32_t use_flags[2]; /* Buffer creation flags */
        uint32_t magic;
        uint32_t pixel_stride;
-       int32_t format, usage;     /* Android format and usage. */
-       uint64_t bo;               /* Pointer to cros_gralloc_bo. */
-       int32_t registrations;     /*
-                                   * Number of times (*register)() has been
-                                   * called on this handle.
-                                   */
+       int32_t droid_format;
+       int32_t usage; /* Android usage. */
+       uint32_t consumer_usage;
+       uint32_t producer_usage;
+       uint32_t yuv_color_range;   // YUV Color range.
+       uint32_t is_updated;        // frame updated flag
+       uint32_t is_encoded;        // frame encoded flag
+       uint32_t is_encrypted;
+       uint32_t is_key_frame;
+       uint32_t is_interlaced;
+       uint32_t is_mmc_capable;
+       uint32_t compression_mode;
+       uint32_t compression_hint;
+       uint32_t codec;
 };
 
+typedef const struct cros_gralloc_handle *cros_gralloc_handle_t;
+
 #endif