diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2021-01-25 14:53:18 +0400 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2021-12-21 10:50:21 +0400 |
commit | 4f4181499170dcf80182745b319607802ea32896 (patch) | |
tree | df9d6c19806cfc3db5f586593d53bbdfc3a21dc6 | |
parent | ca19ef52999251443b511b53e7b0498dd247261e (diff) |
ui: factor out qemu_console_set_display_gl_ctx()
The next patch will make use of this function to dissociate
DisplayChangeListener from GL context.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-rw-r--r-- | include/ui/console.h | 3 | ||||
-rw-r--r-- | ui/console.c | 22 |
2 files changed, 17 insertions, 8 deletions
diff --git a/include/ui/console.h b/include/ui/console.h index 65e6bbcab8..fb10e6d60c 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -411,6 +411,9 @@ void graphic_hw_gl_flushed(QemuConsole *con); void qemu_console_early_init(void); +void qemu_console_set_display_gl_ctx(QemuConsole *con, + DisplayChangeListener *dcl); + QemuConsole *qemu_console_lookup_by_index(unsigned int index); QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head); QemuConsole *qemu_console_lookup_by_device_name(const char *device_id, diff --git a/ui/console.c b/ui/console.c index dcc21eb5b2..7b83e6cdea 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1443,6 +1443,19 @@ static bool dpy_compatible_with(QemuConsole *con, return true; } +void qemu_console_set_display_gl_ctx(QemuConsole *con, + DisplayChangeListener *dcl) +{ + /* display has opengl support */ + assert(dcl->con); + if (dcl->con->gl) { + fprintf(stderr, "can't register two opengl displays (%s, %s)\n", + dcl->ops->dpy_name, dcl->con->gl->ops->dpy_name); + exit(1); + } + dcl->con->gl = dcl; +} + void register_displaychangelistener(DisplayChangeListener *dcl) { static const char nodev[] = @@ -1453,14 +1466,7 @@ void register_displaychangelistener(DisplayChangeListener *dcl) assert(!dcl->ds); if (dcl->ops->dpy_gl_ctx_create) { - /* display has opengl support */ - assert(dcl->con); - if (dcl->con->gl) { - fprintf(stderr, "can't register two opengl displays (%s, %s)\n", - dcl->ops->dpy_name, dcl->con->gl->ops->dpy_name); - exit(1); - } - dcl->con->gl = dcl; + qemu_console_set_display_gl_ctx(dcl->con, dcl); } if (dcl->con) { |