mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
ui: simplify gl unblock & flush
GraphicHw.gl_flushed was introduced to notify the device (vhost-user-gpu) that the GL resources (the display scanout) are no longer needed. It was decoupled from QEMU own gl-blocking mechanism, but that difference isn't helping. Instead, we can reuse QEMU gl-blocking and notify virtio_gpu_gl_flushed() when unblocking (to unlock vhost-user-gpu). An extra block/unblock is added arount dpy_gl_update() so existing backends that don't block will have the flush event handled. It will also help when there are no backends associated. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
a9b1e471e1
commit
f6413cbfd0
10 changed files with 8 additions and 32 deletions
|
@ -117,6 +117,10 @@ virtio_gpu_gl_block(void *opaque, bool block)
|
|||
g->renderer_blocked--;
|
||||
}
|
||||
assert(g->renderer_blocked >= 0);
|
||||
|
||||
if (!block && g->renderer_blocked == 0) {
|
||||
virtio_gpu_gl_flushed(g);
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -143,7 +147,6 @@ static const GraphicHwOps virtio_gpu_ops = {
|
|||
.text_update = virtio_gpu_text_update,
|
||||
.ui_info = virtio_gpu_ui_info,
|
||||
.gl_block = virtio_gpu_gl_block,
|
||||
.gl_flushed = virtio_gpu_gl_flushed,
|
||||
};
|
||||
|
||||
bool
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue