Message ID | 20211002110007.30825-11-mark.cave-ayland@ilande.co.uk |
---|---|
State | New |
Headers | show |
Series | macfb: fixes for booting MacOS | expand |
On 02/10/2021 13:00, Mark Cave-Ayland wrote: > According to Apple Technical Note HW26: "Macintosh Quadra Built-In Video" the > in-built framebuffer encodes each 24-bit pixel into 4 bytes. Adjust the 24-bit > RGB pixel encoding accordingly which agrees with the encoding expected by MacOS > when changing into 24-bit colour mode. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > --- > hw/display/macfb.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/hw/display/macfb.c b/hw/display/macfb.c > index 0c9e181b9b..29f6ad8eba 100644 > --- a/hw/display/macfb.c > +++ b/hw/display/macfb.c > @@ -224,10 +224,10 @@ static void macfb_draw_line24(MacfbState *s, uint8_t *d, uint32_t addr, > int x; > > for (x = 0; x < width; x++) { > - r = macfb_read_byte(s, addr); > - g = macfb_read_byte(s, addr + 1); > - b = macfb_read_byte(s, addr + 2); > - addr += 3; > + r = macfb_read_byte(s, addr + 1); > + g = macfb_read_byte(s, addr + 2); > + b = macfb_read_byte(s, addr + 3); > + addr += 4; > > *(uint32_t *)d = rgb_to_pixel32(r, g, b); > d += 4; > Reviewed-by: Laurent Vivier <laurent@vivier.eu>
diff --git a/hw/display/macfb.c b/hw/display/macfb.c index 0c9e181b9b..29f6ad8eba 100644 --- a/hw/display/macfb.c +++ b/hw/display/macfb.c @@ -224,10 +224,10 @@ static void macfb_draw_line24(MacfbState *s, uint8_t *d, uint32_t addr, int x; for (x = 0; x < width; x++) { - r = macfb_read_byte(s, addr); - g = macfb_read_byte(s, addr + 1); - b = macfb_read_byte(s, addr + 2); - addr += 3; + r = macfb_read_byte(s, addr + 1); + g = macfb_read_byte(s, addr + 2); + b = macfb_read_byte(s, addr + 3); + addr += 4; *(uint32_t *)d = rgb_to_pixel32(r, g, b); d += 4;
According to Apple Technical Note HW26: "Macintosh Quadra Built-In Video" the in-built framebuffer encodes each 24-bit pixel into 4 bytes. Adjust the 24-bit RGB pixel encoding accordingly which agrees with the encoding expected by MacOS when changing into 24-bit colour mode. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> --- hw/display/macfb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)