summary refs log tree commit diff stats
path: root/hw/display/vmware_vga.c
diff options
context:
space:
mode:
authorPeter Lieven <pl@kamp.de>2014-03-17 18:38:58 +0100
committerGerd Hoffmann <kraxel@redhat.com>2014-03-18 08:21:24 +0100
commit2f487a3d40faff1772e14da6b921900915501f9a (patch)
treeba7f86464074760b41354e7acbf97a68f17e8213 /hw/display/vmware_vga.c
parent315b59344126beab85a62b53582794b14436a5a4 (diff)
downloadfocaccia-qemu-2f487a3d40faff1772e14da6b921900915501f9a.tar.gz
focaccia-qemu-2f487a3d40faff1772e14da6b921900915501f9a.zip
ui/vnc: fix vmware VGA incompatiblities
this fixes invalid rectangle updates observed after commit 12b316d
with the vmware VGA driver. The issues occured because the server
and client surface update seems to be out of sync at some points
and the max width of the surface is not dividable by
VNC_DIRTY_BITS_PER_PIXEL (16).

Reported-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display/vmware_vga.c')
-rw-r--r--hw/display/vmware_vga.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c
index bd2c108c42..6ae3348deb 100644
--- a/hw/display/vmware_vga.c
+++ b/hw/display/vmware_vga.c
@@ -25,6 +25,7 @@
 #include "hw/loader.h"
 #include "trace.h"
 #include "ui/console.h"
+#include "ui/vnc.h"
 #include "hw/pci/pci.h"
 
 #undef VERBOSE
@@ -218,7 +219,7 @@ enum {
 
 /* These values can probably be changed arbitrarily.  */
 #define SVGA_SCRATCH_SIZE               0x8000
-#define SVGA_MAX_WIDTH                  2360
+#define SVGA_MAX_WIDTH                  ROUND_UP(2360, VNC_DIRTY_PIXELS_PER_BIT)
 #define SVGA_MAX_HEIGHT                 1770
 
 #ifdef VERBOSE