diff options
Diffstat (limited to 'recipes/qemu/qemu-0.9.0+cvs20070613/93-oh-pl110-rgb.patch')
-rw-r--r-- | recipes/qemu/qemu-0.9.0+cvs20070613/93-oh-pl110-rgb.patch | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/recipes/qemu/qemu-0.9.0+cvs20070613/93-oh-pl110-rgb.patch b/recipes/qemu/qemu-0.9.0+cvs20070613/93-oh-pl110-rgb.patch deleted file mode 100644 index 4911ac131f..0000000000 --- a/recipes/qemu/qemu-0.9.0+cvs20070613/93-oh-pl110-rgb.patch +++ /dev/null @@ -1,223 +0,0 @@ -=== modified file 'hw/pl110.c' ---- - hw/pl110.c | 13 ++++-- - hw/pl110_template.h | 107 ++++++++++++++++++++++++++++++++++++---------------- - 2 files changed, 86 insertions(+), 34 deletions(-) - -Index: hw/pl110.c -=================================================================== ---- hw/pl110.c.orig 2007-06-13 11:48:22.000000000 +0100 -+++ hw/pl110.c 2007-06-13 11:51:57.000000000 +0100 -@@ -10,6 +10,7 @@ - #include "vl.h" - - #define PL110_CR_EN 0x001 -+#define PL110_CR_BGR 0x100 - #define PL110_CR_BEBO 0x200 - #define PL110_CR_BEPO 0x400 - #define PL110_CR_PWR 0x800 -@@ -114,6 +115,7 @@ static void pl110_update_display(void *o - int first, last = 0; - int dirty, new_dirty; - int i; -+ int bpp_offset; - - if (!pl110_enabled(s)) - return; -@@ -145,12 +147,17 @@ static void pl110_update_display(void *o - fprintf(stderr, "pl110: Bad color depth\n"); - exit(1); - } -+ if (s->cr & PL110_CR_BGR) -+ bpp_offset = 0; -+ else -+ bpp_offset = 18; -+ - if (s->cr & PL110_CR_BEBO) -- fn = fntable[s->bpp + 6]; -+ fn = fntable[s->bpp + 6 + bpp_offset]; - else if (s->cr & PL110_CR_BEPO) -- fn = fntable[s->bpp + 12]; -+ fn = fntable[s->bpp + 12 + bpp_offset]; - else -- fn = fntable[s->bpp]; -+ fn = fntable[s->bpp + bpp_offset]; - - src_width = s->cols; - switch (s->bpp) { -Index: hw/pl110_template.h -=================================================================== ---- hw/pl110_template.h.orig 2007-06-13 11:48:22.000000000 +0100 -+++ hw/pl110_template.h 2007-06-13 11:51:57.000000000 +0100 -@@ -24,6 +24,16 @@ - #error unknown bit depth - #endif - -+#undef RGB -+#define BORDER bgr -+#define ORDER 0 -+#include "pl110_template.h" -+#define ORDER 1 -+#include "pl110_template.h" -+#define ORDER 2 -+#include "pl110_template.h" -+#define RGB -+#define BORDER rgb - #define ORDER 0 - #include "pl110_template.h" - #define ORDER 1 -@@ -33,26 +43,47 @@ - - static drawfn glue(pl110_draw_fn_,BITS)[18] = - { -- glue(pl110_draw_line1_lblp,BITS), -- glue(pl110_draw_line2_lblp,BITS), -- glue(pl110_draw_line4_lblp,BITS), -- glue(pl110_draw_line8_lblp,BITS), -- glue(pl110_draw_line16_lblp,BITS), -- glue(pl110_draw_line32_lblp,BITS), -+ glue(pl110_draw_line1_lblp_bgr,BITS), -+ glue(pl110_draw_line2_lblp_bgr,BITS), -+ glue(pl110_draw_line4_lblp_bgr,BITS), -+ glue(pl110_draw_line8_lblp_bgr,BITS), -+ glue(pl110_draw_line16_lblp_bgr,BITS), -+ glue(pl110_draw_line32_lblp_bgr,BITS), - -- glue(pl110_draw_line1_bbbp,BITS), -- glue(pl110_draw_line2_bbbp,BITS), -- glue(pl110_draw_line4_bbbp,BITS), -- glue(pl110_draw_line8_bbbp,BITS), -- glue(pl110_draw_line16_bbbp,BITS), -- glue(pl110_draw_line32_bbbp,BITS), -+ glue(pl110_draw_line1_bbbp_bgr,BITS), -+ glue(pl110_draw_line2_bbbp_bgr,BITS), -+ glue(pl110_draw_line4_bbbp_bgr,BITS), -+ glue(pl110_draw_line8_bbbp_bgr,BITS), -+ glue(pl110_draw_line16_bbbp_bgr,BITS), -+ glue(pl110_draw_line32_bbbp_bgr,BITS), - -- glue(pl110_draw_line1_lbbp,BITS), -- glue(pl110_draw_line2_lbbp,BITS), -- glue(pl110_draw_line4_lbbp,BITS), -- glue(pl110_draw_line8_lbbp,BITS), -- glue(pl110_draw_line16_lbbp,BITS), -- glue(pl110_draw_line32_lbbp,BITS) -+ glue(pl110_draw_line1_lbbp_bgr,BITS), -+ glue(pl110_draw_line2_lbbp_bgr,BITS), -+ glue(pl110_draw_line4_lbbp_bgr,BITS), -+ glue(pl110_draw_line8_lbbp_bgr,BITS), -+ glue(pl110_draw_line16_lbbp_bgr,BITS), -+ glue(pl110_draw_line32_lbbp_bgr,BITS), -+ -+ glue(pl110_draw_line1_lblp_rgb,BITS), -+ glue(pl110_draw_line2_lblp_rgb,BITS), -+ glue(pl110_draw_line4_lblp_rgb,BITS), -+ glue(pl110_draw_line8_lblp_rgb,BITS), -+ glue(pl110_draw_line16_lblp_rgb,BITS), -+ glue(pl110_draw_line32_lblp_rgb,BITS), -+ -+ glue(pl110_draw_line1_bbbp_rgb,BITS), -+ glue(pl110_draw_line2_bbbp_rgb,BITS), -+ glue(pl110_draw_line4_bbbp_rgb,BITS), -+ glue(pl110_draw_line8_bbbp_rgb,BITS), -+ glue(pl110_draw_line16_bbbp_rgb,BITS), -+ glue(pl110_draw_line32_bbbp_rgb,BITS), -+ -+ glue(pl110_draw_line1_lbbp_rgb,BITS), -+ glue(pl110_draw_line2_lbbp_rgb,BITS), -+ glue(pl110_draw_line4_lbbp_rgb,BITS), -+ glue(pl110_draw_line8_lbbp_rgb,BITS), -+ glue(pl110_draw_line16_lbbp_rgb,BITS), -+ glue(pl110_draw_line32_lbbp_rgb,BITS), - }; - - #undef BITS -@@ -61,18 +92,18 @@ static drawfn glue(pl110_draw_fn_,BITS)[ - #else - - #if ORDER == 0 --#define NAME glue(lblp, BITS) -+#define NAME glue(glue(lblp_, BORDER), BITS) - #ifdef WORDS_BIGENDIAN - #define SWAP_WORDS 1 - #endif - #elif ORDER == 1 --#define NAME glue(bbbp, BITS) -+#define NAME glue(glue(bbbp_, BORDER), BITS) - #ifndef WORDS_BIGENDIAN - #define SWAP_WORDS 1 - #endif - #else - #define SWAP_PIXELS 1 --#define NAME glue(lbbp, BITS) -+#define NAME glue(glue(lbbp_, BORDER), BITS) - #ifdef WORDS_BIGENDIAN - #define SWAP_WORDS 1 - #endif -@@ -195,27 +226,34 @@ static void glue(pl110_draw_line16_,NAME - #ifdef SWAP_WORDS - data = bswap32(data); - #endif -+#ifdef RGB -+#define LSB r -+#define MSB b -+#else -+#define LSB b -+#define MSB r -+#endif - #if 0 -- r = data & 0x1f; -+ LSB = data & 0x1f; - data >>= 5; - g = data & 0x3f; - data >>= 6; -- b = data & 0x1f; -+ MSB = data & 0x1f; - data >>= 5; - #else -- r = (data & 0x1f) << 3; -+ LSB = (data & 0x1f) << 3; - data >>= 5; - g = (data & 0x3f) << 2; - data >>= 6; -- b = (data & 0x1f) << 3; -+ MSB = (data & 0x1f) << 3; - data >>= 5; - #endif - COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b)); -- r = (data & 0x1f) << 3; -+ LSB = (data & 0x1f) << 3; - data >>= 5; - g = (data & 0x3f) << 2; - data >>= 6; -- b = (data & 0x1f) << 3; -+ MSB = (data & 0x1f) << 3; - data >>= 5; - COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b)); - width -= 2; -@@ -229,14 +267,21 @@ static void glue(pl110_draw_line32_,NAME - unsigned int r, g, b; - while (width > 0) { - data = *(uint32_t *)src; -+#ifdef RGB -+#define LSB r -+#define MSB b -+#else -+#define LSB b -+#define MSB r -+#endif - #ifdef SWAP_WORDS -- r = data & 0xff; -+ LSB = data & 0xff; - g = (data >> 8) & 0xff; -- b = (data >> 16) & 0xff; -+ MSB = (data >> 16) & 0xff; - #else -- r = (data >> 24) & 0xff; -+ LSB = (data >> 24) & 0xff; - g = (data >> 16) & 0xff; -- b = (data >> 8) & 0xff; -+ MSB = (data >> 8) & 0xff; - #endif - COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b)); - width--; |