xiaoxiang781216 commented on code in PR #16257: URL: https://github.com/apache/nuttx/pull/16257#discussion_r2061494596
########## include/nuttx/video/rgbcolors.h: ########## @@ -33,10 +33,9 @@ /* Color Creation and Conversion Macros *************************************/ -/* This macro creates RGB24 from 8:8:8 RGB */ - #define RGBTO24(r,g,b) \ - ((uint32_t)((r) & 0xff) << 16 | (uint32_t)((g) & 0xff) << 8 | (uint32_t)((b) & 0xff)) + ((uint32_t)((r) & 0xff) << 16 | (uint32_t)((g) & 0xff) << 8 | \ Review Comment: why change ########## include/nuttx/video/fb.h: ########## @@ -47,183 +47,183 @@ /* Monochrome Formats *******************************************************/ -#define FB_FMT_Y1 0 /* BPP=1, monochrome */ -#define FB_FMT_Y2 1 /* BPP=2, 2-bit uncompressed greyscale */ -#define FB_FMT_Y4 2 /* BPP=4, 4-bit uncompressed greyscale */ -#define FB_FMT_Y8 3 /* BPP=8, 8-bit uncompressed greyscale */ +#define FB_FMT_Y1 0 /* BPP=1, monochrome */ +#define FB_FMT_Y2 1 /* BPP=2, 2-bit uncompressed greyscale */ +#define FB_FMT_Y4 2 /* BPP=4, 4-bit uncompressed greyscale */ +#define FB_FMT_Y8 3 /* BPP=8, 8-bit uncompressed greyscale */ #define FB_FMT_Y16 4 /* BPP=16, 16-bit uncompressed greyscale */ -#define FB_FMT_GREY FB_FMT_Y8 /* BPP=8 */ -#define FB_FMT_Y800 FB_FMT_Y8 /* BPP=8 */ +#define FB_FMT_GREY FB_FMT_Y8 /* BPP=8 */ +#define FB_FMT_Y800 FB_FMT_Y8 /* BPP=8 */ #define FB_ISMONO(f) (((f) >= FB_FMT_Y1) && (f) <= FB_FMT_Y16) /* RGB video formats ********************************************************/ /* Standard RGB */ -#define FB_FMT_RGB4 5 /* BPP=4 */ -#define FB_FMT_RGB8 6 /* BPP=8 RGB palette index */ -#define FB_FMT_RGB8_222 7 /* BPP=8 R=2, G=2, B=2 */ -#define FB_FMT_RGB8_332 8 /* BPP=8 R=3, G=3, B=2 */ -#define FB_FMT_RGB12_444 9 /* BPP=12 R=4, G=4, B=4 */ +#define FB_FMT_RGB4 5 /* BPP=4 */ +#define FB_FMT_RGB8 6 /* BPP=8 RGB palette index */ +#define FB_FMT_RGB8_222 7 /* BPP=8 R=2, G=2, B=2 */ +#define FB_FMT_RGB8_332 8 /* BPP=8 R=3, G=3, B=2 */ +#define FB_FMT_RGB12_444 9 /* BPP=12 R=4, G=4, B=4 */ #define FB_FMT_RGB16_555 10 /* BPP=16 R=5, G=5, B=5 (1 unused bit) */ -#define FB_FMT_RGB16_565 11 /* BPP=16 R=5, G=6, B=5 */ -#define FB_FMT_RGB24 12 /* BPP=24 */ -#define FB_FMT_RGB32 13 /* BPP=32 */ +#define FB_FMT_RGB16_565 11 /* BPP=16 R=5, G=6, B=5 */ +#define FB_FMT_RGB24 12 /* BPP=24 */ +#define FB_FMT_RGB32 13 /* BPP=32 */ /* Run length encoded RGB */ -#define FB_FMT_RGBRLE4 14 /* BPP=4 */ -#define FB_FMT_RGBRLE8 15 /* BPP=8 */ +#define FB_FMT_RGBRLE4 14 /* BPP=4 */ +#define FB_FMT_RGBRLE8 15 /* BPP=8 */ /* Raw RGB */ -#define FB_FMT_RGBRAW 16 /* BPP=? */ +#define FB_FMT_RGBRAW 16 /* BPP=? */ /* Raw RGB with arbitrary sample packing within a pixel. Packing and * precision of R, G and B components is determined by bit masks for each. */ -#define FB_FMT_RGBBTFLD16 17 /* BPP=16 */ -#define FB_FMT_RGBBTFLD24 18 /* BPP=24 */ -#define FB_FMT_RGBBTFLD32 19 /* BPP=32 */ -#define FB_FMT_RGBA16 20 /* BPP=16 Raw RGB with alpha */ -#define FB_FMT_RGBA32 21 /* BPP=32 Raw RGB with alpha */ +#define FB_FMT_RGBBTFLD16 17 /* BPP=16 */ +#define FB_FMT_RGBBTFLD24 18 /* BPP=24 */ +#define FB_FMT_RGBBTFLD32 19 /* BPP=32 */ +#define FB_FMT_RGBA16 20 /* BPP=16 Raw RGB with alpha */ +#define FB_FMT_RGBA32 21 /* BPP=32 Raw RGB with alpha */ /* Raw RGB with a transparency field. Layout is as for standard RGB at 16 and * 32 bits per pixel but the msb in each pixel indicates whether the pixel is * transparent or not. */ -#define FB_FMT_RGBT16 22 /* BPP=16 */ -#define FB_FMT_RGBT32 23 /* BPP=32 */ +#define FB_FMT_RGBT16 22 /* BPP=16 */ +#define FB_FMT_RGBT32 23 /* BPP=32 */ #define FB_ISRGB(f) (((f) >= FB_FMT_RGB4) && (f) <= FB_FMT_RGBT32) /* Packed YUV Formats *******************************************************/ -#define FB_FMT_AYUV 24 /* BPP=32 Combined YUV and alpha */ +#define FB_FMT_AYUV 24 /* BPP=32 Combined YUV and alpha */ #define FB_FMT_CLJR 25 /* BPP=8 4 pixels packed into a uint32_t. * YUV 4:1:1 with l< 8 bits - * per YUV sample */ + * per YUV sample */ #define FB_FMT_CYUV 26 /* BPP=16 UYVY except that height is - * reversed */ -#define FB_FMT_IRAW 27 /* BPP=? Intel uncompressed YUV */ + * reversed */ +#define FB_FMT_IRAW 27 /* BPP=? Intel uncompressed YUV */ #define FB_FMT_IUYV 28 /* BPP=16 Interlaced UYVY (line order - * 0,2,4,.., 1,3,5...) */ + * 0,2,4,.., 1,3,5...) */ #define FB_FMT_IY41 29 /* BPP=12 Interlaced Y41P (line order - * 0,2,4,.., 1,3,5...) */ -#define FB_FMT_IYU2 30 /* BPP=24 */ + * 0,2,4,.., 1,3,5...) */ +#define FB_FMT_IYU2 30 /* BPP=24 */ #define FB_FMT_HDYC 31 /* BPP=16 UYVY except uses the BT709 - * color space */ + * color space */ #define FB_FMT_UYVP 32 /* BPP=24? YCbCr 4:2:2, 10-bits per * component in U0Y0V0Y1 order */ -#define FB_FMT_UYVY 33 /* BPP=16 YUV 4:2:2 */ -#define FB_FMT_UYNV FB_FMT_UYVY /* BPP=16 */ -#define FB_FMT_Y422 FB_FMT_UYVY /* BPP=16 */ -#define FB_FMT_V210 34 /* BPP=32 10-bit 4:2:2 YCrCb */ +#define FB_FMT_UYVY 33 /* BPP=16 YUV 4:2:2 */ +#define FB_FMT_UYNV FB_FMT_UYVY /* BPP=16 */ +#define FB_FMT_Y422 FB_FMT_UYVY /* BPP=16 */ +#define FB_FMT_V210 34 /* BPP=32 10-bit 4:2:2 YCrCb */ #define FB_FMT_V422 35 /* BPP=16 Upside down version of UYVY */ -#define FB_FMT_V655 36 /* BPP=16? 16-bit YUV 4:2:2 */ -#define FB_FMT_VYUY 37 /* BPP=? ATI Packed YUV Data */ -#define FB_FMT_YUYV 38 /* BPP=16 YUV 4:2:2 */ -#define FB_FMT_YUY2 FB_FMT_YUYV /* BPP=16 YUV 4:2:2 */ -#define FB_FMT_YUNV FB_FMT_YUYV /* BPP=16 YUV 4:2:2 */ -#define FB_FMT_YVYU 39 /* BPP=16 YUV 4:2:2 */ -#define FB_FMT_Y41P 40 /* BPP=12 YUV 4:1:1 */ -#define FB_FMT_Y411 41 /* BPP=12 YUV 4:1:1 */ -#define FB_FMT_Y211 42 /* BPP=8 */ -#define FB_FMT_Y41T 43 /* BPP=12 Y41P LSB for transparency */ -#define FB_FMT_Y42T 44 /* BPP=16 UYVY LSB for transparency */ -#define FB_FMT_YUVP 45 /* BPP=24? YCbCr 4:2:2 Y0U0Y1V0 order */ +#define FB_FMT_V655 36 /* BPP=16? 16-bit YUV 4:2:2 */ +#define FB_FMT_VYUY 37 /* BPP=? ATI Packed YUV Data */ +#define FB_FMT_YUYV 38 /* BPP=16 YUV 4:2:2 */ +#define FB_FMT_YUY2 FB_FMT_YUYV /* BPP=16 YUV 4:2:2 */ +#define FB_FMT_YUNV FB_FMT_YUYV /* BPP=16 YUV 4:2:2 */ +#define FB_FMT_YVYU 39 /* BPP=16 YUV 4:2:2 */ +#define FB_FMT_Y41P 40 /* BPP=12 YUV 4:1:1 */ +#define FB_FMT_Y411 41 /* BPP=12 YUV 4:1:1 */ +#define FB_FMT_Y211 42 /* BPP=8 */ +#define FB_FMT_Y41T 43 /* BPP=12 Y41P LSB for transparency */ +#define FB_FMT_Y42T 44 /* BPP=16 UYVY LSB for transparency */ +#define FB_FMT_YUVP 45 /* BPP=24? YCbCr 4:2:2 Y0U0Y1V0 order */ #define FB_ISYUVPACKED(f) (((f) >= FB_FMT_AYUV) && (f) <= FB_FMT_YUVP) /* Packed Planar YUV Formats ************************************************/ #define FB_FMT_YVU9 46 /* BPP=9 8-bit Y followed by 8-bit - * 4x4 VU */ -#define FB_FMT_YUV9 47 /* BPP=9? */ + * 4x4 VU */ +#define FB_FMT_YUV9 47 /* BPP=9? */ #define FB_FMT_IF09 48 /* BPP=9.5 YVU9 + 4x4 plane of delta - * relative to tframe. */ + * relative to tframe. */ #define FB_FMT_YV16 49 /* BPP=16 8-bit Y followed by 8-bit - * 2x1 VU */ + * 2x1 VU */ #define FB_FMT_YV12 50 /* BPP=12 8-bit Y followed by 8-bit - * 2x2 VU */ + * 2x2 VU */ #define FB_FMT_I420 51 /* BPP=12 8-bit Y followed by 8-bit - * 2x2 UV */ -#define FB_FMT_IYUV FB_FMT_I420 /* BPP=12 */ + * 2x2 UV */ +#define FB_FMT_IYUV FB_FMT_I420 /* BPP=12 */ #define FB_FMT_NV12 52 /* BPP=12 8-bit Y followed by an - * interleaved 2x2 UV */ -#define FB_FMT_NV21 53 /* BPP=12 NV12 with UV reversed */ + * interleaved 2x2 UV */ +#define FB_FMT_NV21 53 /* BPP=12 NV12 with UV reversed */ #define FB_FMT_IMC1 54 /* BPP=12 YV12 except UV planes same - * stride as Y */ + * stride as Y */ #define FB_FMT_IMC2 55 /* BPP=12 IMC1 except UV lines * interleaved at half stride - * boundaries */ + * boundaries */ #define FB_FMT_IMC3 56 /* BPP=12 As IMC1 except that UV - * swapped */ + * swapped */ #define FB_FMT_IMC4 57 /* BPP=12 As IMC2 except that UV - * swapped */ + * swapped */ #define FB_FMT_CLPL 58 /* BPP=12 YV12 but including a level - * of indirection. */ -#define FB_FMT_Y41B 59 /* BPP=12? 4:1:1 planar. */ -#define FB_FMT_Y42B 60 /* BPP=16? YUV 4:2:2 planar. */ -#define FB_FMT_CXY1 61 /* BPP=12 */ -#define FB_FMT_CXY2 62 /* BPP=16 */ + * of indirection. */ +#define FB_FMT_Y41B 59 /* BPP=12? 4:1:1 planar. */ +#define FB_FMT_Y42B 60 /* BPP=16? YUV 4:2:2 planar. */ +#define FB_FMT_CXY1 61 /* BPP=12 */ +#define FB_FMT_CXY2 62 /* BPP=16 */ #define FB_ISYUVPLANAR(f) (((f) >= FB_FMT_YVU9) && (f) <= FB_FMT_CXY2) #define FB_ISYUV(f) (FB_ISYUVPACKED(f) || FB_ISYUVPLANAR(f)) /* Hardware cursor control **************************************************/ #ifdef CONFIG_FB_HWCURSOR -# define FB_CUR_ENABLE 0x01 /* Enable the cursor */ -# define FB_CUR_SETIMAGE 0x02 /* Set the cursor image */ -# define FB_CUR_SETPOSITION 0x04 /* Set the position of the cursor */ -# define FB_CUR_SETSIZE 0x08 /* Set the size of the cursor */ -# define FB_CUR_XOR 0x10 /* Use XOR vs COPY ROP on image */ +# define FB_CUR_ENABLE 0x01 /* Enable the cursor */ +# define FB_CUR_SETIMAGE 0x02 /* Set the cursor image */ +# define FB_CUR_SETPOSITION 0x04 /* Set the position of the cursor */ +# define FB_CUR_SETSIZE 0x08 /* Set the size of the cursor */ +# define FB_CUR_XOR 0x10 /* Use XOR vs COPY ROP on image */ #endif /* Hardware overlay acceleration ********************************************/ #define FB_NO_OVERLAY -1 #ifdef CONFIG_FB_OVERLAY -# define FB_ACCL_TRANSP 0x01 /* Hardware tranparency support */ -# define FB_ACCL_CHROMA 0x02 /* Hardware chromakey support */ -# define FB_ACCL_COLOR 0x04 /* Hardware color support */ -# define FB_ACCL_AREA 0x08 /* Hardware support area selection */ +# define FB_ACCL_TRANSP 0x01 /* Hardware tranparency support */ Review Comment: could you move the style change to new patch? ########## include/nuttx/video/rgbcolors.h: ########## @@ -33,10 +33,9 @@ /* Color Creation and Conversion Macros *************************************/ -/* This macro creates RGB24 from 8:8:8 RGB */ - Review Comment: why change ########## include/nuttx/video/fb.h: ########## @@ -892,47 +930,94 @@ struct fb_fix_screeninfo struct fb_bitfield { - uint32_t offset; /* Beginning of bitfield */ - uint32_t length; /* Length of bitfield */ - uint32_t msb_right; /* != 0 : Most significant bit is right */ + uint32_t offset; /* Beginning of bitfield */ + uint32_t length; /* Length of bitfield */ + uint32_t msb_right; /* != 0 : Most significant bit is right */ }; struct fb_var_screeninfo { - uint32_t xres; /* Visible resolution */ + uint32_t xres; /* Visible resolution */ uint32_t yres; - uint32_t xres_virtual; /* Virtual resolution */ + uint32_t xres_virtual; /* Virtual resolution */ uint32_t yres_virtual; - uint32_t xoffset; /* Offset from virtual to visible */ - uint32_t yoffset; /* Resolution */ - uint32_t bits_per_pixel; /* Guess what */ - uint32_t grayscale; /* 0 = color, 1 = grayscale, >1 = FOURCC */ - struct fb_bitfield red; /* Bitfield in fb mem if true color, */ - struct fb_bitfield green; /* else only length is significant */ + uint32_t xoffset; /* Offset from virtual to visible */ + uint32_t yoffset; /* Resolution */ + uint32_t bits_per_pixel; /* Guess what */ + uint32_t grayscale; /* 0 = color, 1 = grayscale, >1 = FOURCC */ + struct fb_bitfield red; /* Bitfield in fb mem if true color, */ + struct fb_bitfield green; /* else only length is significant */ struct fb_bitfield blue; - struct fb_bitfield transp; /* Transparency */ - uint32_t nonstd; /* != 0 Non standard pixel format */ - uint32_t activate; /* See FB_ACTIVATE_* */ - uint32_t height; /* Height of picture in mm */ - uint32_t width; /* Width of picture in mm */ - uint32_t accel_flags; /* (OBSOLETE) See fb_info.flags */ + struct fb_bitfield transp; /* Transparency */ + uint32_t nonstd; /* != 0 Non standard pixel format */ + uint32_t activate; /* See FB_ACTIVATE_* */ + uint32_t height; /* Height of picture in mm */ + uint32_t width; /* Width of picture in mm */ + uint32_t accel_flags; /* (OBSOLETE) See fb_info.flags */ /* Timing: All values in pixclocks, except pixclock (of course) */ - uint32_t pixclock; /* Pixel clock in ps (pico seconds) */ - uint32_t left_margin; /* Time from sync to picture */ - uint32_t right_margin; /* Time from picture to sync */ - uint32_t upper_margin; /* Time from sync to picture */ + uint32_t pixclock; /* Pixel clock in ps (pico seconds) */ + uint32_t left_margin; /* Time from sync to picture */ + uint32_t right_margin; /* Time from picture to sync */ + uint32_t upper_margin; /* Time from sync to picture */ uint32_t lower_margin; - uint32_t hsync_len; /* Length of horizontal sync */ - uint32_t vsync_len; /* Length of vertical sync */ - uint32_t sync; /* See FB_SYNC_* */ - uint32_t vmode; /* See FB_VMODE_* */ - uint32_t rotate; /* Angle we rotate counter clockwise */ - uint32_t colorspace; /* Colorspace for FOURCC-based modes */ - uint32_t reserved[4]; /* Reserved for future compatibility */ + uint32_t hsync_len; /* Length of horizontal sync */ + uint32_t vsync_len; /* Length of vertical sync */ + uint32_t sync; /* See FB_SYNC_* */ + uint32_t vmode; /* See FB_VMODE_* */ + uint32_t rotate; /* Angle we rotate counter clockwise */ + uint32_t colorspace; /* Colorspace for FOURCC-based modes */ + uint32_t reserved[4]; /* Reserved for future compatibility */ +}; + +#ifdef CONFIG_VIDEO_FB_SPLASHSCREEN +# if defined(CONFIG_VIDEO_FB_SPLASHSCREEN_BPP8) || \ + defined(CONFIG_VIDEO_FB_SPLASHSCREEN_MONO) || \ + defined(CONFIG_VIDEO_FB_SPLASHSCREEN_GREY) + typedef uint8_t fb_pixel_t; +# elif defined(CONFIG_VIDEO_FB_SPLASHSCREEN_BPP16) + typedef uint16_t fb_pixel_t; + #elif defined(CONFIG_VIDEO_FB_SPLASHSCREEN_BPP24) + typedef uint32_t fb_pixel_t; +# elif defined(CONFIG_VIDEO_FB_SPLASHSCREEN_BPP32) + typedef uint32_t fb_pixel_t; +# else +# error "Pixel depth is unknown" +#endif + +/* Describes a point on the display */ + +struct fb_point_s +{ + fb_coord_t x; /* X position, range: 0 to screen width - 1 */ + fb_coord_t y; /* Y position, range: 0 to screen height - 1 */ }; +struct fb_rect_s +{ + struct fb_point_s pt1; /* Upper, left-hand corner */ + struct fb_point_s pt2; /* Lower, right-hand corner */ +}; + +/* This structure describes the splashscreen */ + +struct splscr_bitmap_s +{ + uint8_t npixels; /* Number of pixels */ + uint8_t lookup; /* Pixel RGB lookup index */ +}; + +struct palette_bitmap_s Review Comment: why not support the standard bitmap format? ########## include/nuttx/video/fb.h: ########## @@ -232,258 +232,296 @@ * fb_cursorattrib_s */ # define FBIOPUT_CURSOR _FBIOC(0x0006) /* Set cursor attributes */ /* Argument: read-only struct - * fb_setcursor_s */ + * fb_setcursor_s */ #endif #ifdef CONFIG_FB_UPDATE # define FBIO_UPDATE _FBIOC(0x0007) /* Update a rectangular region in * the framebuffer * Argument: read-only struct - * fb_area_s */ + * fb_area_s */ #endif #ifdef CONFIG_FB_SYNC -# define FBIO_WAITFORVSYNC _FBIOC(0x0008) /* Wait for vertical sync */ +# define FBIO_WAITFORVSYNC _FBIOC(0x0008) /* Wait for vertical sync */ #endif #ifdef CONFIG_FB_OVERLAY -# define FBIOGET_OVERLAYINFO _FBIOC(0x0009) /* Get video overlay info */ +# define FBIOGET_OVERLAYINFO _FBIOC(0x0009) /* Get video overlay info */ /* Argument: writable struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIO_SELECT_OVERLAY _FBIOC(0x000a) /* Select overlay */ /* Argument: read-only * unsigned long */ # define FBIOSET_TRANSP _FBIOC(0x000b) /* Set opacity or transparency * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_CHROMAKEY _FBIOC(0x000c) /* Set chroma key * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_COLOR _FBIOC(0x000d) /* Set color * Aŕgument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_BLANK _FBIOC(0x000e) /* Blank or unblank * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_AREA _FBIOC(0x000f) /* Set active overlay area * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_DESTAREA _FBIOC(0x0010) /* Set destination area on * primary FB. * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ #ifdef CONFIG_FB_OVERLAY_BLIT # define FBIOSET_BLIT _FBIOC(0x0011) /* Blit area between overlays * Argument: read-only struct - * fb_overlayblit_s */ + * fb_overlayblit_s */ # define FBIOSET_BLEND _FBIOC(0x0012) /* Blend area between overlays * Argument: read-only struct * fb_overlayblend_s */ #endif #define FBIOPAN_OVERLAY _FBIOC(0x0013) /* Pan display for overlay * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ #endif /* CONFIG_FB_OVERLAY */ /* Specific Controls ********************************************************/ #define FBIOSET_POWER _FBIOC(0x0014) /* Set panel power - * Argument: int */ + * Argument: int */ #define FBIOGET_POWER _FBIOC(0x0015) /* Get panel current power - * Argument: int* */ + * Argument: int* */ #define FBIOSET_FRAMERATE _FBIOC(0x0016) /* Set frame rate - * Argument: int */ + * Argument: int */ #define FBIOGET_FRAMERATE _FBIOC(0x0017) /* Get frame rate - * Argument: int* */ + * Argument: int* */ #define FBIOPAN_DISPLAY _FBIOC(0x0018) /* Pan display * Argument: read-only struct - * fb_planeinfo_s* */ + * fb_planeinfo_s* */ -#define FBIOPAN_CLEAR _FBIOC(0x0019) /* Pan clear */ +#define FBIOPAN_CLEAR _FBIOC(0x0019) /* Pan clear */ /* Argument: read-only - * unsigned long */ + * unsigned long */ #define FBIOSET_VSYNCOFFSET _FBIOC(0x001a) /* Set VSync offset in usec - * Argument: int */ + * Argument: int */ /* Linux Support ************************************************************/ -#define FBIOGET_VSCREENINFO _FBIOC(0x001b) /* Get video variable info */ +#define FBIOGET_VSCREENINFO _FBIOC(0x001b) /* Get video variable info */ /* Argument: writable struct * fb_var_screeninfo */ -#define FBIOGET_FSCREENINFO _FBIOC(0x001c) /* Get video fix info */ +#define FBIOGET_FSCREENINFO _FBIOC(0x001c) /* Get video fix info */ /* Argument: writable struct * fb_fix_screeninfo */ -#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ -#define FB_TYPE_PLANES 1 /* Non interleaved planes */ -#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */ -#define FB_TYPE_TEXT 3 /* Text/attributes */ -#define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */ -#define FB_TYPE_FOURCC 5 /* Type identified by a V4L2 FOURCC */ - -#define FB_AUX_TEXT_MDA 0 /* Monochrome text */ -#define FB_AUX_TEXT_CGA 1 /* CGA/EGA/VGA Color text */ -#define FB_AUX_TEXT_S3_MMIO 2 /* S3 MMIO fasttext */ -#define FB_AUX_TEXT_MGA_STEP16 3 /* MGA Millenium I: text, attr, */ - /* 14 reserved bytes */ -#define FB_AUX_TEXT_MGA_STEP8 4 /* other MGAs: text, attr, */ - /* 6 reserved bytes */ -#define FB_AUX_TEXT_SVGA_GROUP 8 /* 8-15: SVGA tileblit */ - /* compatible modes */ -#define FB_AUX_TEXT_SVGA_MASK 7 /* lower three bits says step */ -#define FB_AUX_TEXT_SVGA_STEP2 8 /* SVGA text mode: text, attr */ -#define FB_AUX_TEXT_SVGA_STEP4 9 /* SVGA text mode: text, attr, */ - /* 2 reserved bytes */ -#define FB_AUX_TEXT_SVGA_STEP8 10 /* SVGA text mode: text, attr, */ - /* 6 reserved bytes */ -#define FB_AUX_TEXT_SVGA_STEP16 11 /* SVGA text mode: text, attr, */ - /* 14 reserved bytes */ -#define FB_AUX_TEXT_SVGA_LAST 15 /* reserved up to 15 */ - -#define FB_AUX_VGA_PLANES_VGA4 0 /* 16 color planes (EGA/VGA) */ -#define FB_AUX_VGA_PLANES_CFB4 1 /* CFB4 in planes (VGA) */ -#define FB_AUX_VGA_PLANES_CFB8 2 /* CFB8 in planes (VGA) */ - -#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */ -#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */ -#define FB_VISUAL_TRUECOLOR 2 /* True color */ -#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */ -#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */ -#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */ -#define FB_VISUAL_FOURCC 6 /* Visual identified by */ - /* a V4L2 FOURCC */ - -#define FB_ACCEL_NONE 0 /* no hardware accelerator */ -#define FB_ACCEL_ATARIBLITT 1 /* Atari Blitter */ -#define FB_ACCEL_AMIGABLITT 2 /* Amiga Blitter */ -#define FB_ACCEL_S3_TRIO64 3 /* Cybervision64 (S3 Trio64) */ -#define FB_ACCEL_NCR_77C32BLT 4 /* RetinaZ3 (NCR 77C32BLT) */ -#define FB_ACCEL_S3_VIRGE 5 /* Cybervision64/3D (S3 ViRGE) */ -#define FB_ACCEL_ATI_MACH64GX 6 /* ATI Mach 64GX family */ -#define FB_ACCEL_DEC_TGA 7 /* DEC 21030 TGA */ -#define FB_ACCEL_ATI_MACH64CT 8 /* ATI Mach 64CT family */ -#define FB_ACCEL_ATI_MACH64VT 9 /* ATI Mach 64CT family VT class */ -#define FB_ACCEL_ATI_MACH64GT 10 /* ATI Mach 64CT family GT class */ -#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */ -#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */ -#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */ -#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */ -#define FB_ACCEL_3DLABS_PERMEDIA2 15 /* 3Dlabs Permedia 2 */ -#define FB_ACCEL_MATROX_MGA2064W 16 /* Matrox MGA2064W (Millenium) */ -#define FB_ACCEL_MATROX_MGA1064SG 17 /* Matrox MGA1064SG (Mystique) */ -#define FB_ACCEL_MATROX_MGA2164W 18 /* Matrox MGA2164W (Millenium II) */ -#define FB_ACCEL_MATROX_MGA2164W_AGP 19 /* Matrox MGA2164W (Millenium II) */ -#define FB_ACCEL_MATROX_MGAG100 20 /* Matrox G100 (Productiva G100) */ -#define FB_ACCEL_MATROX_MGAG200 21 /* Matrox G200 (Myst, Mill, ...) */ -#define FB_ACCEL_SUN_CG14 22 /* Sun cgfourteen */ -#define FB_ACCEL_SUN_BWTWO 23 /* Sun bwtwo */ -#define FB_ACCEL_SUN_CGTHREE 24 /* Sun cgthree */ -#define FB_ACCEL_SUN_TCX 25 /* Sun tcx */ -#define FB_ACCEL_MATROX_MGAG400 26 /* Matrox G400 */ -#define FB_ACCEL_NV3 27 /* nVidia RIVA 128 */ -#define FB_ACCEL_NV4 28 /* nVidia RIVA TNT */ -#define FB_ACCEL_NV5 29 /* nVidia RIVA TNT2 */ -#define FB_ACCEL_CT_6555x 30 /* C&T 6555x */ -#define FB_ACCEL_3DFX_BANSHEE 31 /* 3Dfx Banshee */ -#define FB_ACCEL_ATI_RAGE128 32 /* ATI Rage128 family */ -#define FB_ACCEL_IGS_CYBER2000 33 /* CyberPro 2000 */ -#define FB_ACCEL_IGS_CYBER2010 34 /* CyberPro 2010 */ -#define FB_ACCEL_IGS_CYBER5000 35 /* CyberPro 5000 */ -#define FB_ACCEL_SIS_GLAMOUR 36 /* SiS 300/630/540 */ -#define FB_ACCEL_3DLABS_PERMEDIA3 37 /* 3Dlabs Permedia 3 */ -#define FB_ACCEL_ATI_RADEON 38 /* ATI Radeon family */ -#define FB_ACCEL_I810 39 /* Intel 810/815 */ -#define FB_ACCEL_SIS_GLAMOUR_2 40 /* SiS 315, 650, 740 */ -#define FB_ACCEL_SIS_XABRE 41 /* SiS 330 ("Xabre") */ -#define FB_ACCEL_I830 42 /* Intel 830M/845G/85x/865G */ -#define FB_ACCEL_NV_10 43 /* nVidia Arch 10 */ -#define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */ -#define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */ -#define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */ -#define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */ -#define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */ -#define FB_ACCEL_OMAP1610 49 /* TI OMAP16xx */ -#define FB_ACCEL_TRIDENT_TGUI 50 /* Trident TGUI */ -#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */ -#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */ -#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */ -#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */ -#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ -#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ -#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ -#define FB_ACCEL_NEOMAGIC_NM2097 93 /* NeoMagic NM2097 */ -#define FB_ACCEL_NEOMAGIC_NM2160 94 /* NeoMagic NM2160 */ -#define FB_ACCEL_NEOMAGIC_NM2200 95 /* NeoMagic NM2200 */ -#define FB_ACCEL_NEOMAGIC_NM2230 96 /* NeoMagic NM2230 */ -#define FB_ACCEL_NEOMAGIC_NM2360 97 /* NeoMagic NM2360 */ -#define FB_ACCEL_NEOMAGIC_NM2380 98 /* NeoMagic NM2380 */ -#define FB_ACCEL_PXA3XX 99 /* PXA3xx */ - -#define FB_ACCEL_SAVAGE4 0x80 /* S3 Savage4 */ -#define FB_ACCEL_SAVAGE3D 0x81 /* S3 Savage3D */ -#define FB_ACCEL_SAVAGE3D_MV 0x82 /* S3 Savage3D-MV */ -#define FB_ACCEL_SAVAGE2000 0x83 /* S3 Savage2000 */ -#define FB_ACCEL_SAVAGE_MX_MV 0x84 /* S3 Savage/MX-MV */ -#define FB_ACCEL_SAVAGE_MX 0x85 /* S3 Savage/MX */ -#define FB_ACCEL_SAVAGE_IX_MV 0x86 /* S3 Savage/IX-MV */ -#define FB_ACCEL_SAVAGE_IX 0x87 /* S3 Savage/IX */ -#define FB_ACCEL_PROSAVAGE_PM 0x88 /* S3 ProSavage PM133 */ -#define FB_ACCEL_PROSAVAGE_KM 0x89 /* S3 ProSavage KM133 */ -#define FB_ACCEL_S3TWISTER_P 0x8a /* S3 Twister */ -#define FB_ACCEL_S3TWISTER_K 0x8b /* S3 TwisterK */ -#define FB_ACCEL_SUPERSAVAGE 0x8c /* S3 Supersavage */ -#define FB_ACCEL_PROSAVAGE_DDR 0x8d /* S3 ProSavage DDR */ -#define FB_ACCEL_PROSAVAGE_DDRK 0x8e /* S3 ProSavage DDR-K */ - -#define FB_ACCEL_PUV3_UNIGFX 0xa0 /* PKUnity-v3 Unigfx */ - -#define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */ -#define FB_NONSTD_REV_PIX_IN_B 2 /* Order of pixels in each byte */ - /* is reversed */ - -#define FB_ACTIVATE_NOW 0 /* Set values immediately (or vbl) */ -#define FB_ACTIVATE_NXTOPEN 1 /* Activate on next open */ -#define FB_ACTIVATE_TEST 2 /* Don't set, round up impossible */ -#define FB_ACTIVATE_MASK 15 /* values */ -#define FB_ACTIVATE_VBL 16 /* Activate values on next vbl */ -#define FB_CHANGE_CMAP_VBL 32 /* Change colormap on vbl */ -#define FB_ACTIVATE_ALL 64 /* Change all VCs on this fb */ -#define FB_ACTIVATE_FORCE 128 /* Force apply even when no change */ -#define FB_ACTIVATE_INV_MODE 256 /* Invalidate videomode */ - -#define FB_ACCELF_TEXT 1 /* (OBSOLETE) See fb_info.flags */ - /* and vc_mode */ - -#define FB_SYNC_HOR_HIGH_ACT 1 /* Horizontal sync high active */ -#define FB_SYNC_VERT_HIGH_ACT 2 /* Vertical sync high active */ -#define FB_SYNC_EXT 4 /* External sync */ -#define FB_SYNC_COMP_HIGH_ACT 8 /* Composite sync high active */ -#define FB_SYNC_BROADCAST 16 /* Broadcast video timings */ - /* vtotal = 144d/288n/576i => PAL */ - /* vtotal = 121d/242n/484i => NTSC */ -#define FB_SYNC_ON_GREEN 32 /* Sync on green */ - -#define FB_VMODE_NONINTERLACED 0 /* Non interlaced */ -#define FB_VMODE_INTERLACED 1 /* Interlaced */ -#define FB_VMODE_DOUBLE 2 /* Double scan */ -#define FB_VMODE_ODD_FLD_FIRST 4 /* Interlaced: top line first */ +#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ +#define FB_TYPE_PLANES 1 /* Non interleaved planes */ +#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */ +#define FB_TYPE_TEXT 3 /* Text/attributes */ +#define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */ +#define FB_TYPE_FOURCC 5 /* Iidentified by a V4L2 FOURCC */ + +#define FB_AUX_TEXT_MDA 0 /* Monochrome text */ +#define FB_AUX_TEXT_CGA 1 /* CGA/EGA/VGA Color text */ +#define FB_AUX_TEXT_S3_MMIO 2 /* S3 MMIO fasttext */ +#define FB_AUX_TEXT_MGA_STEP16 3 /* MGA Millenium I: text, attr, */ + /* 14 reserved bytes */ +#define FB_AUX_TEXT_MGA_STEP8 4 /* other MGAs: text, attr, */ + /* 6 reserved bytes */ +#define FB_AUX_TEXT_SVGA_GROUP 8 /* 8-15: SVGA tileblit */ + /* compatible modes */ +#define FB_AUX_TEXT_SVGA_MASK 7 /* lower three bits says step */ +#define FB_AUX_TEXT_SVGA_STEP2 8 /* SVGA text mode: text, attr */ +#define FB_AUX_TEXT_SVGA_STEP4 9 /* SVGA text mode: text, attr, */ + /* 2 reserved bytes */ +#define FB_AUX_TEXT_SVGA_STEP8 10 /* SVGA text mode: text, attr, */ + /* 6 reserved bytes */ +#define FB_AUX_TEXT_SVGA_STEP16 11 /* SVGA text mode: text, attr, */ + /* 14 reserved bytes */ +#define FB_AUX_TEXT_SVGA_LAST 15 /* reserved up to 15 */ + +#define FB_AUX_VGA_PLANES_VGA4 0 /* 16 color planes (EGA/VGA) */ +#define FB_AUX_VGA_PLANES_CFB4 1 /* CFB4 in planes (VGA) */ +#define FB_AUX_VGA_PLANES_CFB8 2 /* CFB8 in planes (VGA) */ + +#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */ +#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */ +#define FB_VISUAL_TRUECOLOR 2 /* True color */ +#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */ +#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */ +#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */ +#define FB_VISUAL_FOURCC 6 /* Visual identified by */ + /* a V4L2 FOURCC */ + +#define FB_ACCEL_NONE 0 /* no hardware accelerator */ +#define FB_ACCEL_ATARIBLITT 1 /* Atari Blitter */ +#define FB_ACCEL_AMIGABLITT 2 /* Amiga Blitter */ +#define FB_ACCEL_S3_TRIO64 3 /* Cybervision64 (S3 Trio64) */ +#define FB_ACCEL_NCR_77C32BLT 4 /* RetinaZ3 (NCR 77C32BLT) */ +#define FB_ACCEL_S3_VIRGE 5 /* Cybervision64/3D (S3 ViRGE) */ +#define FB_ACCEL_ATI_MACH64GX 6 /* ATI Mach 64GX family */ +#define FB_ACCEL_DEC_TGA 7 /* DEC 21030 TGA */ +#define FB_ACCEL_ATI_MACH64CT 8 /* ATI Mach 64CT family */ +#define FB_ACCEL_ATI_MACH64VT 9 /* ATI Mach 64CT family VT class */ +#define FB_ACCEL_ATI_MACH64GT 10 /* ATI Mach 64CT family GT class */ +#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */ +#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */ +#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */ +#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */ +#define FB_ACCEL_3DLABS_PERMEDIA2 15 /* 3Dlabs Permedia 2 */ +#define FB_ACCEL_MATROX_MGA2064W 16 /* Matrox MGA2064W (Millenium) */ +#define FB_ACCEL_MATROX_MGA1064SG 17 /* Matrox MGA1064SG (Mystique) */ +#define FB_ACCEL_MATROX_MGA2164W 18 /* Matrox MGA2164W (Millenium II) */ +#define FB_ACCEL_MATROX_MGA2164W_AGP 19 /* Matrox MGA2164W (Millenium II) */ +#define FB_ACCEL_MATROX_MGAG100 20 /* Matrox G100 (Productiva G100) */ +#define FB_ACCEL_MATROX_MGAG200 21 /* Matrox G200 (Myst, Mill, ...) */ +#define FB_ACCEL_SUN_CG14 22 /* Sun cgfourteen */ +#define FB_ACCEL_SUN_BWTWO 23 /* Sun bwtwo */ +#define FB_ACCEL_SUN_CGTHREE 24 /* Sun cgthree */ +#define FB_ACCEL_SUN_TCX 25 /* Sun tcx */ +#define FB_ACCEL_MATROX_MGAG400 26 /* Matrox G400 */ +#define FB_ACCEL_NV3 27 /* nVidia RIVA 128 */ +#define FB_ACCEL_NV4 28 /* nVidia RIVA TNT */ +#define FB_ACCEL_NV5 29 /* nVidia RIVA TNT2 */ +#define FB_ACCEL_CT_6555x 30 /* C&T 6555x */ +#define FB_ACCEL_3DFX_BANSHEE 31 /* 3Dfx Banshee */ +#define FB_ACCEL_ATI_RAGE128 32 /* ATI Rage128 family */ +#define FB_ACCEL_IGS_CYBER2000 33 /* CyberPro 2000 */ +#define FB_ACCEL_IGS_CYBER2010 34 /* CyberPro 2010 */ +#define FB_ACCEL_IGS_CYBER5000 35 /* CyberPro 5000 */ +#define FB_ACCEL_SIS_GLAMOUR 36 /* SiS 300/630/540 */ +#define FB_ACCEL_3DLABS_PERMEDIA3 37 /* 3Dlabs Permedia 3 */ +#define FB_ACCEL_ATI_RADEON 38 /* ATI Radeon family */ +#define FB_ACCEL_I810 39 /* Intel 810/815 */ +#define FB_ACCEL_SIS_GLAMOUR_2 40 /* SiS 315, 650, 740 */ +#define FB_ACCEL_SIS_XABRE 41 /* SiS 330 ("Xabre") */ +#define FB_ACCEL_I830 42 /* Intel 830M/845G/85x/865G */ +#define FB_ACCEL_NV_10 43 /* nVidia Arch 10 */ +#define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */ +#define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */ +#define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */ +#define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */ +#define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */ +#define FB_ACCEL_OMAP1610 49 /* TI OMAP16xx */ +#define FB_ACCEL_TRIDENT_TGUI 50 /* Trident TGUI */ +#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */ +#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */ +#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */ +#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */ +#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ +#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ +#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ +#define FB_ACCEL_NEOMAGIC_NM2097 93 /* NeoMagic NM2097 */ +#define FB_ACCEL_NEOMAGIC_NM2160 94 /* NeoMagic NM2160 */ +#define FB_ACCEL_NEOMAGIC_NM2200 95 /* NeoMagic NM2200 */ +#define FB_ACCEL_NEOMAGIC_NM2230 96 /* NeoMagic NM2230 */ +#define FB_ACCEL_NEOMAGIC_NM2360 97 /* NeoMagic NM2360 */ +#define FB_ACCEL_NEOMAGIC_NM2380 98 /* NeoMagic NM2380 */ +#define FB_ACCEL_PXA3XX 99 /* PXA3xx */ + +#define FB_ACCEL_SAVAGE4 0x80 /* S3 Savage4 */ +#define FB_ACCEL_SAVAGE3D 0x81 /* S3 Savage3D */ +#define FB_ACCEL_SAVAGE3D_MV 0x82 /* S3 Savage3D-MV */ +#define FB_ACCEL_SAVAGE2000 0x83 /* S3 Savage2000 */ +#define FB_ACCEL_SAVAGE_MX_MV 0x84 /* S3 Savage/MX-MV */ +#define FB_ACCEL_SAVAGE_MX 0x85 /* S3 Savage/MX */ +#define FB_ACCEL_SAVAGE_IX_MV 0x86 /* S3 Savage/IX-MV */ +#define FB_ACCEL_SAVAGE_IX 0x87 /* S3 Savage/IX */ +#define FB_ACCEL_PROSAVAGE_PM 0x88 /* S3 ProSavage PM133 */ +#define FB_ACCEL_PROSAVAGE_KM 0x89 /* S3 ProSavage KM133 */ +#define FB_ACCEL_S3TWISTER_P 0x8a /* S3 Twister */ +#define FB_ACCEL_S3TWISTER_K 0x8b /* S3 TwisterK */ +#define FB_ACCEL_SUPERSAVAGE 0x8c /* S3 Supersavage */ +#define FB_ACCEL_PROSAVAGE_DDR 0x8d /* S3 ProSavage DDR */ +#define FB_ACCEL_PROSAVAGE_DDRK 0x8e /* S3 ProSavage DDR-K */ + +#define FB_ACCEL_PUV3_UNIGFX 0xa0 /* PKUnity-v3 Unigfx */ + +#define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */ +#define FB_NONSTD_REV_PIX_IN_B 2 /* Order of pixels in each byte */ + /* is reversed */ + +#define FB_ACTIVATE_NOW 0 /* Set valus immediately (or vbl) */ +#define FB_ACTIVATE_NXTOPEN 1 /* Activate on next open */ +#define FB_ACTIVATE_TEST 2 /* Don't set, round up impossible */ +#define FB_ACTIVATE_MASK 15 /* values */ +#define FB_ACTIVATE_VBL 16 /* Activate values on next vbl */ +#define FB_CHANGE_CMAP_VBL 32 /* Change colormap on vbl */ +#define FB_ACTIVATE_ALL 64 /* Change all VCs on this fb */ +#define FB_ACTIVATE_FORCE 128 /* Force apply even if no change */ +#define FB_ACTIVATE_INV_MODE 256 /* Invalidate videomode */ + +#define FB_ACCELF_TEXT 1 /* (OBSOLETE) See fb_info.flags */ + /* and vc_mode */ + +#define FB_SYNC_HOR_HIGH_ACT 1 /* Horizontal sync high active */ +#define FB_SYNC_VERT_HIGH_ACT 2 /* Vertical sync high active */ +#define FB_SYNC_EXT 4 /* External sync */ +#define FB_SYNC_COMP_HIGH_ACT 8 /* Composite sync high active */ +#define FB_SYNC_BROADCAST 16 /* Broadcast video timings */ + /* vtotal = 144d/288n/576i - PAL */ + /* vtotal = 121d/242n/484i - NTSC */ +#define FB_SYNC_ON_GREEN 32 /* Sync on green */ + +#define FB_VMODE_NONINTERLACED 0 /* Non interlaced */ +#define FB_VMODE_INTERLACED 1 /* Interlaced */ +#define FB_VMODE_DOUBLE 2 /* Double scan */ +#define FB_VMODE_ODD_FLD_FIRST 4 /* Interlaced: top line first */ #define FB_VMODE_MASK 255 -#define FB_VMODE_YWRAP 256 /* Ywrap instead of panning */ -#define FB_VMODE_SMOOTH_XPAN 512 /* Smooth xpan possible */ - /* (internally used) */ -#define FB_VMODE_CONUPDATE 512 /* Don't update x/yoffset */ +#define FB_VMODE_YWRAP 256 /* Ywrap instead of panning */ +#define FB_VMODE_SMOOTH_XPAN 512 /* Smooth xpan possible */ + /* (internally used) */ +#define FB_VMODE_CONUPDATE 512 /* Don't update x/yoffset */ #define FB_ROTATE_UR 0 #define FB_ROTATE_CW 1 #define FB_ROTATE_UD 2 #define FB_ROTATE_CCW 3 +#define ARGBTO32(a,r,g,b) \ + ((uint32_t)((a) & 0xff) << 24 | (uint32_t)((r) & 0xff) << 16 | \ + (uint32_t)((g) & 0xff) << 8 | (uint32_t)((b) & 0xff)) + +#define RGBTO24(r,g,b) \ + ((uint32_t)((r) & 0xff) << 16 | (uint32_t)((g) & 0xff) << 8 | \ + (uint32_t)((b) & 0xff)) + +#define RGBTO16(r,g,b) \ + ((((uint16_t)(r) << 8) & 0xf800) | (((uint16_t)(g) << 3) & 0x07e0) | \ + (((uint16_t)(b) >> 3) & 0x001f)) + +#define RGBTO8(r,g,b) \ + ((((uint8_t)(r) << 5) & 0xe0) | (((uint8_t)(g) << 2) & 0x1c) | \ + ((uint8_t)(b) & 0x03)) + +#ifdef CONFIG_VIDEO_FB_SPLASHSCREEN Review Comment: move to source file ########## include/nuttx/video/fb.h: ########## @@ -232,258 +232,296 @@ * fb_cursorattrib_s */ # define FBIOPUT_CURSOR _FBIOC(0x0006) /* Set cursor attributes */ /* Argument: read-only struct - * fb_setcursor_s */ + * fb_setcursor_s */ #endif #ifdef CONFIG_FB_UPDATE # define FBIO_UPDATE _FBIOC(0x0007) /* Update a rectangular region in * the framebuffer * Argument: read-only struct - * fb_area_s */ + * fb_area_s */ #endif #ifdef CONFIG_FB_SYNC -# define FBIO_WAITFORVSYNC _FBIOC(0x0008) /* Wait for vertical sync */ +# define FBIO_WAITFORVSYNC _FBIOC(0x0008) /* Wait for vertical sync */ #endif #ifdef CONFIG_FB_OVERLAY -# define FBIOGET_OVERLAYINFO _FBIOC(0x0009) /* Get video overlay info */ +# define FBIOGET_OVERLAYINFO _FBIOC(0x0009) /* Get video overlay info */ /* Argument: writable struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIO_SELECT_OVERLAY _FBIOC(0x000a) /* Select overlay */ /* Argument: read-only * unsigned long */ # define FBIOSET_TRANSP _FBIOC(0x000b) /* Set opacity or transparency * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_CHROMAKEY _FBIOC(0x000c) /* Set chroma key * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_COLOR _FBIOC(0x000d) /* Set color * Aŕgument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_BLANK _FBIOC(0x000e) /* Blank or unblank * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_AREA _FBIOC(0x000f) /* Set active overlay area * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ # define FBIOSET_DESTAREA _FBIOC(0x0010) /* Set destination area on * primary FB. * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ #ifdef CONFIG_FB_OVERLAY_BLIT # define FBIOSET_BLIT _FBIOC(0x0011) /* Blit area between overlays * Argument: read-only struct - * fb_overlayblit_s */ + * fb_overlayblit_s */ # define FBIOSET_BLEND _FBIOC(0x0012) /* Blend area between overlays * Argument: read-only struct * fb_overlayblend_s */ #endif #define FBIOPAN_OVERLAY _FBIOC(0x0013) /* Pan display for overlay * Argument: read-only struct - * fb_overlayinfo_s */ + * fb_overlayinfo_s */ #endif /* CONFIG_FB_OVERLAY */ /* Specific Controls ********************************************************/ #define FBIOSET_POWER _FBIOC(0x0014) /* Set panel power - * Argument: int */ + * Argument: int */ #define FBIOGET_POWER _FBIOC(0x0015) /* Get panel current power - * Argument: int* */ + * Argument: int* */ #define FBIOSET_FRAMERATE _FBIOC(0x0016) /* Set frame rate - * Argument: int */ + * Argument: int */ #define FBIOGET_FRAMERATE _FBIOC(0x0017) /* Get frame rate - * Argument: int* */ + * Argument: int* */ #define FBIOPAN_DISPLAY _FBIOC(0x0018) /* Pan display * Argument: read-only struct - * fb_planeinfo_s* */ + * fb_planeinfo_s* */ -#define FBIOPAN_CLEAR _FBIOC(0x0019) /* Pan clear */ +#define FBIOPAN_CLEAR _FBIOC(0x0019) /* Pan clear */ /* Argument: read-only - * unsigned long */ + * unsigned long */ #define FBIOSET_VSYNCOFFSET _FBIOC(0x001a) /* Set VSync offset in usec - * Argument: int */ + * Argument: int */ /* Linux Support ************************************************************/ -#define FBIOGET_VSCREENINFO _FBIOC(0x001b) /* Get video variable info */ +#define FBIOGET_VSCREENINFO _FBIOC(0x001b) /* Get video variable info */ /* Argument: writable struct * fb_var_screeninfo */ -#define FBIOGET_FSCREENINFO _FBIOC(0x001c) /* Get video fix info */ +#define FBIOGET_FSCREENINFO _FBIOC(0x001c) /* Get video fix info */ /* Argument: writable struct * fb_fix_screeninfo */ -#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ -#define FB_TYPE_PLANES 1 /* Non interleaved planes */ -#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */ -#define FB_TYPE_TEXT 3 /* Text/attributes */ -#define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */ -#define FB_TYPE_FOURCC 5 /* Type identified by a V4L2 FOURCC */ - -#define FB_AUX_TEXT_MDA 0 /* Monochrome text */ -#define FB_AUX_TEXT_CGA 1 /* CGA/EGA/VGA Color text */ -#define FB_AUX_TEXT_S3_MMIO 2 /* S3 MMIO fasttext */ -#define FB_AUX_TEXT_MGA_STEP16 3 /* MGA Millenium I: text, attr, */ - /* 14 reserved bytes */ -#define FB_AUX_TEXT_MGA_STEP8 4 /* other MGAs: text, attr, */ - /* 6 reserved bytes */ -#define FB_AUX_TEXT_SVGA_GROUP 8 /* 8-15: SVGA tileblit */ - /* compatible modes */ -#define FB_AUX_TEXT_SVGA_MASK 7 /* lower three bits says step */ -#define FB_AUX_TEXT_SVGA_STEP2 8 /* SVGA text mode: text, attr */ -#define FB_AUX_TEXT_SVGA_STEP4 9 /* SVGA text mode: text, attr, */ - /* 2 reserved bytes */ -#define FB_AUX_TEXT_SVGA_STEP8 10 /* SVGA text mode: text, attr, */ - /* 6 reserved bytes */ -#define FB_AUX_TEXT_SVGA_STEP16 11 /* SVGA text mode: text, attr, */ - /* 14 reserved bytes */ -#define FB_AUX_TEXT_SVGA_LAST 15 /* reserved up to 15 */ - -#define FB_AUX_VGA_PLANES_VGA4 0 /* 16 color planes (EGA/VGA) */ -#define FB_AUX_VGA_PLANES_CFB4 1 /* CFB4 in planes (VGA) */ -#define FB_AUX_VGA_PLANES_CFB8 2 /* CFB8 in planes (VGA) */ - -#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */ -#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */ -#define FB_VISUAL_TRUECOLOR 2 /* True color */ -#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */ -#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */ -#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */ -#define FB_VISUAL_FOURCC 6 /* Visual identified by */ - /* a V4L2 FOURCC */ - -#define FB_ACCEL_NONE 0 /* no hardware accelerator */ -#define FB_ACCEL_ATARIBLITT 1 /* Atari Blitter */ -#define FB_ACCEL_AMIGABLITT 2 /* Amiga Blitter */ -#define FB_ACCEL_S3_TRIO64 3 /* Cybervision64 (S3 Trio64) */ -#define FB_ACCEL_NCR_77C32BLT 4 /* RetinaZ3 (NCR 77C32BLT) */ -#define FB_ACCEL_S3_VIRGE 5 /* Cybervision64/3D (S3 ViRGE) */ -#define FB_ACCEL_ATI_MACH64GX 6 /* ATI Mach 64GX family */ -#define FB_ACCEL_DEC_TGA 7 /* DEC 21030 TGA */ -#define FB_ACCEL_ATI_MACH64CT 8 /* ATI Mach 64CT family */ -#define FB_ACCEL_ATI_MACH64VT 9 /* ATI Mach 64CT family VT class */ -#define FB_ACCEL_ATI_MACH64GT 10 /* ATI Mach 64CT family GT class */ -#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */ -#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */ -#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */ -#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */ -#define FB_ACCEL_3DLABS_PERMEDIA2 15 /* 3Dlabs Permedia 2 */ -#define FB_ACCEL_MATROX_MGA2064W 16 /* Matrox MGA2064W (Millenium) */ -#define FB_ACCEL_MATROX_MGA1064SG 17 /* Matrox MGA1064SG (Mystique) */ -#define FB_ACCEL_MATROX_MGA2164W 18 /* Matrox MGA2164W (Millenium II) */ -#define FB_ACCEL_MATROX_MGA2164W_AGP 19 /* Matrox MGA2164W (Millenium II) */ -#define FB_ACCEL_MATROX_MGAG100 20 /* Matrox G100 (Productiva G100) */ -#define FB_ACCEL_MATROX_MGAG200 21 /* Matrox G200 (Myst, Mill, ...) */ -#define FB_ACCEL_SUN_CG14 22 /* Sun cgfourteen */ -#define FB_ACCEL_SUN_BWTWO 23 /* Sun bwtwo */ -#define FB_ACCEL_SUN_CGTHREE 24 /* Sun cgthree */ -#define FB_ACCEL_SUN_TCX 25 /* Sun tcx */ -#define FB_ACCEL_MATROX_MGAG400 26 /* Matrox G400 */ -#define FB_ACCEL_NV3 27 /* nVidia RIVA 128 */ -#define FB_ACCEL_NV4 28 /* nVidia RIVA TNT */ -#define FB_ACCEL_NV5 29 /* nVidia RIVA TNT2 */ -#define FB_ACCEL_CT_6555x 30 /* C&T 6555x */ -#define FB_ACCEL_3DFX_BANSHEE 31 /* 3Dfx Banshee */ -#define FB_ACCEL_ATI_RAGE128 32 /* ATI Rage128 family */ -#define FB_ACCEL_IGS_CYBER2000 33 /* CyberPro 2000 */ -#define FB_ACCEL_IGS_CYBER2010 34 /* CyberPro 2010 */ -#define FB_ACCEL_IGS_CYBER5000 35 /* CyberPro 5000 */ -#define FB_ACCEL_SIS_GLAMOUR 36 /* SiS 300/630/540 */ -#define FB_ACCEL_3DLABS_PERMEDIA3 37 /* 3Dlabs Permedia 3 */ -#define FB_ACCEL_ATI_RADEON 38 /* ATI Radeon family */ -#define FB_ACCEL_I810 39 /* Intel 810/815 */ -#define FB_ACCEL_SIS_GLAMOUR_2 40 /* SiS 315, 650, 740 */ -#define FB_ACCEL_SIS_XABRE 41 /* SiS 330 ("Xabre") */ -#define FB_ACCEL_I830 42 /* Intel 830M/845G/85x/865G */ -#define FB_ACCEL_NV_10 43 /* nVidia Arch 10 */ -#define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */ -#define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */ -#define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */ -#define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */ -#define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */ -#define FB_ACCEL_OMAP1610 49 /* TI OMAP16xx */ -#define FB_ACCEL_TRIDENT_TGUI 50 /* Trident TGUI */ -#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */ -#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */ -#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */ -#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */ -#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ -#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ -#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ -#define FB_ACCEL_NEOMAGIC_NM2097 93 /* NeoMagic NM2097 */ -#define FB_ACCEL_NEOMAGIC_NM2160 94 /* NeoMagic NM2160 */ -#define FB_ACCEL_NEOMAGIC_NM2200 95 /* NeoMagic NM2200 */ -#define FB_ACCEL_NEOMAGIC_NM2230 96 /* NeoMagic NM2230 */ -#define FB_ACCEL_NEOMAGIC_NM2360 97 /* NeoMagic NM2360 */ -#define FB_ACCEL_NEOMAGIC_NM2380 98 /* NeoMagic NM2380 */ -#define FB_ACCEL_PXA3XX 99 /* PXA3xx */ - -#define FB_ACCEL_SAVAGE4 0x80 /* S3 Savage4 */ -#define FB_ACCEL_SAVAGE3D 0x81 /* S3 Savage3D */ -#define FB_ACCEL_SAVAGE3D_MV 0x82 /* S3 Savage3D-MV */ -#define FB_ACCEL_SAVAGE2000 0x83 /* S3 Savage2000 */ -#define FB_ACCEL_SAVAGE_MX_MV 0x84 /* S3 Savage/MX-MV */ -#define FB_ACCEL_SAVAGE_MX 0x85 /* S3 Savage/MX */ -#define FB_ACCEL_SAVAGE_IX_MV 0x86 /* S3 Savage/IX-MV */ -#define FB_ACCEL_SAVAGE_IX 0x87 /* S3 Savage/IX */ -#define FB_ACCEL_PROSAVAGE_PM 0x88 /* S3 ProSavage PM133 */ -#define FB_ACCEL_PROSAVAGE_KM 0x89 /* S3 ProSavage KM133 */ -#define FB_ACCEL_S3TWISTER_P 0x8a /* S3 Twister */ -#define FB_ACCEL_S3TWISTER_K 0x8b /* S3 TwisterK */ -#define FB_ACCEL_SUPERSAVAGE 0x8c /* S3 Supersavage */ -#define FB_ACCEL_PROSAVAGE_DDR 0x8d /* S3 ProSavage DDR */ -#define FB_ACCEL_PROSAVAGE_DDRK 0x8e /* S3 ProSavage DDR-K */ - -#define FB_ACCEL_PUV3_UNIGFX 0xa0 /* PKUnity-v3 Unigfx */ - -#define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */ -#define FB_NONSTD_REV_PIX_IN_B 2 /* Order of pixels in each byte */ - /* is reversed */ - -#define FB_ACTIVATE_NOW 0 /* Set values immediately (or vbl) */ -#define FB_ACTIVATE_NXTOPEN 1 /* Activate on next open */ -#define FB_ACTIVATE_TEST 2 /* Don't set, round up impossible */ -#define FB_ACTIVATE_MASK 15 /* values */ -#define FB_ACTIVATE_VBL 16 /* Activate values on next vbl */ -#define FB_CHANGE_CMAP_VBL 32 /* Change colormap on vbl */ -#define FB_ACTIVATE_ALL 64 /* Change all VCs on this fb */ -#define FB_ACTIVATE_FORCE 128 /* Force apply even when no change */ -#define FB_ACTIVATE_INV_MODE 256 /* Invalidate videomode */ - -#define FB_ACCELF_TEXT 1 /* (OBSOLETE) See fb_info.flags */ - /* and vc_mode */ - -#define FB_SYNC_HOR_HIGH_ACT 1 /* Horizontal sync high active */ -#define FB_SYNC_VERT_HIGH_ACT 2 /* Vertical sync high active */ -#define FB_SYNC_EXT 4 /* External sync */ -#define FB_SYNC_COMP_HIGH_ACT 8 /* Composite sync high active */ -#define FB_SYNC_BROADCAST 16 /* Broadcast video timings */ - /* vtotal = 144d/288n/576i => PAL */ - /* vtotal = 121d/242n/484i => NTSC */ -#define FB_SYNC_ON_GREEN 32 /* Sync on green */ - -#define FB_VMODE_NONINTERLACED 0 /* Non interlaced */ -#define FB_VMODE_INTERLACED 1 /* Interlaced */ -#define FB_VMODE_DOUBLE 2 /* Double scan */ -#define FB_VMODE_ODD_FLD_FIRST 4 /* Interlaced: top line first */ +#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ +#define FB_TYPE_PLANES 1 /* Non interleaved planes */ +#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */ +#define FB_TYPE_TEXT 3 /* Text/attributes */ +#define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */ +#define FB_TYPE_FOURCC 5 /* Iidentified by a V4L2 FOURCC */ + +#define FB_AUX_TEXT_MDA 0 /* Monochrome text */ +#define FB_AUX_TEXT_CGA 1 /* CGA/EGA/VGA Color text */ +#define FB_AUX_TEXT_S3_MMIO 2 /* S3 MMIO fasttext */ +#define FB_AUX_TEXT_MGA_STEP16 3 /* MGA Millenium I: text, attr, */ + /* 14 reserved bytes */ +#define FB_AUX_TEXT_MGA_STEP8 4 /* other MGAs: text, attr, */ + /* 6 reserved bytes */ +#define FB_AUX_TEXT_SVGA_GROUP 8 /* 8-15: SVGA tileblit */ + /* compatible modes */ +#define FB_AUX_TEXT_SVGA_MASK 7 /* lower three bits says step */ +#define FB_AUX_TEXT_SVGA_STEP2 8 /* SVGA text mode: text, attr */ +#define FB_AUX_TEXT_SVGA_STEP4 9 /* SVGA text mode: text, attr, */ + /* 2 reserved bytes */ +#define FB_AUX_TEXT_SVGA_STEP8 10 /* SVGA text mode: text, attr, */ + /* 6 reserved bytes */ +#define FB_AUX_TEXT_SVGA_STEP16 11 /* SVGA text mode: text, attr, */ + /* 14 reserved bytes */ +#define FB_AUX_TEXT_SVGA_LAST 15 /* reserved up to 15 */ + +#define FB_AUX_VGA_PLANES_VGA4 0 /* 16 color planes (EGA/VGA) */ +#define FB_AUX_VGA_PLANES_CFB4 1 /* CFB4 in planes (VGA) */ +#define FB_AUX_VGA_PLANES_CFB8 2 /* CFB8 in planes (VGA) */ + +#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */ +#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */ +#define FB_VISUAL_TRUECOLOR 2 /* True color */ +#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */ +#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */ +#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */ +#define FB_VISUAL_FOURCC 6 /* Visual identified by */ + /* a V4L2 FOURCC */ + +#define FB_ACCEL_NONE 0 /* no hardware accelerator */ +#define FB_ACCEL_ATARIBLITT 1 /* Atari Blitter */ +#define FB_ACCEL_AMIGABLITT 2 /* Amiga Blitter */ +#define FB_ACCEL_S3_TRIO64 3 /* Cybervision64 (S3 Trio64) */ +#define FB_ACCEL_NCR_77C32BLT 4 /* RetinaZ3 (NCR 77C32BLT) */ +#define FB_ACCEL_S3_VIRGE 5 /* Cybervision64/3D (S3 ViRGE) */ +#define FB_ACCEL_ATI_MACH64GX 6 /* ATI Mach 64GX family */ +#define FB_ACCEL_DEC_TGA 7 /* DEC 21030 TGA */ +#define FB_ACCEL_ATI_MACH64CT 8 /* ATI Mach 64CT family */ +#define FB_ACCEL_ATI_MACH64VT 9 /* ATI Mach 64CT family VT class */ +#define FB_ACCEL_ATI_MACH64GT 10 /* ATI Mach 64CT family GT class */ +#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */ +#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */ +#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */ +#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */ +#define FB_ACCEL_3DLABS_PERMEDIA2 15 /* 3Dlabs Permedia 2 */ +#define FB_ACCEL_MATROX_MGA2064W 16 /* Matrox MGA2064W (Millenium) */ +#define FB_ACCEL_MATROX_MGA1064SG 17 /* Matrox MGA1064SG (Mystique) */ +#define FB_ACCEL_MATROX_MGA2164W 18 /* Matrox MGA2164W (Millenium II) */ +#define FB_ACCEL_MATROX_MGA2164W_AGP 19 /* Matrox MGA2164W (Millenium II) */ +#define FB_ACCEL_MATROX_MGAG100 20 /* Matrox G100 (Productiva G100) */ +#define FB_ACCEL_MATROX_MGAG200 21 /* Matrox G200 (Myst, Mill, ...) */ +#define FB_ACCEL_SUN_CG14 22 /* Sun cgfourteen */ +#define FB_ACCEL_SUN_BWTWO 23 /* Sun bwtwo */ +#define FB_ACCEL_SUN_CGTHREE 24 /* Sun cgthree */ +#define FB_ACCEL_SUN_TCX 25 /* Sun tcx */ +#define FB_ACCEL_MATROX_MGAG400 26 /* Matrox G400 */ +#define FB_ACCEL_NV3 27 /* nVidia RIVA 128 */ +#define FB_ACCEL_NV4 28 /* nVidia RIVA TNT */ +#define FB_ACCEL_NV5 29 /* nVidia RIVA TNT2 */ +#define FB_ACCEL_CT_6555x 30 /* C&T 6555x */ +#define FB_ACCEL_3DFX_BANSHEE 31 /* 3Dfx Banshee */ +#define FB_ACCEL_ATI_RAGE128 32 /* ATI Rage128 family */ +#define FB_ACCEL_IGS_CYBER2000 33 /* CyberPro 2000 */ +#define FB_ACCEL_IGS_CYBER2010 34 /* CyberPro 2010 */ +#define FB_ACCEL_IGS_CYBER5000 35 /* CyberPro 5000 */ +#define FB_ACCEL_SIS_GLAMOUR 36 /* SiS 300/630/540 */ +#define FB_ACCEL_3DLABS_PERMEDIA3 37 /* 3Dlabs Permedia 3 */ +#define FB_ACCEL_ATI_RADEON 38 /* ATI Radeon family */ +#define FB_ACCEL_I810 39 /* Intel 810/815 */ +#define FB_ACCEL_SIS_GLAMOUR_2 40 /* SiS 315, 650, 740 */ +#define FB_ACCEL_SIS_XABRE 41 /* SiS 330 ("Xabre") */ +#define FB_ACCEL_I830 42 /* Intel 830M/845G/85x/865G */ +#define FB_ACCEL_NV_10 43 /* nVidia Arch 10 */ +#define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */ +#define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */ +#define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */ +#define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */ +#define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */ +#define FB_ACCEL_OMAP1610 49 /* TI OMAP16xx */ +#define FB_ACCEL_TRIDENT_TGUI 50 /* Trident TGUI */ +#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */ +#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */ +#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */ +#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */ +#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ +#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ +#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ +#define FB_ACCEL_NEOMAGIC_NM2097 93 /* NeoMagic NM2097 */ +#define FB_ACCEL_NEOMAGIC_NM2160 94 /* NeoMagic NM2160 */ +#define FB_ACCEL_NEOMAGIC_NM2200 95 /* NeoMagic NM2200 */ +#define FB_ACCEL_NEOMAGIC_NM2230 96 /* NeoMagic NM2230 */ +#define FB_ACCEL_NEOMAGIC_NM2360 97 /* NeoMagic NM2360 */ +#define FB_ACCEL_NEOMAGIC_NM2380 98 /* NeoMagic NM2380 */ +#define FB_ACCEL_PXA3XX 99 /* PXA3xx */ + +#define FB_ACCEL_SAVAGE4 0x80 /* S3 Savage4 */ +#define FB_ACCEL_SAVAGE3D 0x81 /* S3 Savage3D */ +#define FB_ACCEL_SAVAGE3D_MV 0x82 /* S3 Savage3D-MV */ +#define FB_ACCEL_SAVAGE2000 0x83 /* S3 Savage2000 */ +#define FB_ACCEL_SAVAGE_MX_MV 0x84 /* S3 Savage/MX-MV */ +#define FB_ACCEL_SAVAGE_MX 0x85 /* S3 Savage/MX */ +#define FB_ACCEL_SAVAGE_IX_MV 0x86 /* S3 Savage/IX-MV */ +#define FB_ACCEL_SAVAGE_IX 0x87 /* S3 Savage/IX */ +#define FB_ACCEL_PROSAVAGE_PM 0x88 /* S3 ProSavage PM133 */ +#define FB_ACCEL_PROSAVAGE_KM 0x89 /* S3 ProSavage KM133 */ +#define FB_ACCEL_S3TWISTER_P 0x8a /* S3 Twister */ +#define FB_ACCEL_S3TWISTER_K 0x8b /* S3 TwisterK */ +#define FB_ACCEL_SUPERSAVAGE 0x8c /* S3 Supersavage */ +#define FB_ACCEL_PROSAVAGE_DDR 0x8d /* S3 ProSavage DDR */ +#define FB_ACCEL_PROSAVAGE_DDRK 0x8e /* S3 ProSavage DDR-K */ + +#define FB_ACCEL_PUV3_UNIGFX 0xa0 /* PKUnity-v3 Unigfx */ + +#define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */ +#define FB_NONSTD_REV_PIX_IN_B 2 /* Order of pixels in each byte */ + /* is reversed */ + +#define FB_ACTIVATE_NOW 0 /* Set valus immediately (or vbl) */ +#define FB_ACTIVATE_NXTOPEN 1 /* Activate on next open */ +#define FB_ACTIVATE_TEST 2 /* Don't set, round up impossible */ +#define FB_ACTIVATE_MASK 15 /* values */ +#define FB_ACTIVATE_VBL 16 /* Activate values on next vbl */ +#define FB_CHANGE_CMAP_VBL 32 /* Change colormap on vbl */ +#define FB_ACTIVATE_ALL 64 /* Change all VCs on this fb */ +#define FB_ACTIVATE_FORCE 128 /* Force apply even if no change */ +#define FB_ACTIVATE_INV_MODE 256 /* Invalidate videomode */ + +#define FB_ACCELF_TEXT 1 /* (OBSOLETE) See fb_info.flags */ + /* and vc_mode */ + +#define FB_SYNC_HOR_HIGH_ACT 1 /* Horizontal sync high active */ +#define FB_SYNC_VERT_HIGH_ACT 2 /* Vertical sync high active */ +#define FB_SYNC_EXT 4 /* External sync */ +#define FB_SYNC_COMP_HIGH_ACT 8 /* Composite sync high active */ +#define FB_SYNC_BROADCAST 16 /* Broadcast video timings */ + /* vtotal = 144d/288n/576i - PAL */ + /* vtotal = 121d/242n/484i - NTSC */ +#define FB_SYNC_ON_GREEN 32 /* Sync on green */ + +#define FB_VMODE_NONINTERLACED 0 /* Non interlaced */ +#define FB_VMODE_INTERLACED 1 /* Interlaced */ +#define FB_VMODE_DOUBLE 2 /* Double scan */ +#define FB_VMODE_ODD_FLD_FIRST 4 /* Interlaced: top line first */ #define FB_VMODE_MASK 255 -#define FB_VMODE_YWRAP 256 /* Ywrap instead of panning */ -#define FB_VMODE_SMOOTH_XPAN 512 /* Smooth xpan possible */ - /* (internally used) */ -#define FB_VMODE_CONUPDATE 512 /* Don't update x/yoffset */ +#define FB_VMODE_YWRAP 256 /* Ywrap instead of panning */ +#define FB_VMODE_SMOOTH_XPAN 512 /* Smooth xpan possible */ + /* (internally used) */ +#define FB_VMODE_CONUPDATE 512 /* Don't update x/yoffset */ #define FB_ROTATE_UR 0 #define FB_ROTATE_CW 1 #define FB_ROTATE_UD 2 #define FB_ROTATE_CCW 3 +#define ARGBTO32(a,r,g,b) \ Review Comment: why not move to include/nuttx/video/rgbcolors.h -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org