diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2015-01-20 12:43:28 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2015-05-29 11:43:29 +0200 |
commit | 97edf3bd5eab8952d475de66ede77307c12b8c48 (patch) | |
tree | da07e1c0c8b138ae4b48c457b61d40474aeb7fa2 /vl.c | |
parent | 7ced9e9f6da2257224591b91727cfeee4f3977fb (diff) | |
download | qemu-97edf3bd5eab8952d475de66ede77307c12b8c48.zip qemu-97edf3bd5eab8952d475de66ede77307c12b8c48.tar.gz qemu-97edf3bd5eab8952d475de66ede77307c12b8c48.tar.bz2 |
gtk: add opengl support, using egl
This adds opengl rendering support to the gtk ui, using egl.
It's off by default for now, use 'qemu -display gtk,gl=on'
to play with this.
Note that gtk got native opengl support with release 3.16.
There most likely will be a separate implementation for 3.16+,
using the native gtk opengl support. This patch covers older
versions (and for the time being 3.16 too, hopefully without
rendering quirks).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -2047,6 +2047,15 @@ static DisplayType select_display(const char *p) } else { goto invalid_gtk_args; } + } else if (strstart(opts, ",gl=", &nextopt)) { + opts = nextopt; + if (strstart(opts, "on", &nextopt)) { + request_opengl = 1; + } else if (strstart(opts, "off", &nextopt)) { + request_opengl = 0; + } else { + goto invalid_gtk_args; + } } else { invalid_gtk_args: fprintf(stderr, "Invalid GTK option string: %s\n", p); @@ -4012,7 +4021,7 @@ int main(int argc, char **argv, char **envp) #if defined(CONFIG_GTK) if (display_type == DT_GTK) { - early_gtk_display_init(); + early_gtk_display_init(request_opengl); } #endif #if defined(CONFIG_SDL) |