OSDN Git Service

gralloc0_register_buffer: initialize gralloc0 when needed
[android-x86/external-minigbm.git] / cros_gralloc / i915_private_android_types.h
1 /*
2  * Copyright 2017 The Chromium OS Authors. All rights reserved.
3  * Use of this source code is governed by a BSD-style license that can be
4  * found in the LICENSE file.
5  */
6
7 /*
8  * Android graphics.h defines the formats and leaves 0x100 - 0x1FF
9  * range available for HAL implementation specific formats.
10  */
11
12 #ifndef i915_PRIVATE_ANDROID_TYPES_H_
13 #define i915_PRIVATE_ANDROID_TYPES_H_
14
15 #ifdef USE_GRALLOC1
16 #include <hardware/gralloc1.h>
17 #endif
18
19 enum { HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL = 0x100,
20        HAL_PIXEL_FORMAT_NV12_LINEAR_INTEL = 0x101,
21        HAL_PIXEL_FORMAT_YCrCb_422_H_INTEL = 0x102,
22        HAL_PIXEL_FORMAT_NV12_LINEAR_PACKED_INTEL = 0x103,
23        HAL_PIXEL_FORMAT_YCbCr_422_H_INTEL = 0x104,
24        HAL_PIXEL_FORMAT_NV12_X_TILED_INTEL = 0x105,
25        HAL_PIXEL_FORMAT_RGBA_5551_INTEL = 0x106,
26        HAL_PIXEL_FORMAT_RGBA_4444_INTEL = 0x107,
27        HAL_PIXEL_FORMAT_GENERIC_8BIT_INTEL = 0x108,
28        HAL_PIXEL_FORMAT_YCbCr_411_INTEL = 0x109,
29        HAL_PIXEL_FORMAT_YCbCr_420_H_INTEL = 0x10A,
30        HAL_PIXEL_FORMAT_YCbCr_422_V_INTEL = 0x10B,
31        HAL_PIXEL_FORMAT_YCbCr_444_INTEL = 0x10C,
32        HAL_PIXEL_FORMAT_RGBP_INTEL = 0x10D,
33        HAL_PIXEL_FORMAT_BGRP_INTEL = 0x10E,
34        HAL_PIXEL_FORMAT_NV12_LINEAR_CAMERA_INTEL = 0x10F,
35        HAL_PIXEL_FORMAT_P010_INTEL = 0x110,
36        HAL_PIXEL_FORMAT_Z16_INTEL = 0x111,
37        HAL_PIXEL_FORMAT_UVMAP64_INTEL = 0x112,
38        HAL_PIXEL_FORMAT_A2R10G10B10_INTEL = 0x113,
39        HAL_PIXEL_FORMAT_A2B10G10R10_INTEL = 0x114,
40        HAL_PIXEL_FORMAT_YCrCb_NORMAL_INTEL = 0x115,
41        HAL_PIXEL_FORMAT_YCrCb_SWAPUVY_INTEL = 0x116,
42        HAL_PIXEL_FORMAT_YCrCb_SWAPUV_INTEL = 0x117,
43        HAL_PIXEL_FORMAT_YCrCb_SWAPY_INTEL = 0x118,
44        HAL_PIXEL_FORMAT_X2R10G10B10_INTEL = 0x119,
45        HAL_PIXEL_FORMAT_X2B10G10R10_INTEL = 0x11A,
46        HAL_PIXEL_FORMAT_P016_INTEL = 0x11C,
47        HAL_PIXEL_FORMAT_Y210_INTEL = 0x11D,
48        HAL_PIXEL_FORMAT_Y216_INTEL = 0x11E,
49        HAL_PIXEL_FORMAT_Y410_INTEL = 0x11F,
50        HAL_PIXEL_FORMAT_Y416_INTEL = 0x120,
51        HAL_PIXEL_FORMAT_Y8I_INTEL = 0x121,
52        HAL_PIXEL_FORMAT_Y12I_INTEL = 0x122,
53        HAL_PIXEL_FORMAT_YUYV_INTEL = HAL_PIXEL_FORMAT_YCrCb_NORMAL_INTEL,
54        HAL_PIXEL_FORMAT_YUY2_INTEL = HAL_PIXEL_FORMAT_YCrCb_NORMAL_INTEL,
55        HAL_PIXEL_FORMAT_VYUY_INTEL = HAL_PIXEL_FORMAT_YCrCb_SWAPUVY_INTEL,
56        HAL_PIXEL_FORMAT_YVYU_INTEL = HAL_PIXEL_FORMAT_YCrCb_SWAPUV_INTEL,
57        HAL_PIXEL_FORMAT_UYVY_INTEL = HAL_PIXEL_FORMAT_YCrCb_SWAPY_INTEL,
58        HAL_PIXEL_FORMAT_NV12_TILED_INTEL = HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL,
59        HAL_PIXEL_FORMAT_NV12_INTEL = HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL,
60        HAL_PIXEL_FORMAT_INTEL_NV12 = HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL,
61        HAL_PIXEL_FORMAT_NV12 = 0x10F,
62        HAL_PIXEL_FORMAT_YUV420PackedSemiPlanar_INTEL = 0x7FA00E00,
63        HAL_PIXEL_FORMAT_YUV420PackedSemiPlanar_Tiled_INTEL = 0x7FA00F00,
64 };
65
66 #ifdef USE_GRALLOC1
67 enum { GRALLOC1_FUNCTION_SET_MODIFIER = 101,
68        GRALLOC1_FUNCTION_GET_BYTE_STRIDE = 102,
69        GRALLOC1_FUNCTION_GET_PRIME = 103,
70        GRALLOC1_FUNCTION_SET_INTERLACE = 104,
71        GRALLOC1_FUNCTION_SET_PROTECTIONINFO = 105,
72        GRALLOC1_LAST_CUSTOM = 500 };
73
74 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_SET_MODIFIER)(
75     gralloc1_device_t *device, gralloc1_buffer_descriptor_t descriptor, uint64_t modifier);
76
77 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_GET_BYTE_STRIDE)(
78         gralloc1_device_t *device, buffer_handle_t buffer, uint32_t *outStride, uint32_t size);
79
80 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_GET_PRIME)(
81         gralloc1_device_t *device, buffer_handle_t buffer, uint32_t *prime);
82
83 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_SET_INTERLACE)(
84         gralloc1_device_t *device, buffer_handle_t buffer, uint32_t interlace);
85
86 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_SET_PROTECTIONINFO)(
87         gralloc1_device_t *device, buffer_handle_t buffer, uint32_t protection_info);
88
89 typedef union intel_protection_info_type_t {
90        uint32_t value;
91        struct {
92            uint32_t is_encrypted  : 8;
93            uint32_t pavp_sesion_id : 8;
94            uint32_t pavp_instance_id: 16;
95        };
96 }intel_protection_info_type_t;
97
98 #endif
99
100 #endif