diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2018-03-06 10:09:49 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2018-03-12 09:00:34 +0100 |
commit | 4c70280592f5357c66f95173ec907920f48c99fa (patch) | |
tree | c6b448795c29ade6d176b2840f8691e4740c9849 | |
parent | 2f92f37c9ecaa2a51f75455046b4d1b665db5c12 (diff) | |
download | qemu-4c70280592f5357c66f95173ec907920f48c99fa.zip qemu-4c70280592f5357c66f95173ec907920f48c99fa.tar.gz qemu-4c70280592f5357c66f95173ec907920f48c99fa.tar.bz2 |
ui/gtk: use GtkGlArea on wayland only
For dma-buf support we need a egl context. The gtk x11 backend uses glx
contexts though. We can't use the GtkGlArea widget on x11 because of
that, so use our own gtk-egl code instead. wayland continues to use
the GtkGlArea widget.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20180306090951.22932-5-kraxel@redhat.com
-rw-r--r-- | ui/gtk.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -2440,12 +2440,15 @@ static void early_gtk_display_init(DisplayOptions *opts) assert(opts->type == DISPLAY_TYPE_GTK); if (opts->has_gl && opts->gl) { #if defined(CONFIG_OPENGL) -#if defined(CONFIG_GTK_GL) - gtk_use_gl_area = true; - gtk_gl_area_init(); -#else - gtk_egl_init(); +#if defined(CONFIG_GTK_GL) && defined(GDK_WINDOWING_WAYLAND) + if (GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())) { + gtk_use_gl_area = true; + gtk_gl_area_init(); + } #endif + { + gtk_egl_init(); + } #endif } |