/**************************************************************************** **************************************************************************** *** *** 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