Commit 62f27922 authored by Elie Tournier's avatar Elie Tournier Committed by Gerd Hoffmann
Browse files

qapi: Parameter gl of DisplayType now accept an enum



v2: Rebase on top of master
v3: Fix the json format (Eric Blake)
    Fix a comparison issue (Gerd Hoffmann)

Signed-off-by: default avatarElie Tournier <elie.tournier@collabora.com>
Message-id: 20180413135842.21325-2-tournier.elie@gmail.com
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 1bc3117a
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -1019,6 +1019,24 @@
{ 'struct'  : 'DisplayGTK',
  'data'    : { '*grab-on-hover' : 'bool' } }

 ##
 # @DisplayGLMode:
 #
 # Display OpenGL mode.
 #
 # @off: Disable OpenGL (default).
 # @on: Use OpenGL, pick context type automatically.
 #      Would better be named 'auto' but is called 'on' for backward
 #      compatibility with bool type.
 # @core: Use OpenGL with Core (desktop) Context.
 # @es: Use OpenGL with ES (embedded systems) Context.
 #
 # Since: 2.13
 #
 ##
 { 'enum'    : 'DisplayGLMode',
   'data'    : [ 'off', 'on', 'core', 'es' ] }

##
# @DisplayType:
#
@@ -1048,7 +1066,7 @@
  'base'    : { 'type'           : 'DisplayType',
                '*full-screen'   : 'bool',
                '*window-close'  : 'bool',
                '*gl'            : 'bool' },
                '*gl'            : 'DisplayGLMode' },
  'discriminator' : 'type',
  'data'    : { 'default'        : 'DisplayNoOpts',
                'none'           : 'DisplayNoOpts',
+5 −5
Original line number Diff line number Diff line
@@ -2143,9 +2143,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_sdl_args;
                }
@@ -2186,9 +2186,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 +4356,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