summary refs log tree commit diff stats
path: root/ui/spice-display.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2016-06-14 15:44:09 +0200
committerGerd Hoffmann <kraxel@redhat.com>2016-07-06 10:32:14 +0200
commit9d8256ebc0ef88fb1f35d0405893962d20cc10ad (patch)
tree7277281fd892119a31e68c5e3bdd1391d67dafb2 /ui/spice-display.c
parentc61d8126fcdc1c70581be55d0082f4510e9cfb26 (diff)
downloadfocaccia-qemu-9d8256ebc0ef88fb1f35d0405893962d20cc10ad.tar.gz
focaccia-qemu-9d8256ebc0ef88fb1f35d0405893962d20cc10ad.zip
virgl: pass whole GL scanout dimensions
Spice client needs the whole GL texture dimension to be able to show a
scanout with a monitor offset (different than +0+0).

Furthermore, this fixes a crash when calling surface_{width,height}()
after dpy_gfx_replace_surface(con, NULL) was called in
virgl_cmd_set_scanout()

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 1465911849-30423-4-git-send-email-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/spice-display.c')
-rw-r--r--ui/spice-display.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 67e50e9a84..99132b69b6 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -861,6 +861,8 @@ static QEMUGLContext qemu_spice_gl_create_context(DisplayChangeListener *dcl,
 static void qemu_spice_gl_scanout(DisplayChangeListener *dcl,
                                   uint32_t tex_id,
                                   bool y_0_top,
+                                  uint32_t backing_width,
+                                  uint32_t backing_height,
                                   uint32_t x, uint32_t y,
                                   uint32_t w, uint32_t h)
 {
@@ -883,9 +885,7 @@ static void qemu_spice_gl_scanout(DisplayChangeListener *dcl,
     assert(!tex_id || fd >= 0);
 
     /* note: spice server will close the fd */
-    spice_qxl_gl_scanout(&ssd->qxl, fd,
-                         surface_width(ssd->ds),
-                         surface_height(ssd->ds),
+    spice_qxl_gl_scanout(&ssd->qxl, fd, backing_width, backing_height,
                          stride, fourcc, y_0_top);
 
     qemu_spice_gl_monitor_config(ssd, x, y, w, h);