diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2015-04-22 13:12:40 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-06-05 17:09:58 +0200 |
commit | 5299c0f2cf951c23ec681ff87e455d1cf4ec537b (patch) | |
tree | f19e55e98a35b53950429fa14857791783740707 /hw/display | |
parent | 74259ae55b15bff4ef7b26faa6431a3ff16d7c9d (diff) | |
download | hqemu-5299c0f2cf951c23ec681ff87e455d1cf4ec537b.zip hqemu-5299c0f2cf951c23ec681ff87e455d1cf4ec537b.tar.gz |
display: add memory_region_sync_dirty_bitmap calls
These are strictly speaking only needed for KVM and Xen, but it's still
nice to be consistent.
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/display')
-rw-r--r-- | hw/display/cg3.c | 1 | ||||
-rw-r--r-- | hw/display/g364fb.c | 1 | ||||
-rw-r--r-- | hw/display/sm501.c | 1 | ||||
-rw-r--r-- | hw/display/tcx.c | 2 |
4 files changed, 5 insertions, 0 deletions
diff --git a/hw/display/cg3.c b/hw/display/cg3.c index cbcf518..b94e5e0 100644 --- a/hw/display/cg3.c +++ b/hw/display/cg3.c @@ -106,6 +106,7 @@ static void cg3_update_display(void *opaque) pix = memory_region_get_ram_ptr(&s->vram_mem); data = (uint32_t *)surface_data(surface); + memory_region_sync_dirty_bitmap(&s->vram_mem); for (y = 0; y < height; y++) { int update = s->full_update; diff --git a/hw/display/g364fb.c b/hw/display/g364fb.c index be62dd6..52a9733 100644 --- a/hw/display/g364fb.c +++ b/hw/display/g364fb.c @@ -260,6 +260,7 @@ static void g364fb_update_display(void *opaque) qemu_console_resize(s->con, s->width, s->height); } + memory_region_sync_dirty_bitmap(&s->mem_vram); if (s->ctla & CTLA_FORCE_BLANK) { g364fb_draw_blank(s); } else if (s->depth == 8) { diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 43f8538..15a5ba8 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c @@ -1322,6 +1322,7 @@ static void sm501_draw_crt(SM501State * s) } /* draw each line according to conditions */ + memory_region_sync_dirty_bitmap(&s->local_mem_region); for (y = 0; y < height; y++) { int update_hwc = draw_hwc_line ? within_hwc_y_range(s, y, 1) : 0; int update = full_update || update_hwc; diff --git a/hw/display/tcx.c b/hw/display/tcx.c index 58faa96..f3faf78 100644 --- a/hw/display/tcx.c +++ b/hw/display/tcx.c @@ -353,6 +353,7 @@ static void tcx_update_display(void *opaque) return; } + memory_region_sync_dirty_bitmap(&ts->vram_mem); for (y = 0; y < ts->height; page += TARGET_PAGE_SIZE) { if (memory_region_get_dirty(&ts->vram_mem, page, TARGET_PAGE_SIZE, DIRTY_MEMORY_VGA)) { @@ -446,6 +447,7 @@ static void tcx24_update_display(void *opaque) dd = surface_stride(surface); ds = 1024; + memory_region_sync_dirty_bitmap(&ts->vram_mem); for (y = 0; y < ts->height; page += TARGET_PAGE_SIZE, page24 += TARGET_PAGE_SIZE, cpage += TARGET_PAGE_SIZE) { if (tcx24_check_dirty(ts, page, page24, cpage)) { |