summary refs log tree commit diff stats
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
parentab75ecb79be3b856f63bef4c91aef0dc17d405cb (diff)
downloadfocaccia-qemu-f89761d349999a3d898b35fd85737cf25114d44a.tar.gz
focaccia-qemu-f89761d349999a3d898b35fd85737cf25114d44a.zip
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>
-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 77d709a3d6..e91a76bf76 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);