Message ID | 20211002110007.30825-10-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: > The MacOS driver expects the RGB values for the pixel to be in entries 0 and 1 > of the colour palette. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > --- > hw/display/macfb.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/hw/display/macfb.c b/hw/display/macfb.c > index 6a69334565..0c9e181b9b 100644 > --- a/hw/display/macfb.c > +++ b/hw/display/macfb.c > @@ -128,7 +128,9 @@ static void macfb_draw_line1(MacfbState *s, uint8_t *d, uint32_t addr, > for (x = 0; x < width; x++) { > int bit = x & 7; > int idx = (macfb_read_byte(s, addr) >> (7 - bit)) & 1; > - r = g = b = ((1 - idx) << 7); > + r = s->color_palette[idx * 3]; > + g = s->color_palette[idx * 3 + 1]; > + b = s->color_palette[idx * 3 + 2]; > addr += (bit == 7); > > *(uint32_t *)d = rgb_to_pixel32(r, g, b); > Reviewed-by: Laurent Vivier <laurent@vivier.eu>
diff --git a/hw/display/macfb.c b/hw/display/macfb.c index 6a69334565..0c9e181b9b 100644 --- a/hw/display/macfb.c +++ b/hw/display/macfb.c @@ -128,7 +128,9 @@ static void macfb_draw_line1(MacfbState *s, uint8_t *d, uint32_t addr, for (x = 0; x < width; x++) { int bit = x & 7; int idx = (macfb_read_byte(s, addr) >> (7 - bit)) & 1; - r = g = b = ((1 - idx) << 7); + r = s->color_palette[idx * 3]; + g = s->color_palette[idx * 3 + 1]; + b = s->color_palette[idx * 3 + 2]; addr += (bit == 7); *(uint32_t *)d = rgb_to_pixel32(r, g, b);
The MacOS driver expects the RGB values for the pixel to be in entries 0 and 1 of the colour palette. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> --- hw/display/macfb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)