Greg Hackmann | 8f10f92 | 2013-01-14 15:54:46 -0800 | [diff] [blame] | 1 | /**************************************************************************** |
| 2 | **************************************************************************** |
| 3 | *** |
| 4 | *** This header was automatically generated from a Linux kernel header |
| 5 | *** of the same name, to make information necessary for userspace to |
| 6 | *** call into the kernel available to libc. It contains only constants, |
| 7 | *** structures, and macros generated from the original header, and thus, |
| 8 | *** contains no copyrightable information. |
| 9 | *** |
| 10 | *** To edit the content of this header, modify the corresponding |
| 11 | *** source file (e.g. under external/kernel-headers/original/) then |
| 12 | *** run bionic/libc/kernel/tools/update_all.py |
| 13 | *** |
| 14 | *** Any manual change here will be lost the next time this script will |
| 15 | *** be run. You've been warned! |
| 16 | *** |
| 17 | **************************************************************************** |
| 18 | ****************************************************************************/ |
| 19 | #ifndef __FIMG2D_H |
| 20 | #define __FIMG2D_H __FILE__ |
| 21 | #define FIMG2D_MAX_PLANES 2 |
| 22 | #define FIMG2D_IOCTL_MAGIC 'F' |
| 23 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 24 | #define FIMG2D_BITBLT_BLIT _IOWR(FIMG2D_IOCTL_MAGIC, 0, struct fimg2d_blit) |
| 25 | #define FIMG2D_BITBLT_SYNC _IOW(FIMG2D_IOCTL_MAGIC, 1, int) |
| 26 | #define FIMG2D_BITBLT_VERSION _IOR(FIMG2D_IOCTL_MAGIC, 2, struct fimg2d_version) |
| 27 | struct fimg2d_version { |
| 28 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 29 | unsigned int hw; |
| 30 | unsigned int sw; |
| 31 | }; |
| 32 | enum blit_sync { |
| 33 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 34 | BLIT_SYNC, |
| 35 | BLIT_ASYNC, |
| 36 | }; |
| 37 | enum addr_space { |
| 38 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 39 | ADDR_NONE = 0, |
| 40 | ADDR_DMA_BUF, |
| 41 | }; |
| 42 | enum pixel_order { |
| 43 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 44 | AX_RGB = 0, |
| 45 | RGB_AX, |
| 46 | AX_BGR, |
| 47 | BGR_AX, |
| 48 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 49 | ARGB_ORDER_END, |
| 50 | P1_CRY1CBY0, |
| 51 | P1_CBY1CRY0, |
| 52 | P1_Y1CRY0CB, |
| 53 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 54 | P1_Y1CBY0CR, |
| 55 | P1_ORDER_END, |
| 56 | P2_CRCB, |
| 57 | P2_CBCR, |
| 58 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 59 | P2_ORDER_END, |
| 60 | }; |
| 61 | enum color_format { |
| 62 | CF_XRGB_8888 = 0, |
| 63 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 64 | CF_ARGB_8888, |
| 65 | CF_RGB_565, |
| 66 | CF_XRGB_1555, |
| 67 | CF_ARGB_1555, |
| 68 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 69 | CF_XRGB_4444, |
| 70 | CF_ARGB_4444, |
| 71 | CF_RGB_888, |
| 72 | CF_YCBCR_444, |
| 73 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 74 | CF_YCBCR_422, |
| 75 | CF_YCBCR_420, |
| 76 | CF_A8, |
| 77 | CF_L8, |
| 78 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 79 | SRC_DST_FORMAT_END, |
| 80 | CF_MSK_1BIT, |
| 81 | CF_MSK_4BIT, |
| 82 | CF_MSK_8BIT, |
| 83 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 84 | CF_MSK_16BIT_565, |
| 85 | CF_MSK_16BIT_1555, |
| 86 | CF_MSK_16BIT_4444, |
| 87 | CF_MSK_32BIT_8888, |
| 88 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 89 | MSK_FORMAT_END, |
| 90 | }; |
| 91 | enum rotation { |
| 92 | ORIGIN, |
| 93 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 94 | ROT_90, |
| 95 | ROT_180, |
| 96 | ROT_270, |
| 97 | XFLIP, |
| 98 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 99 | YFLIP, |
| 100 | }; |
| 101 | enum repeat { |
| 102 | NO_REPEAT = 0, |
| 103 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 104 | REPEAT_NORMAL, |
| 105 | REPEAT_PAD, |
| 106 | REPEAT_REFLECT, REPEAT_MIRROR = REPEAT_REFLECT, |
| 107 | REPEAT_CLAMP, |
| 108 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 109 | }; |
| 110 | enum scaling { |
| 111 | NO_SCALING, |
| 112 | SCALING_NEAREST, |
| 113 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 114 | SCALING_BILINEAR, |
| 115 | }; |
| 116 | enum scaling_factor { |
| 117 | SCALING_PIXELS, |
| 118 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 119 | SCALING_RATIO, |
| 120 | }; |
| 121 | enum premultiplied { |
| 122 | PREMULTIPLIED, |
| 123 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 124 | NON_PREMULTIPLIED, |
| 125 | }; |
| 126 | enum bluescreen { |
| 127 | OPAQUE, |
| 128 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 129 | TRANSP, |
| 130 | BLUSCR, |
| 131 | }; |
| 132 | enum blit_op { |
| 133 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 134 | BLIT_OP_SOLID_FILL = 0, |
| 135 | BLIT_OP_CLR, |
| 136 | BLIT_OP_SRC, BLIT_OP_SRC_COPY = BLIT_OP_SRC, |
| 137 | BLIT_OP_DST, |
| 138 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 139 | BLIT_OP_SRC_OVER, |
| 140 | BLIT_OP_DST_OVER, BLIT_OP_OVER_REV = BLIT_OP_DST_OVER, |
| 141 | BLIT_OP_SRC_IN, |
| 142 | BLIT_OP_DST_IN, BLIT_OP_IN_REV = BLIT_OP_DST_IN, |
| 143 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 144 | BLIT_OP_SRC_OUT, |
| 145 | BLIT_OP_DST_OUT, BLIT_OP_OUT_REV = BLIT_OP_DST_OUT, |
| 146 | BLIT_OP_SRC_ATOP, |
| 147 | BLIT_OP_DST_ATOP, BLIT_OP_ATOP_REV = BLIT_OP_DST_ATOP, |
| 148 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 149 | BLIT_OP_XOR, |
| 150 | BLIT_OP_ADD, |
| 151 | BLIT_OP_MULTIPLY, |
| 152 | BLIT_OP_SCREEN, |
| 153 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 154 | BLIT_OP_DARKEN, |
| 155 | BLIT_OP_LIGHTEN, |
| 156 | BLIT_OP_DISJ_SRC_OVER, |
| 157 | BLIT_OP_DISJ_DST_OVER, BLIT_OP_SATURATE = BLIT_OP_DISJ_DST_OVER, |
| 158 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 159 | BLIT_OP_DISJ_SRC_IN, |
| 160 | BLIT_OP_DISJ_DST_IN, BLIT_OP_DISJ_IN_REV = BLIT_OP_DISJ_DST_IN, |
| 161 | BLIT_OP_DISJ_SRC_OUT, |
| 162 | BLIT_OP_DISJ_DST_OUT, BLIT_OP_DISJ_OUT_REV = BLIT_OP_DISJ_DST_OUT, |
| 163 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 164 | BLIT_OP_DISJ_SRC_ATOP, |
| 165 | BLIT_OP_DISJ_DST_ATOP, BLIT_OP_DISJ_ATOP_REV = BLIT_OP_DISJ_DST_ATOP, |
| 166 | BLIT_OP_DISJ_XOR, |
| 167 | BLIT_OP_CONJ_SRC_OVER, |
| 168 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 169 | BLIT_OP_CONJ_DST_OVER, BLIT_OP_CONJ_OVER_REV = BLIT_OP_CONJ_DST_OVER, |
| 170 | BLIT_OP_CONJ_SRC_IN, |
| 171 | BLIT_OP_CONJ_DST_IN, BLIT_OP_CONJ_IN_REV = BLIT_OP_CONJ_DST_IN, |
| 172 | BLIT_OP_CONJ_SRC_OUT, |
| 173 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 174 | BLIT_OP_CONJ_DST_OUT, BLIT_OP_CONJ_OUT_REV = BLIT_OP_CONJ_DST_OUT, |
| 175 | BLIT_OP_CONJ_SRC_ATOP, |
| 176 | BLIT_OP_CONJ_DST_ATOP, BLIT_OP_CONJ_ATOP_REV = BLIT_OP_CONJ_DST_ATOP, |
| 177 | BLIT_OP_CONJ_XOR, |
| 178 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 179 | BLIT_OP_USER_COEFF, |
| 180 | BLIT_OP_USER_SRC_GA, |
| 181 | BLIT_OP_END, |
| 182 | }; |
| 183 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 184 | #define MAX_FIMG2D_BLIT_OP (int)BLIT_OP_END |
| 185 | struct fimg2d_addr { |
| 186 | enum addr_space type; |
| 187 | int fd[FIMG2D_MAX_PLANES]; |
| 188 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 189 | }; |
| 190 | struct fimg2d_rect { |
| 191 | int x1; |
| 192 | int y1; |
| 193 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 194 | int x2; |
| 195 | int y2; |
| 196 | }; |
| 197 | struct fimg2d_scale { |
| 198 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 199 | enum scaling mode; |
| 200 | int src_w, src_h; |
| 201 | int dst_w, dst_h; |
| 202 | }; |
| 203 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 204 | struct fimg2d_clip { |
| 205 | __u32 enable; |
| 206 | int x1; |
| 207 | int y1; |
| 208 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 209 | int x2; |
| 210 | int y2; |
| 211 | }; |
| 212 | struct fimg2d_repeat { |
| 213 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 214 | enum repeat mode; |
| 215 | unsigned long pad_color; |
| 216 | }; |
| 217 | struct fimg2d_bluscr { |
| 218 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 219 | enum bluescreen mode; |
| 220 | unsigned long bs_color; |
| 221 | unsigned long bg_color; |
| 222 | }; |
| 223 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 224 | struct fimg2d_image { |
| 225 | int width; |
| 226 | int height; |
| 227 | int stride; |
| 228 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 229 | enum pixel_order order; |
| 230 | enum color_format fmt; |
| 231 | struct fimg2d_addr addr; |
| 232 | struct fimg2d_rect rect; |
| 233 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 234 | }; |
| 235 | struct fimg2d_param { |
| 236 | unsigned long solid_color; |
| 237 | unsigned char g_alpha; |
| 238 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 239 | __u32 dither; |
| 240 | enum rotation rotate; |
| 241 | enum premultiplied premult; |
| 242 | struct fimg2d_scale scaling; |
| 243 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 244 | struct fimg2d_repeat repeat; |
| 245 | struct fimg2d_bluscr bluscr; |
| 246 | struct fimg2d_clip clipping; |
| 247 | }; |
| 248 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 249 | struct fimg2d_blit { |
| 250 | enum blit_op op; |
| 251 | struct fimg2d_param param; |
| 252 | struct fimg2d_image *src; |
| 253 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 254 | struct fimg2d_image *msk; |
| 255 | struct fimg2d_image *tmp; |
| 256 | struct fimg2d_image *dst; |
| 257 | enum blit_sync sync; |
| 258 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| 259 | unsigned int seq_no; |
| 260 | }; |
| 261 | #endif |
| 262 | |