From: Gerd Hoffmann <kraxel@redhat.com> To: qemu-devel@nongnu.org Cc: Gerd Hoffmann <kraxel@redhat.com> Subject: [Qemu-devel] [PULL 2/6] console: block rendering until client is done Date: Wed, 3 Feb 2016 12:16:44 +0100 [thread overview] Message-ID: <1454498208-15164-3-git-send-email-kraxel@redhat.com> (raw) In-Reply-To: <1454498208-15164-1-git-send-email-kraxel@redhat.com> Allow gl user interfaces to block display device gl rendering. The ui code might want to do that in case it takes a little longer to bring things to screen, for example because we'll hand over a dma-buf to another process (spice will do that). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- include/ui/console.h | 2 ++ ui/console.c | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/ui/console.h b/include/ui/console.h index adac36d..12ad627 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -362,6 +362,7 @@ typedef struct GraphicHwOps { void (*text_update)(void *opaque, console_ch_t *text); void (*update_interval)(void *opaque, uint64_t interval); int (*ui_info)(void *opaque, uint32_t head, QemuUIInfo *info); + void (*gl_block)(void *opaque, bool block); } GraphicHwOps; QemuConsole *graphic_console_init(DeviceState *dev, uint32_t head, @@ -374,6 +375,7 @@ void graphic_console_set_hwops(QemuConsole *con, void graphic_hw_update(QemuConsole *con); void graphic_hw_invalidate(QemuConsole *con); void graphic_hw_text_update(QemuConsole *con, console_ch_t *chardata); +void graphic_hw_gl_block(QemuConsole *con, bool block); QemuConsole *qemu_console_lookup_by_index(unsigned int index); QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head); diff --git a/ui/console.c b/ui/console.c index fe950c6..791b4fc 100644 --- a/ui/console.c +++ b/ui/console.c @@ -261,6 +261,16 @@ void graphic_hw_update(QemuConsole *con) } } +void graphic_hw_gl_block(QemuConsole *con, bool block) +{ + if (!con) { + con = active_console; + } + if (con && con->hw_ops->gl_block) { + con->hw_ops->gl_block(con->hw, block); + } +} + void graphic_hw_invalidate(QemuConsole *con) { if (!con) { -- 1.8.3.1
next prev parent reply other threads:[~2016-02-03 11:17 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-02-03 11:16 [Qemu-devel] [PULL 0/6] virtio-gpu: bugfixes and spice support preparation Gerd Hoffmann 2016-02-03 11:16 ` [Qemu-devel] [PULL 1/6] zap qemu_egl_has_ext in include/ui/egl-helpers.h Gerd Hoffmann 2016-02-03 11:16 ` Gerd Hoffmann [this message] 2016-02-03 11:16 ` [Qemu-devel] [PULL 3/6] virtio-gpu: fix memory leak in error path Gerd Hoffmann 2016-02-03 11:16 ` [Qemu-devel] [PULL 4/6] virtio-gpu: maintain command queue Gerd Hoffmann 2016-02-03 11:16 ` [Qemu-devel] [PULL 5/6] virtio-gpu: add support to enable/disable command processing Gerd Hoffmann 2016-02-03 11:16 ` [Qemu-devel] [PULL 6/6] virtio-gpu: block any rendering until client (ui) is done Gerd Hoffmann 2016-02-03 12:56 ` [Qemu-devel] [PULL 0/6] virtio-gpu: bugfixes and spice support preparation Peter Maydell
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1454498208-15164-3-git-send-email-kraxel@redhat.com \ --to=kraxel@redhat.com \ --cc=qemu-devel@nongnu.org \ --subject='Re: [Qemu-devel] [PULL 2/6] console: block rendering until client is done' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.