]> git.ipfire.org Git - thirdparty/qemu.git/commit - hw/display/virtio-gpu.c
display/ui: add a callback to indicate GL state is flushed
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Thu, 4 Feb 2021 10:52:30 +0000 (14:52 +0400)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 4 Feb 2021 14:58:54 +0000 (15:58 +0100)
commit3cddb8b9e0b58eea04e6eb908fc6a12d5af3d3cb
tree3c3aed83b87348628a62e8c5c719d087b21498e9
parentf8f3c2719e11145d4f2902c562f7979df741daf0
display/ui: add a callback to indicate GL state is flushed

Displaying rendered resources requires blocking qemu GPU to avoid extra
framebuffer copies. For an external display, via Spice currently, there
is a callback to block/unblock the rendering in the same thread.

But with the vhost-user-gpu backend, the qemu process doesn't handle
the rendering itself, and the blocking callback isn't effective.
Instead, the backend must be notified when the display code is done.

Fix this by adding a new GraphicHwOps callback to indicate the GL state
is flushed, and we are done manipulating the shared GL resources. Call
it from gtk and spice display.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210204105232.834642-19-marcandre.lureau@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/display/vhost-user-gpu.c
hw/display/virtio-gpu-base.c
hw/display/virtio-gpu.c
hw/display/virtio-vga.c
include/hw/virtio/virtio-gpu.h
include/ui/console.h
ui/console.c
ui/gtk-egl.c
ui/gtk-gl-area.c
ui/sdl2-gl.c
ui/spice-display.c