spice: flush drawing before notifying client
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 16 Feb 2021 09:20:56 +0000 (13:20 +0400)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 19 Feb 2021 14:00:12 +0000 (15:00 +0100)
This solves the client having slow/outdated VGA/2D console. It's a
regression introduced when the code was switched to render it via opengl
in commit 4423184376d ("spice/gl: render DisplaySurface via opengl")

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210216092056.2301293-2-marcandre.lureau@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
ui/spice-display.c

index d562c6408405d2aa10520437f570436009b0bf6b..ad93b953a90cc69b0bd5d626bf419c959cdf8c34 100644 (file)
@@ -846,6 +846,7 @@ static void spice_gl_refresh(DisplayChangeListener *dcl)
     graphic_hw_update(dcl->con);
     if (ssd->gl_updates && ssd->have_surface) {
         qemu_spice_gl_block(ssd, true);
+        glFlush();
         cookie = (uintptr_t)qxl_cookie_new(QXL_COOKIE_TYPE_GL_DRAW_DONE, 0);
         spice_qxl_gl_draw_async(&ssd->qxl, 0, 0,
                                 surface_width(ssd->ds),