Merge remote-tracking branch 'remotes/kraxel/tags/ui-20180427-pull-request' into staging

vnc: fix use-after-free.
sdl2: gles support.
vfio-display: add reset support.

# gpg: Signature made Fri 27 Apr 2018 10:54:17 BST
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/ui-20180427-pull-request:
  ui: introduce vfio_display_reset
  console: introduce dpy_gfx_update_full
  sdl: Allow OpenGL ES context creation
  sdl: Move DisplayOptions global to sdl2_console
  qapi: Parameter gl of DisplayType now accept an enum
  vnc: fix use-after-free

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell
2018-04-27 11:39:31 +01:00
12 changed files with 82 additions and 16 deletions

14
vl.c
View File

@@ -2143,9 +2143,13 @@ static void parse_display(const char *p)
opts = nextopt;
dpy.has_gl = true;
if (strstart(opts, "on", &nextopt)) {
dpy.gl = true;
dpy.gl = DISPLAYGL_MODE_ON;
} else if (strstart(opts, "core", &nextopt)) {
dpy.gl = DISPLAYGL_MODE_CORE;
} else if (strstart(opts, "es", &nextopt)) {
dpy.gl = DISPLAYGL_MODE_ES;
} else if (strstart(opts, "off", &nextopt)) {
dpy.gl = false;
dpy.gl = DISPLAYGL_MODE_OFF;
} else {
goto invalid_sdl_args;
}
@@ -2186,9 +2190,9 @@ static void parse_display(const char *p)
opts = nextopt;
dpy.has_gl = true;
if (strstart(opts, "on", &nextopt)) {
dpy.gl = true;
dpy.gl = DISPLAYGL_MODE_ON;
} else if (strstart(opts, "off", &nextopt)) {
dpy.gl = false;
dpy.gl = DISPLAYGL_MODE_OFF;
} else {
goto invalid_gtk_args;
}
@@ -4356,7 +4360,7 @@ int main(int argc, char **argv, char **envp)
qemu_display_early_init(&dpy);
qemu_console_early_init();
if (dpy.has_gl && dpy.gl && display_opengl == 0) {
if (dpy.has_gl && dpy.gl != DISPLAYGL_MODE_OFF && display_opengl == 0) {
#if defined(CONFIG_OPENGL)
error_report("OpenGL is not supported by the display");
#else