/* Specify "standard" VGA palette, some video cards may
need this and this will also be used when using RGB modes. */
-struct grub_video_palette_data grub_video_fbstd_colors[GRUB_VIDEO_FBSTD_NUMCOLORS] =
+struct grub_video_palette_data grub_video_fbstd_colors[GRUB_VIDEO_FBSTD_EXT_NUMCOLORS] =
{
+ /* Standard (3-bit) colors. */
+
// {R, G, B, A}
{0x00, 0x00, 0x00, 0xFF}, // 0 = black
{0x00, 0x00, 0xA8, 0xFF}, // 1 = blue
{0xA8, 0x54, 0x00, 0xFF}, // 6 = brown
{0xA8, 0xA8, 0xA8, 0xFF}, // 7 = light gray
+ /* Bright (4-bit) colors. */
{0x54, 0x54, 0x54, 0xFF}, // 8 = dark gray
{0x54, 0x54, 0xFE, 0xFF}, // 9 = bright blue
{0x54, 0xFE, 0x54, 0xFF}, // 10 = bright green
{0xFE, 0x54, 0x54, 0xFF}, // 12 = bright red
{0xFE, 0x54, 0xFE, 0xFF}, // 13 = bright magenta
{0xFE, 0xFE, 0x54, 0xFF}, // 14 = yellow
- {0xFE, 0xFE, 0xFE, 0xFF} // 15 = white
+ {0xFE, 0xFE, 0xFE, 0xFF}, // 15 = white
+
+ /* Extended (8-bit) colors. Completes preceding colors to full RGB332. */
+ {0x00, 0x00, 0x55, 0xFF}, // RGB332 = (0, 0, 1)
+ {0x00, 0x00, 0xFF, 0xFF}, // RGB332 = (0, 0, 3)
+ {0x00, 0x24, 0x00, 0xFF}, // RGB332 = (0, 1, 0)
+ {0x00, 0x24, 0x55, 0xFF}, // RGB332 = (0, 1, 1)
+ {0x00, 0x24, 0xAA, 0xFF}, // RGB332 = (0, 1, 2)
+ {0x00, 0x24, 0xFF, 0xFF}, // RGB332 = (0, 1, 3)
+ {0x00, 0x48, 0x00, 0xFF}, // RGB332 = (0, 2, 0)
+ {0x00, 0x48, 0x55, 0xFF}, // RGB332 = (0, 2, 1)
+ {0x00, 0x48, 0xAA, 0xFF}, // RGB332 = (0, 2, 2)
+ {0x00, 0x48, 0xFF, 0xFF}, // RGB332 = (0, 2, 3)
+ {0x00, 0x6C, 0x00, 0xFF}, // RGB332 = (0, 3, 0)
+ {0x00, 0x6C, 0x55, 0xFF}, // RGB332 = (0, 3, 1)
+ {0x00, 0x6C, 0xAA, 0xFF}, // RGB332 = (0, 3, 2)
+ {0x00, 0x6C, 0xFF, 0xFF}, // RGB332 = (0, 3, 3)
+ {0x00, 0x90, 0x00, 0xFF}, // RGB332 = (0, 4, 0)
+ {0x00, 0x90, 0x55, 0xFF}, // RGB332 = (0, 4, 1)
+ {0x00, 0x90, 0xAA, 0xFF}, // RGB332 = (0, 4, 2)
+ {0x00, 0x90, 0xFF, 0xFF}, // RGB332 = (0, 4, 3)
+ {0x00, 0xB4, 0x55, 0xFF}, // RGB332 = (0, 5, 1)
+ {0x00, 0xB4, 0xFF, 0xFF}, // RGB332 = (0, 5, 3)
+ {0x00, 0xD8, 0x00, 0xFF}, // RGB332 = (0, 6, 0)
+ {0x00, 0xD8, 0x55, 0xFF}, // RGB332 = (0, 6, 1)
+ {0x00, 0xD8, 0xAA, 0xFF}, // RGB332 = (0, 6, 2)
+ {0x00, 0xD8, 0xFF, 0xFF}, // RGB332 = (0, 6, 3)
+ {0x00, 0xFC, 0x00, 0xFF}, // RGB332 = (0, 7, 0)
+ {0x00, 0xFC, 0x55, 0xFF}, // RGB332 = (0, 7, 1)
+ {0x00, 0xFC, 0xAA, 0xFF}, // RGB332 = (0, 7, 2)
+ {0x00, 0xFC, 0xFF, 0xFF}, // RGB332 = (0, 7, 3)
+ {0x24, 0x00, 0x00, 0xFF}, // RGB332 = (1, 0, 0)
+ {0x24, 0x00, 0x55, 0xFF}, // RGB332 = (1, 0, 1)
+ {0x24, 0x00, 0xAA, 0xFF}, // RGB332 = (1, 0, 2)
+ {0x24, 0x00, 0xFF, 0xFF}, // RGB332 = (1, 0, 3)
+ {0x24, 0x24, 0x00, 0xFF}, // RGB332 = (1, 1, 0)
+ {0x24, 0x24, 0x55, 0xFF}, // RGB332 = (1, 1, 1)
+ {0x24, 0x24, 0xAA, 0xFF}, // RGB332 = (1, 1, 2)
+ {0x24, 0x24, 0xFF, 0xFF}, // RGB332 = (1, 1, 3)
+ {0x24, 0x48, 0x00, 0xFF}, // RGB332 = (1, 2, 0)
+ {0x24, 0x48, 0x55, 0xFF}, // RGB332 = (1, 2, 1)
+ {0x24, 0x48, 0xAA, 0xFF}, // RGB332 = (1, 2, 2)
+ {0x24, 0x48, 0xFF, 0xFF}, // RGB332 = (1, 2, 3)
+ {0x24, 0x6C, 0x00, 0xFF}, // RGB332 = (1, 3, 0)
+ {0x24, 0x6C, 0x55, 0xFF}, // RGB332 = (1, 3, 1)
+ {0x24, 0x6C, 0xAA, 0xFF}, // RGB332 = (1, 3, 2)
+ {0x24, 0x6C, 0xFF, 0xFF}, // RGB332 = (1, 3, 3)
+ {0x24, 0x90, 0x00, 0xFF}, // RGB332 = (1, 4, 0)
+ {0x24, 0x90, 0x55, 0xFF}, // RGB332 = (1, 4, 1)
+ {0x24, 0x90, 0xAA, 0xFF}, // RGB332 = (1, 4, 2)
+ {0x24, 0x90, 0xFF, 0xFF}, // RGB332 = (1, 4, 3)
+ {0x24, 0xB4, 0x00, 0xFF}, // RGB332 = (1, 5, 0)
+ {0x24, 0xB4, 0x55, 0xFF}, // RGB332 = (1, 5, 1)
+ {0x24, 0xB4, 0xAA, 0xFF}, // RGB332 = (1, 5, 2)
+ {0x24, 0xB4, 0xFF, 0xFF}, // RGB332 = (1, 5, 3)
+ {0x24, 0xD8, 0x00, 0xFF}, // RGB332 = (1, 6, 0)
+ {0x24, 0xD8, 0x55, 0xFF}, // RGB332 = (1, 6, 1)
+ {0x24, 0xD8, 0xAA, 0xFF}, // RGB332 = (1, 6, 2)
+ {0x24, 0xD8, 0xFF, 0xFF}, // RGB332 = (1, 6, 3)
+ {0x24, 0xFC, 0x00, 0xFF}, // RGB332 = (1, 7, 0)
+ {0x24, 0xFC, 0x55, 0xFF}, // RGB332 = (1, 7, 1)
+ {0x24, 0xFC, 0xAA, 0xFF}, // RGB332 = (1, 7, 2)
+ {0x24, 0xFC, 0xFF, 0xFF}, // RGB332 = (1, 7, 3)
+ {0x48, 0x00, 0x00, 0xFF}, // RGB332 = (2, 0, 0)
+ {0x48, 0x00, 0x55, 0xFF}, // RGB332 = (2, 0, 1)
+ {0x48, 0x00, 0xAA, 0xFF}, // RGB332 = (2, 0, 2)
+ {0x48, 0x00, 0xFF, 0xFF}, // RGB332 = (2, 0, 3)
+ {0x48, 0x24, 0x00, 0xFF}, // RGB332 = (2, 1, 0)
+ {0x48, 0x24, 0x55, 0xFF}, // RGB332 = (2, 1, 1)
+ {0x48, 0x24, 0xAA, 0xFF}, // RGB332 = (2, 1, 2)
+ {0x48, 0x24, 0xFF, 0xFF}, // RGB332 = (2, 1, 3)
+ {0x48, 0x48, 0x00, 0xFF}, // RGB332 = (2, 2, 0)
+ {0x48, 0x48, 0xAA, 0xFF}, // RGB332 = (2, 2, 2)
+ {0x48, 0x6C, 0x00, 0xFF}, // RGB332 = (2, 3, 0)
+ {0x48, 0x6C, 0x55, 0xFF}, // RGB332 = (2, 3, 1)
+ {0x48, 0x6C, 0xAA, 0xFF}, // RGB332 = (2, 3, 2)
+ {0x48, 0x6C, 0xFF, 0xFF}, // RGB332 = (2, 3, 3)
+ {0x48, 0x90, 0x00, 0xFF}, // RGB332 = (2, 4, 0)
+ {0x48, 0x90, 0x55, 0xFF}, // RGB332 = (2, 4, 1)
+ {0x48, 0x90, 0xAA, 0xFF}, // RGB332 = (2, 4, 2)
+ {0x48, 0x90, 0xFF, 0xFF}, // RGB332 = (2, 4, 3)
+ {0x48, 0xB4, 0x00, 0xFF}, // RGB332 = (2, 5, 0)
+ {0x48, 0xB4, 0x55, 0xFF}, // RGB332 = (2, 5, 1)
+ {0x48, 0xB4, 0xAA, 0xFF}, // RGB332 = (2, 5, 2)
+ {0x48, 0xB4, 0xFF, 0xFF}, // RGB332 = (2, 5, 3)
+ {0x48, 0xD8, 0x00, 0xFF}, // RGB332 = (2, 6, 0)
+ {0x48, 0xD8, 0x55, 0xFF}, // RGB332 = (2, 6, 1)
+ {0x48, 0xD8, 0xAA, 0xFF}, // RGB332 = (2, 6, 2)
+ {0x48, 0xD8, 0xFF, 0xFF}, // RGB332 = (2, 6, 3)
+ {0x48, 0xFC, 0x00, 0xFF}, // RGB332 = (2, 7, 0)
+ {0x48, 0xFC, 0xAA, 0xFF}, // RGB332 = (2, 7, 2)
+ {0x6C, 0x00, 0x00, 0xFF}, // RGB332 = (3, 0, 0)
+ {0x6C, 0x00, 0x55, 0xFF}, // RGB332 = (3, 0, 1)
+ {0x6C, 0x00, 0xAA, 0xFF}, // RGB332 = (3, 0, 2)
+ {0x6C, 0x00, 0xFF, 0xFF}, // RGB332 = (3, 0, 3)
+ {0x6C, 0x24, 0x00, 0xFF}, // RGB332 = (3, 1, 0)
+ {0x6C, 0x24, 0x55, 0xFF}, // RGB332 = (3, 1, 1)
+ {0x6C, 0x24, 0xAA, 0xFF}, // RGB332 = (3, 1, 2)
+ {0x6C, 0x24, 0xFF, 0xFF}, // RGB332 = (3, 1, 3)
+ {0x6C, 0x48, 0x00, 0xFF}, // RGB332 = (3, 2, 0)
+ {0x6C, 0x48, 0x55, 0xFF}, // RGB332 = (3, 2, 1)
+ {0x6C, 0x48, 0xAA, 0xFF}, // RGB332 = (3, 2, 2)
+ {0x6C, 0x48, 0xFF, 0xFF}, // RGB332 = (3, 2, 3)
+ {0x6C, 0x6C, 0x00, 0xFF}, // RGB332 = (3, 3, 0)
+ {0x6C, 0x6C, 0x55, 0xFF}, // RGB332 = (3, 3, 1)
+ {0x6C, 0x6C, 0xAA, 0xFF}, // RGB332 = (3, 3, 2)
+ {0x6C, 0x6C, 0xFF, 0xFF}, // RGB332 = (3, 3, 3)
+ {0x6C, 0x90, 0x00, 0xFF}, // RGB332 = (3, 4, 0)
+ {0x6C, 0x90, 0x55, 0xFF}, // RGB332 = (3, 4, 1)
+ {0x6C, 0x90, 0xAA, 0xFF}, // RGB332 = (3, 4, 2)
+ {0x6C, 0x90, 0xFF, 0xFF}, // RGB332 = (3, 4, 3)
+ {0x6C, 0xB4, 0x00, 0xFF}, // RGB332 = (3, 5, 0)
+ {0x6C, 0xB4, 0x55, 0xFF}, // RGB332 = (3, 5, 1)
+ {0x6C, 0xB4, 0xAA, 0xFF}, // RGB332 = (3, 5, 2)
+ {0x6C, 0xB4, 0xFF, 0xFF}, // RGB332 = (3, 5, 3)
+ {0x6C, 0xD8, 0x00, 0xFF}, // RGB332 = (3, 6, 0)
+ {0x6C, 0xD8, 0x55, 0xFF}, // RGB332 = (3, 6, 1)
+ {0x6C, 0xD8, 0xAA, 0xFF}, // RGB332 = (3, 6, 2)
+ {0x6C, 0xD8, 0xFF, 0xFF}, // RGB332 = (3, 6, 3)
+ {0x6C, 0xFC, 0x00, 0xFF}, // RGB332 = (3, 7, 0)
+ {0x6C, 0xFC, 0x55, 0xFF}, // RGB332 = (3, 7, 1)
+ {0x6C, 0xFC, 0xAA, 0xFF}, // RGB332 = (3, 7, 2)
+ {0x6C, 0xFC, 0xFF, 0xFF}, // RGB332 = (3, 7, 3)
+ {0x90, 0x00, 0x00, 0xFF}, // RGB332 = (4, 0, 0)
+ {0x90, 0x00, 0x55, 0xFF}, // RGB332 = (4, 0, 1)
+ {0x90, 0x00, 0xAA, 0xFF}, // RGB332 = (4, 0, 2)
+ {0x90, 0x00, 0xFF, 0xFF}, // RGB332 = (4, 0, 3)
+ {0x90, 0x24, 0x00, 0xFF}, // RGB332 = (4, 1, 0)
+ {0x90, 0x24, 0x55, 0xFF}, // RGB332 = (4, 1, 1)
+ {0x90, 0x24, 0xAA, 0xFF}, // RGB332 = (4, 1, 2)
+ {0x90, 0x24, 0xFF, 0xFF}, // RGB332 = (4, 1, 3)
+ {0x90, 0x48, 0x00, 0xFF}, // RGB332 = (4, 2, 0)
+ {0x90, 0x48, 0x55, 0xFF}, // RGB332 = (4, 2, 1)
+ {0x90, 0x48, 0xAA, 0xFF}, // RGB332 = (4, 2, 2)
+ {0x90, 0x48, 0xFF, 0xFF}, // RGB332 = (4, 2, 3)
+ {0x90, 0x6C, 0x00, 0xFF}, // RGB332 = (4, 3, 0)
+ {0x90, 0x6C, 0x55, 0xFF}, // RGB332 = (4, 3, 1)
+ {0x90, 0x6C, 0xAA, 0xFF}, // RGB332 = (4, 3, 2)
+ {0x90, 0x6C, 0xFF, 0xFF}, // RGB332 = (4, 3, 3)
+ {0x90, 0x90, 0x00, 0xFF}, // RGB332 = (4, 4, 0)
+ {0x90, 0x90, 0x55, 0xFF}, // RGB332 = (4, 4, 1)
+ {0x90, 0x90, 0xAA, 0xFF}, // RGB332 = (4, 4, 2)
+ {0x90, 0x90, 0xFF, 0xFF}, // RGB332 = (4, 4, 3)
+ {0x90, 0xB4, 0x00, 0xFF}, // RGB332 = (4, 5, 0)
+ {0x90, 0xB4, 0x55, 0xFF}, // RGB332 = (4, 5, 1)
+ {0x90, 0xB4, 0xAA, 0xFF}, // RGB332 = (4, 5, 2)
+ {0x90, 0xB4, 0xFF, 0xFF}, // RGB332 = (4, 5, 3)
+ {0x90, 0xD8, 0x00, 0xFF}, // RGB332 = (4, 6, 0)
+ {0x90, 0xD8, 0x55, 0xFF}, // RGB332 = (4, 6, 1)
+ {0x90, 0xD8, 0xAA, 0xFF}, // RGB332 = (4, 6, 2)
+ {0x90, 0xD8, 0xFF, 0xFF}, // RGB332 = (4, 6, 3)
+ {0x90, 0xFC, 0x00, 0xFF}, // RGB332 = (4, 7, 0)
+ {0x90, 0xFC, 0x55, 0xFF}, // RGB332 = (4, 7, 1)
+ {0x90, 0xFC, 0xAA, 0xFF}, // RGB332 = (4, 7, 2)
+ {0x90, 0xFC, 0xFF, 0xFF}, // RGB332 = (4, 7, 3)
+ {0xB4, 0x00, 0x55, 0xFF}, // RGB332 = (5, 0, 1)
+ {0xB4, 0x00, 0xFF, 0xFF}, // RGB332 = (5, 0, 3)
+ {0xB4, 0x24, 0x00, 0xFF}, // RGB332 = (5, 1, 0)
+ {0xB4, 0x24, 0x55, 0xFF}, // RGB332 = (5, 1, 1)
+ {0xB4, 0x24, 0xAA, 0xFF}, // RGB332 = (5, 1, 2)
+ {0xB4, 0x24, 0xFF, 0xFF}, // RGB332 = (5, 1, 3)
+ {0xB4, 0x48, 0x55, 0xFF}, // RGB332 = (5, 2, 1)
+ {0xB4, 0x48, 0xAA, 0xFF}, // RGB332 = (5, 2, 2)
+ {0xB4, 0x48, 0xFF, 0xFF}, // RGB332 = (5, 2, 3)
+ {0xB4, 0x6C, 0x00, 0xFF}, // RGB332 = (5, 3, 0)
+ {0xB4, 0x6C, 0x55, 0xFF}, // RGB332 = (5, 3, 1)
+ {0xB4, 0x6C, 0xAA, 0xFF}, // RGB332 = (5, 3, 2)
+ {0xB4, 0x6C, 0xFF, 0xFF}, // RGB332 = (5, 3, 3)
+ {0xB4, 0x90, 0x00, 0xFF}, // RGB332 = (5, 4, 0)
+ {0xB4, 0x90, 0x55, 0xFF}, // RGB332 = (5, 4, 1)
+ {0xB4, 0x90, 0xAA, 0xFF}, // RGB332 = (5, 4, 2)
+ {0xB4, 0x90, 0xFF, 0xFF}, // RGB332 = (5, 4, 3)
+ {0xB4, 0xB4, 0x00, 0xFF}, // RGB332 = (5, 5, 0)
+ {0xB4, 0xB4, 0x55, 0xFF}, // RGB332 = (5, 5, 1)
+ {0xB4, 0xB4, 0xFF, 0xFF}, // RGB332 = (5, 5, 3)
+ {0xB4, 0xD8, 0x00, 0xFF}, // RGB332 = (5, 6, 0)
+ {0xB4, 0xD8, 0x55, 0xFF}, // RGB332 = (5, 6, 1)
+ {0xB4, 0xD8, 0xAA, 0xFF}, // RGB332 = (5, 6, 2)
+ {0xB4, 0xD8, 0xFF, 0xFF}, // RGB332 = (5, 6, 3)
+ {0xB4, 0xFC, 0x00, 0xFF}, // RGB332 = (5, 7, 0)
+ {0xB4, 0xFC, 0x55, 0xFF}, // RGB332 = (5, 7, 1)
+ {0xB4, 0xFC, 0xAA, 0xFF}, // RGB332 = (5, 7, 2)
+ {0xB4, 0xFC, 0xFF, 0xFF}, // RGB332 = (5, 7, 3)
+ {0xD8, 0x00, 0x00, 0xFF}, // RGB332 = (6, 0, 0)
+ {0xD8, 0x00, 0x55, 0xFF}, // RGB332 = (6, 0, 1)
+ {0xD8, 0x00, 0xAA, 0xFF}, // RGB332 = (6, 0, 2)
+ {0xD8, 0x00, 0xFF, 0xFF}, // RGB332 = (6, 0, 3)
+ {0xD8, 0x24, 0x00, 0xFF}, // RGB332 = (6, 1, 0)
+ {0xD8, 0x24, 0x55, 0xFF}, // RGB332 = (6, 1, 1)
+ {0xD8, 0x24, 0xAA, 0xFF}, // RGB332 = (6, 1, 2)
+ {0xD8, 0x24, 0xFF, 0xFF}, // RGB332 = (6, 1, 3)
+ {0xD8, 0x48, 0x00, 0xFF}, // RGB332 = (6, 2, 0)
+ {0xD8, 0x48, 0x55, 0xFF}, // RGB332 = (6, 2, 1)
+ {0xD8, 0x48, 0xAA, 0xFF}, // RGB332 = (6, 2, 2)
+ {0xD8, 0x48, 0xFF, 0xFF}, // RGB332 = (6, 2, 3)
+ {0xD8, 0x6C, 0x00, 0xFF}, // RGB332 = (6, 3, 0)
+ {0xD8, 0x6C, 0x55, 0xFF}, // RGB332 = (6, 3, 1)
+ {0xD8, 0x6C, 0xAA, 0xFF}, // RGB332 = (6, 3, 2)
+ {0xD8, 0x6C, 0xFF, 0xFF}, // RGB332 = (6, 3, 3)
+ {0xD8, 0x90, 0x00, 0xFF}, // RGB332 = (6, 4, 0)
+ {0xD8, 0x90, 0x55, 0xFF}, // RGB332 = (6, 4, 1)
+ {0xD8, 0x90, 0xAA, 0xFF}, // RGB332 = (6, 4, 2)
+ {0xD8, 0x90, 0xFF, 0xFF}, // RGB332 = (6, 4, 3)
+ {0xD8, 0xB4, 0x00, 0xFF}, // RGB332 = (6, 5, 0)
+ {0xD8, 0xB4, 0x55, 0xFF}, // RGB332 = (6, 5, 1)
+ {0xD8, 0xB4, 0xAA, 0xFF}, // RGB332 = (6, 5, 2)
+ {0xD8, 0xB4, 0xFF, 0xFF}, // RGB332 = (6, 5, 3)
+ {0xD8, 0xD8, 0x00, 0xFF}, // RGB332 = (6, 6, 0)
+ {0xD8, 0xD8, 0x55, 0xFF}, // RGB332 = (6, 6, 1)
+ {0xD8, 0xD8, 0xAA, 0xFF}, // RGB332 = (6, 6, 2)
+ {0xD8, 0xD8, 0xFF, 0xFF}, // RGB332 = (6, 6, 3)
+ {0xD8, 0xFC, 0x00, 0xFF}, // RGB332 = (6, 7, 0)
+ {0xD8, 0xFC, 0x55, 0xFF}, // RGB332 = (6, 7, 1)
+ {0xD8, 0xFC, 0xAA, 0xFF}, // RGB332 = (6, 7, 2)
+ {0xD8, 0xFC, 0xFF, 0xFF}, // RGB332 = (6, 7, 3)
+ {0xFC, 0x00, 0x00, 0xFF}, // RGB332 = (7, 0, 0)
+ {0xFC, 0x00, 0x55, 0xFF}, // RGB332 = (7, 0, 1)
+ {0xFC, 0x00, 0xAA, 0xFF}, // RGB332 = (7, 0, 2)
+ {0xFC, 0x00, 0xFF, 0xFF}, // RGB332 = (7, 0, 3)
+ {0xFC, 0x24, 0x00, 0xFF}, // RGB332 = (7, 1, 0)
+ {0xFC, 0x24, 0x55, 0xFF}, // RGB332 = (7, 1, 1)
+ {0xFC, 0x24, 0xAA, 0xFF}, // RGB332 = (7, 1, 2)
+ {0xFC, 0x24, 0xFF, 0xFF}, // RGB332 = (7, 1, 3)
+ {0xFC, 0x48, 0x00, 0xFF}, // RGB332 = (7, 2, 0)
+ {0xFC, 0x48, 0xAA, 0xFF}, // RGB332 = (7, 2, 2)
+ {0xFC, 0x6C, 0x00, 0xFF}, // RGB332 = (7, 3, 0)
+ {0xFC, 0x6C, 0x55, 0xFF}, // RGB332 = (7, 3, 1)
+ {0xFC, 0x6C, 0xAA, 0xFF}, // RGB332 = (7, 3, 2)
+ {0xFC, 0x6C, 0xFF, 0xFF}, // RGB332 = (7, 3, 3)
+ {0xFC, 0x90, 0x00, 0xFF}, // RGB332 = (7, 4, 0)
+ {0xFC, 0x90, 0x55, 0xFF}, // RGB332 = (7, 4, 1)
+ {0xFC, 0x90, 0xAA, 0xFF}, // RGB332 = (7, 4, 2)
+ {0xFC, 0x90, 0xFF, 0xFF}, // RGB332 = (7, 4, 3)
+ {0xFC, 0xB4, 0x00, 0xFF}, // RGB332 = (7, 5, 0)
+ {0xFC, 0xB4, 0x55, 0xFF}, // RGB332 = (7, 5, 1)
+ {0xFC, 0xB4, 0xAA, 0xFF}, // RGB332 = (7, 5, 2)
+ {0xFC, 0xB4, 0xFF, 0xFF}, // RGB332 = (7, 5, 3)
+ {0xFC, 0xD8, 0x00, 0xFF}, // RGB332 = (7, 6, 0)
+ {0xFC, 0xD8, 0x55, 0xFF}, // RGB332 = (7, 6, 1)
+ {0xFC, 0xD8, 0xAA, 0xFF}, // RGB332 = (7, 6, 2)
+ {0xFC, 0xD8, 0xFF, 0xFF}, // RGB332 = (7, 6, 3)
+ {0xFC, 0xFC, 0x00, 0xFF}, // RGB332 = (7, 7, 0)
+ {0xFC, 0xFC, 0xAA, 0xFF}, // RGB332 = (7, 7, 2)
};
grub_err_t
/* Try to figure out more optimized version. Note that color is already
mapped to target format so we can make assumptions based on that. */
- if (target.mode_info->blit_format == GRUB_VIDEO_BLIT_FORMAT_BGRA_8888)
- {
- grub_video_fbfill_direct32 (&target, color, x, y,
- width, height);
- return GRUB_ERR_NONE;
- }
- else if (target.mode_info->blit_format == GRUB_VIDEO_BLIT_FORMAT_RGBA_8888)
+ switch (target.mode_info->bytes_per_pixel)
{
+ case 4:
grub_video_fbfill_direct32 (&target, color, x, y,
- width, height);
+ width, height);
return GRUB_ERR_NONE;
- }
- else if (target.mode_info->blit_format == GRUB_VIDEO_BLIT_FORMAT_RGB_888)
- {
+ case 3:
grub_video_fbfill_direct24 (&target, color, x, y,
- width, height);
+ width, height);
return GRUB_ERR_NONE;
- }
- else if (target.mode_info->blit_format == GRUB_VIDEO_BLIT_FORMAT_RGB_565)
- {
+ case 2:
grub_video_fbfill_direct16 (&target, color, x, y,
width, height);
return GRUB_ERR_NONE;
- }
- else if (target.mode_info->blit_format == GRUB_VIDEO_BLIT_FORMAT_BGR_565)
- {
- grub_video_fbfill_direct16 (&target, color, x, y,
- width, height);
- return GRUB_ERR_NONE;
- }
- else if (target.mode_info->blit_format == GRUB_VIDEO_BLIT_FORMAT_INDEXCOLOR)
- {
+ case 1:
grub_video_fbfill_direct8 (&target, color, x, y,
width, height);
return GRUB_ERR_NONE;