From 97edf3bd5eab8952d475de66ede77307c12b8c48 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 20 Jan 2015 12:43:28 +0100 Subject: 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 --- vl.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'vl.c') 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) -- cgit v1.1