aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-04-02 13:27:59 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2024-04-18 11:17:27 +0200
commitf89761d349999a3d898b35fd85737cf25114d44a (patch)
tree75b0498a709e4adaf251ac06fd5408ced80ee487 /hw
parentab75ecb79be3b856f63bef4c91aef0dc17d405cb (diff)
downloadqemu-f89761d349999a3d898b35fd85737cf25114d44a.zip
qemu-f89761d349999a3d898b35fd85737cf25114d44a.tar.gz
qemu-f89761d349999a3d898b35fd85737cf25114d44a.tar.bz2
vga: move dirty memory region code together
Take into account split screen mode close to wrap around, which is the other special case for dirty memory region computation. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/display/vga.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/display/vga.c b/hw/display/vga.c
index 77d709a..e91a76b 100644
--- a/hw/display/vga.c
+++ b/hw/display/vga.c
@@ -1596,6 +1596,10 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
region_end = s->vbe_size;
force_shadow = true;
}
+ if (s->params.line_compare < height) {
+ /* split screen mode */
+ region_start = 0;
+ }
/*
* Check whether we can share the surface with the backend
@@ -1667,10 +1671,6 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
y1 = 0;
if (!full_update) {
- if (s->params.line_compare < height) {
- /* split screen mode */
- region_start = 0;
- }
snap = memory_region_snapshot_and_clear_dirty(&s->vram, region_start,
region_end - region_start,
DIRTY_MEMORY_VGA);