qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] vga: do not resize the screen on hw_invalidate


From: Stefano Stabellini
Subject: [Qemu-devel] [PATCH] vga: do not resize the screen on hw_invalidate
Date: Mon, 3 Aug 2009 16:14:39 +0100
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)

Hi all,
currently vga always resizes the screen when vga_hw_invalidate is called
while this is not required and all the other graphic emulators don't.
This patch fixes it, making vga invalidate behaviour consistent with the
other emulated devices.

Signed-off-by: Stefano Stabellini <address@hidden>

---
 hw/vga.c     |    6 +++---
 hw/vga_int.h |    1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/hw/vga.c b/hw/vga.c
index 4d74ffe..53b5ff6 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -1837,7 +1837,8 @@ static void vga_update_display(void *opaque)
     if (ds_get_bits_per_pixel(s->ds) == 0) {
         /* nothing to do */
     } else {
-        full_update = 0;
+        full_update = s->full_update;
+        s->full_update = 0;
         if (!(s->ar_index & 0x20)) {
             graphic_mode = GMODE_BLANK;
         } else {
@@ -1867,8 +1868,7 @@ static void vga_invalidate_display(void *opaque)
 {
     VGAState *s = (VGAState *)opaque;
 
-    s->last_width = -1;
-    s->last_height = -1;
+    s->full_update = 1;
 }
 
 void vga_reset(void *opaque)
diff --git a/hw/vga_int.h b/hw/vga_int.h
index 631b1b0..8fdf51d 100644
--- a/hw/vga_int.h
+++ b/hw/vga_int.h
@@ -158,6 +158,7 @@ typedef struct VGACommonState {
     uint32_t last_width, last_height; /* in chars or pixels */
     uint32_t last_scr_width, last_scr_height; /* in pixels */
     uint32_t last_depth; /* in bits */
+    uint8_t full_update;
     uint8_t cursor_start, cursor_end;
     uint32_t cursor_offset;
     unsigned int (*rgb_to_pixel)(unsigned int r,
-- 
1.5.4.3





reply via email to

[Prev in Thread] Current Thread [Next in Thread]