[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 08/12] console: track gl_block state in QemuConso
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH v2 08/12] console: track gl_block state in QemuConsole |
Date: |
Fri, 19 Feb 2016 10:14:45 +0100 |
Keep track of gl_block state (added in bba19b8 console: block rendering
until client is done) in QemuConsole and allow to query it. This way
we can avoid state inconsistencies in case different code paths make use
of this.
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
---
include/ui/console.h | 1 +
ui/console.c | 15 +++++++++++----
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/include/ui/console.h b/include/ui/console.h
index c8f9f7e..9672ad9 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -382,6 +382,7 @@ QemuConsole *qemu_console_lookup_by_device(DeviceState
*dev, uint32_t head);
bool qemu_console_is_visible(QemuConsole *con);
bool qemu_console_is_graphic(QemuConsole *con);
bool qemu_console_is_fixedsize(QemuConsole *con);
+bool qemu_console_is_gl_blocked(QemuConsole *con);
char *qemu_console_get_label(QemuConsole *con);
int qemu_console_get_index(QemuConsole *con);
uint32_t qemu_console_get_head(QemuConsole *con);
diff --git a/ui/console.c b/ui/console.c
index b739ae9..215c98d 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -123,6 +123,7 @@ struct QemuConsole {
DisplaySurface *surface;
int dcls;
DisplayChangeListener *gl;
+ bool gl_block;
/* Graphic console state. */
Object *device;
@@ -264,10 +265,10 @@ 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) {
+ assert(con != NULL);
+
+ con->gl_block = block;
+ if (con->hw_ops->gl_block) {
con->hw_ops->gl_block(con->hw, block);
}
}
@@ -1811,6 +1812,12 @@ bool qemu_console_is_fixedsize(QemuConsole *con)
return con && (con->console_type != TEXT_CONSOLE);
}
+bool qemu_console_is_gl_blocked(QemuConsole *con)
+{
+ assert(con != NULL);
+ return con->gl_block;
+}
+
char *qemu_console_get_label(QemuConsole *con)
{
if (con->console_type == GRAPHIC_CONSOLE) {
--
1.8.3.1
- [Qemu-devel] [PATCH v2 00/12] spice: add opengl/virgl/dmabuf support, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 06/12] spice: add unblock timer, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 02/12] configure: add dma-buf support detection., Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 07/12] spice: tweak debug messages., Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 10/12] spice/gl: create dummy primary surface (RfC), Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 01/12] spice: init dcl before registering qxl interface, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 03/12] egl-helpers: add functions for render nodes and dma-buf passing, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 11/12] spice: add & use qemu_spice_gl_monitor_config, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 04/12] spice: reset cursor on resize, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 12/12] [fixup] spice: qemu_spice_gl_monitor_config + surface, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 08/12] console: track gl_block state in QemuConsole,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH v2 09/12] spice/gl: render DisplaySurface via opengl, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 05/12] spice: add opengl/virgl/dmabuf support, Gerd Hoffmann, 2016/02/19