| /**************************************************************************** |
| **************************************************************************** |
| *** |
| *** This header was automatically generated from a Linux kernel header |
| *** of the same name, to make information necessary for userspace to |
| *** call into the kernel available to libc. It contains only constants, |
| *** structures, and macros generated from the original header, and thus, |
| *** contains no copyrightable information. |
| *** |
| *** To edit the content of this header, modify the corresponding |
| *** source file (e.g. under external/kernel-headers/original/) then |
| *** run bionic/libc/kernel/tools/update_all.py |
| *** |
| *** Any manual change here will be lost the next time this script will |
| *** be run. You've been warned! |
| *** |
| **************************************************************************** |
| ****************************************************************************/ |
| #ifndef __FIMG2D_H |
| #define __FIMG2D_H __FILE__ |
| #define FIMG2D_MAX_PLANES 2 |
| #define FIMG2D_IOCTL_MAGIC 'F' |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| #define FIMG2D_BITBLT_BLIT _IOWR(FIMG2D_IOCTL_MAGIC, 0, struct fimg2d_blit) |
| #define FIMG2D_BITBLT_SYNC _IOW(FIMG2D_IOCTL_MAGIC, 1, int) |
| #define FIMG2D_BITBLT_VERSION _IOR(FIMG2D_IOCTL_MAGIC, 2, struct fimg2d_version) |
| struct fimg2d_version { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| unsigned int hw; |
| unsigned int sw; |
| }; |
| enum blit_sync { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_SYNC, |
| BLIT_ASYNC, |
| }; |
| enum addr_space { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| ADDR_NONE = 0, |
| ADDR_DMA_BUF, |
| }; |
| enum pixel_order { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| AX_RGB = 0, |
| RGB_AX, |
| AX_BGR, |
| BGR_AX, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| ARGB_ORDER_END, |
| P1_CRY1CBY0, |
| P1_CBY1CRY0, |
| P1_Y1CRY0CB, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| P1_Y1CBY0CR, |
| P1_ORDER_END, |
| P2_CRCB, |
| P2_CBCR, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| P2_ORDER_END, |
| }; |
| enum color_format { |
| CF_XRGB_8888 = 0, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| CF_ARGB_8888, |
| CF_RGB_565, |
| CF_XRGB_1555, |
| CF_ARGB_1555, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| CF_XRGB_4444, |
| CF_ARGB_4444, |
| CF_RGB_888, |
| CF_YCBCR_444, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| CF_YCBCR_422, |
| CF_YCBCR_420, |
| CF_A8, |
| CF_L8, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| SRC_DST_FORMAT_END, |
| CF_MSK_1BIT, |
| CF_MSK_4BIT, |
| CF_MSK_8BIT, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| CF_MSK_16BIT_565, |
| CF_MSK_16BIT_1555, |
| CF_MSK_16BIT_4444, |
| CF_MSK_32BIT_8888, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| MSK_FORMAT_END, |
| }; |
| enum rotation { |
| ORIGIN, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| ROT_90, |
| ROT_180, |
| ROT_270, |
| XFLIP, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| YFLIP, |
| }; |
| enum repeat { |
| NO_REPEAT = 0, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| REPEAT_NORMAL, |
| REPEAT_PAD, |
| REPEAT_REFLECT, REPEAT_MIRROR = REPEAT_REFLECT, |
| REPEAT_CLAMP, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| enum scaling { |
| NO_SCALING, |
| SCALING_NEAREST, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| SCALING_BILINEAR, |
| }; |
| enum scaling_factor { |
| SCALING_PIXELS, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| SCALING_RATIO, |
| }; |
| enum premultiplied { |
| PREMULTIPLIED, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| NON_PREMULTIPLIED, |
| }; |
| enum bluescreen { |
| OPAQUE, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| TRANSP, |
| BLUSCR, |
| }; |
| enum blit_op { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_SOLID_FILL = 0, |
| BLIT_OP_CLR, |
| BLIT_OP_SRC, BLIT_OP_SRC_COPY = BLIT_OP_SRC, |
| BLIT_OP_DST, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_SRC_OVER, |
| BLIT_OP_DST_OVER, BLIT_OP_OVER_REV = BLIT_OP_DST_OVER, |
| BLIT_OP_SRC_IN, |
| BLIT_OP_DST_IN, BLIT_OP_IN_REV = BLIT_OP_DST_IN, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_SRC_OUT, |
| BLIT_OP_DST_OUT, BLIT_OP_OUT_REV = BLIT_OP_DST_OUT, |
| BLIT_OP_SRC_ATOP, |
| BLIT_OP_DST_ATOP, BLIT_OP_ATOP_REV = BLIT_OP_DST_ATOP, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_XOR, |
| BLIT_OP_ADD, |
| BLIT_OP_MULTIPLY, |
| BLIT_OP_SCREEN, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_DARKEN, |
| BLIT_OP_LIGHTEN, |
| BLIT_OP_DISJ_SRC_OVER, |
| BLIT_OP_DISJ_DST_OVER, BLIT_OP_SATURATE = BLIT_OP_DISJ_DST_OVER, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_DISJ_SRC_IN, |
| BLIT_OP_DISJ_DST_IN, BLIT_OP_DISJ_IN_REV = BLIT_OP_DISJ_DST_IN, |
| BLIT_OP_DISJ_SRC_OUT, |
| BLIT_OP_DISJ_DST_OUT, BLIT_OP_DISJ_OUT_REV = BLIT_OP_DISJ_DST_OUT, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_DISJ_SRC_ATOP, |
| BLIT_OP_DISJ_DST_ATOP, BLIT_OP_DISJ_ATOP_REV = BLIT_OP_DISJ_DST_ATOP, |
| BLIT_OP_DISJ_XOR, |
| BLIT_OP_CONJ_SRC_OVER, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_CONJ_DST_OVER, BLIT_OP_CONJ_OVER_REV = BLIT_OP_CONJ_DST_OVER, |
| BLIT_OP_CONJ_SRC_IN, |
| BLIT_OP_CONJ_DST_IN, BLIT_OP_CONJ_IN_REV = BLIT_OP_CONJ_DST_IN, |
| BLIT_OP_CONJ_SRC_OUT, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_CONJ_DST_OUT, BLIT_OP_CONJ_OUT_REV = BLIT_OP_CONJ_DST_OUT, |
| BLIT_OP_CONJ_SRC_ATOP, |
| BLIT_OP_CONJ_DST_ATOP, BLIT_OP_CONJ_ATOP_REV = BLIT_OP_CONJ_DST_ATOP, |
| BLIT_OP_CONJ_XOR, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| BLIT_OP_USER_COEFF, |
| BLIT_OP_USER_SRC_GA, |
| BLIT_OP_END, |
| }; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| #define MAX_FIMG2D_BLIT_OP (int)BLIT_OP_END |
| struct fimg2d_addr { |
| enum addr_space type; |
| int fd[FIMG2D_MAX_PLANES]; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| struct fimg2d_rect { |
| int x1; |
| int y1; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| int x2; |
| int y2; |
| }; |
| struct fimg2d_scale { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum scaling mode; |
| int src_w, src_h; |
| int dst_w, dst_h; |
| }; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct fimg2d_clip { |
| __u32 enable; |
| int x1; |
| int y1; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| int x2; |
| int y2; |
| }; |
| struct fimg2d_repeat { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum repeat mode; |
| unsigned long pad_color; |
| }; |
| struct fimg2d_bluscr { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum bluescreen mode; |
| unsigned long bs_color; |
| unsigned long bg_color; |
| }; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct fimg2d_image { |
| int width; |
| int height; |
| int stride; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum pixel_order order; |
| enum color_format fmt; |
| struct fimg2d_addr addr; |
| struct fimg2d_rect rect; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| struct fimg2d_param { |
| unsigned long solid_color; |
| unsigned char g_alpha; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 dither; |
| enum rotation rotate; |
| enum premultiplied premult; |
| struct fimg2d_scale scaling; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct fimg2d_repeat repeat; |
| struct fimg2d_bluscr bluscr; |
| struct fimg2d_clip clipping; |
| }; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct fimg2d_blit { |
| enum blit_op op; |
| struct fimg2d_param param; |
| struct fimg2d_image *src; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct fimg2d_image *msk; |
| struct fimg2d_image *tmp; |
| struct fimg2d_image *dst; |
| enum blit_sync sync; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| unsigned int seq_no; |
| }; |
| #endif |
| |