aboutsummaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2015-01-20 12:43:28 +0100
committerGerd Hoffmann <kraxel@redhat.com>2015-05-29 11:43:29 +0200
commit97edf3bd5eab8952d475de66ede77307c12b8c48 (patch)
treeda07e1c0c8b138ae4b48c457b61d40474aeb7fa2 /vl.c
parent7ced9e9f6da2257224591b91727cfeee4f3977fb (diff)
downloadqemu-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.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/vl.c b/vl.c
index 15bccc4..26b1e7e 100644
--- a/vl.c
+++ b/vl.c
@@ -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)