diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2017-04-05 09:02:46 +0100 |
---|---|---|
committer | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2017-04-21 09:02:04 +0100 |
commit | 4b865c28099ddd365062f46dd1ad83c03b2468eb (patch) | |
tree | 971f0e0b7baa05c3ca7ff833980f23895511f76a /hw/display | |
parent | 9800b3c20e79b4203f08ca13c7c3cb602cda1618 (diff) |
tcx: ensure tcx_set_dirty() also invalidates the 24-bit plane and cplane
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display')
-rw-r--r-- | hw/display/tcx.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/display/tcx.c b/hw/display/tcx.c index d24466f59d..6817bd207d 100644 --- a/hw/display/tcx.c +++ b/hw/display/tcx.c @@ -96,6 +96,13 @@ typedef struct TCXState { static void tcx_set_dirty(TCXState *s, ram_addr_t addr, int len) { memory_region_set_dirty(&s->vram_mem, addr, len); + + if (s->depth == 24) { + memory_region_set_dirty(&s->vram_mem, s->vram24_offset + addr * 4, + len * 4); + memory_region_set_dirty(&s->vram_mem, s->cplane_offset + addr * 4, + len * 4); + } } static inline int tcx24_check_dirty(TCXState *s, ram_addr_t page, |