This allows us to reduce the size of the surfaces bar minimally while
not breaking current drivers. To completely disable the bar, or make it
zero sized, would break them.

Signed-off-by: Alon Levy <al...@redhat.com>
---
 hw/qxl.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/qxl.c b/hw/qxl.c
index ac69125..b1a2daa 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1556,10 +1556,12 @@ static int qxl_init_common(PCIQXLDevice *qxl)
     init_qxl_rom(qxl);
     init_qxl_ram(qxl);
 
-    if (qxl->vram_size < 16 * 1024 * 1024) {
+    /* a request of 0 vram_size is translated to the smallest vram that doesn't
+     * break current off screen surfaces using drivers */
+    if (qxl->vram_size > 0 && qxl->vram_size < 16 * 1024 * 1024) {
         qxl->vram_size = 16 * 1024 * 1024;
     }
-    if (qxl->revision == 1) {
+    if (qxl->revision == 1 || qxl->vram_size == 0) {
         qxl->vram_size = 4096;
     }
     qxl->vram_size = msb_mask(qxl->vram_size * 2 - 1);
-- 
1.7.9


Reply via email to