blob: 59da4a6d40934ab5e30f70ff782979d34752cdd4 [file] [log] [blame]
/****************************************************************************
****************************************************************************
***
*** 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