[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/5] sm501: Perform a full update after palette
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH 2/5] sm501: Perform a full update after palette change |
Date: |
Thu, 21 Jun 2018 22:34:30 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 06/21/2018 05:08 AM, BALATON Zoltan wrote:
> From: Sebastian Bauer <address@hidden>
>
> Changing the palette of a color index has as an immediate effect on
> all pixels with the corresponding index on real hardware. Performing a
> full update after a palette change is a simple way to emulate this
> effect.
>
> Signed-off-by: Sebastian Bauer <address@hidden>
> Signed-off-by: BALATON Zoltan <address@hidden>
> ---
>
> Notes:
> v4: Updated commit message
>
> hw/display/sm501.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/hw/display/sm501.c b/hw/display/sm501.c
> index 0625cf5..a2ee6e3 100644
> --- a/hw/display/sm501.c
> +++ b/hw/display/sm501.c
> @@ -479,6 +479,7 @@ typedef struct SM501State {
> MemoryRegion twoD_engine_region;
> uint32_t last_width;
> uint32_t last_height;
> + uint32_t do_full_update; /* perform a full update next time */
Can this be a bool?
> I2CBus *i2c_bus;
>
> /* mmio registers */
> @@ -1032,6 +1033,7 @@ static void sm501_palette_write(void *opaque, hwaddr
> addr,
>
> assert(range_covers_byte(0, 0x400 * 3, addr));
> *(uint32_t *)&s->dc_palette[addr] = value;
> + s->do_full_update = 1;
> }
>
> static uint64_t sm501_disp_ctrl_read(void *opaque, hwaddr addr,
> @@ -1620,6 +1622,12 @@ static void sm501_update_display(void *opaque)
> full_update = 1;
> }
>
> + /* someone else requested a full update */
> + if (s->do_full_update) {
> + s->do_full_update = 0;
> + full_update = 1;
> + }
> +
> /* draw each line according to conditions */
> snap = memory_region_snapshot_and_clear_dirty(&s->local_mem_region,
> offset, width * height * src_bpp, DIRTY_MEMORY_VGA);
>
- [Qemu-devel] [PATCH 0/5] Misc sm501 improvements, BALATON Zoltan, 2018/06/21
- [Qemu-devel] [PATCH 1/5] sm501: Implement i2c part for reading monitor EDID, BALATON Zoltan, 2018/06/21
- [Qemu-devel] [PATCH 3/5] sm501: Use values from the pitch register for 2d operations, BALATON Zoltan, 2018/06/21
- [Qemu-devel] [PATCH 4/5] sm501: Set updated region dirty after 2D operation, BALATON Zoltan, 2018/06/21
- [Qemu-devel] [PATCH 5/5] sm501: Fix support for non-zero frame buffer start address, BALATON Zoltan, 2018/06/21
- Re: [Qemu-devel] [PATCH 0/5] Misc sm501 improvements, David Gibson, 2018/06/21