spice/gl: render DisplaySurface via opengl

This switches over spice (in opengl mode) to render DisplaySurface
updates into a opengl texture, using the helper functions in
ui/console-gl.c.  With this patch applied spice (with gl=on) will
stop using qxl rendering ops, it will use dma-buf passing all the
time, i.e. for bios/bootloader (before virtio-gpu driver is loaded)
too.

This should improve performance even using spice (with gl=on) with
non-accelerated stdvga because we stop squeezing all display updates
through a unix/tcp socket and basically using a shared memory transport
instead.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1474617028-3979-3-git-send-email-kraxel@redhat.com
This commit is contained in:
Gerd Hoffmann 2016-09-23 09:50:28 +02:00
parent f607867cef
commit 4423184376
2 changed files with 88 additions and 9 deletions

View file

@ -119,7 +119,10 @@ struct SimpleSpiceDisplay {
/* opengl rendering */
QEMUBH *gl_unblock_bh;
QEMUTimer *gl_unblock_timer;
int dmabuf_fd;
ConsoleGLState *gls;
int gl_updates;
bool have_scanout;
bool have_surface;
#endif
};