On Mon, Sep 29, 2014 at 11:31:04AM +0200, Gerd Hoffmann wrote: > From: Benjamin Herrenschmidt <[email protected]> > > Provide different functions for converting from an LE vs a BE > framebuffer. We cannot rely on the simple cases always being > shared surfaces since cirrus will need to always shadow for > cursor emulation, so we need the full set of functions to > be able to later handle runtime switching. > > Signed-off-by: Benjamin Herrenschmidt <[email protected]>\ > Signed-off-by: Gerd Hoffmann <[email protected]>
[snip]
> @@ -1572,19 +1585,19 @@ static void vga_draw_graphic(VGACommonState *s, int
> full_update)
> bits = 8;
> break;
> case 15:
> - v = VGA_DRAW_LINE15;
> + v = big_endian_fb ? VGA_DRAW_LINE15_BE : VGA_DRAW_LINE15_LE;
> bits = 16;
> break;
> case 16:
> - v = VGA_DRAW_LINE16;
> + v = big_endian_fb ? VGA_DRAW_LINE16_BE : VGA_DRAW_LINE16_LE;
> bits = 16;
> break;
So, v1 changed both of these cases to bits = 15, which looked wrong
for case 16. v2 changes neither, which looks wrong for case 15. Or
is there a reason it should be 16 for case 15?
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
pgpHB7m1hFohW.pgp
Description: PGP signature
