[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/7] ati-vga: Fix cursor color with guest_hwcurs
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH 4/7] ati-vga: Fix cursor color with guest_hwcursor=true |
Date: |
Mon, 12 Aug 2019 12:36:48 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 8/12/19 12:28 PM, BALATON Zoltan wrote:
> On Mon, 12 Aug 2019, Philippe Mathieu-Daudé wrote:
>> On 8/11/19 11:14 PM, BALATON Zoltan wrote:
>>> Fixes: a38127414bd007c5b6ae64c664d9e8839393277e
>>> Signed-off-by: BALATON Zoltan <address@hidden>
>>> ---
>>> hw/display/ati.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/hw/display/ati.c b/hw/display/ati.c
>>> index 699f38223b..b849f5d510 100644
>>> --- a/hw/display/ati.c
>>> +++ b/hw/display/ati.c
>>> @@ -207,7 +207,7 @@ static void ati_cursor_draw_line(VGACommonState
>>> *vga, uint8_t *d, int scr_y)
>>> }
>>> } else {
>>> color = (xbits & BIT(7) ? s->regs.cur_color1 :
>>> - s->regs.cur_color0) << 8 |
>>> 0xff;
>>> + s->regs.cur_color0) |
>>> 0xff000000;
>>> }
>>> if (vga->hw_cursor_x + i * 8 + j >= h) {
>>> return; /* end of screen, don't span to next line */
>>>
>>
>> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
>
> Thanks. I've noticed that cursor color may still be wrong with MacOS
> that uses big endian frame buffer so maybe this will also need to take
> frame buffer endianness into account somehow but this patch corrects a
> difference between guest_hwcursor true and false values, reproducible
> with some Linux versions (as far as I remember). While the wrong cursor
> color with MacOS is now consistent after this patch with both
> guest_hwcursor true or false so that likely needs a different fix that
> should be applied both to this place and to ati_cursor_define. (MacOS
> does not yet boot fully, it needs patches to OpenBIOS to be able to run
> an FCode ROM and will probably need the VBlank interrupt implemented in
> ati-vga without which it displays a desktop but freezes there).
If you remember which Linux version had this problem, or you can link to
roms that behave incorrectly, please share, so we can add display
regression tests.
Thanks,
Phil.
- [Qemu-devel] [PATCH 0/7] Resend of all outstanding ati-vga patches, BALATON Zoltan, 2019/08/11
- [Qemu-devel] [PATCH 3/7] ati-vga: Fix GPIO_MONID register write, BALATON Zoltan, 2019/08/11
- [Qemu-devel] [PATCH 7/7] ati-vga: Add limited support for big endian frame buffer aperture, BALATON Zoltan, 2019/08/11
- [Qemu-devel] [PATCH 2/7] ati-vga: Add some register definitions for debugging, BALATON Zoltan, 2019/08/11
- [Qemu-devel] [PATCH 6/7] ati-vga: Attempt to handle CRTC offset not exact multiple of stride, BALATON Zoltan, 2019/08/11
- [Qemu-devel] [PATCH 5/7] ati-vga: Fix hardware cursor image offset, BALATON Zoltan, 2019/08/11
- [Qemu-devel] [PATCH 1/7] ati-vga: Add registers for getting apertures, BALATON Zoltan, 2019/08/11
- [Qemu-devel] [PATCH 4/7] ati-vga: Fix cursor color with guest_hwcursor=true, BALATON Zoltan, 2019/08/11