diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2021-02-04 14:52:27 +0400 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2021-02-04 15:58:54 +0100 |
commit | 52a37e20dbb880ba909e7d0a89e57f77387d25a0 (patch) | |
tree | 785186223cb6b92e94b8359d1ee306e2e1a54a51 /ui/gtk.c | |
parent | 0df5c72b3b6e693d2347409b0e3057186c9173a0 (diff) |
ui: check gtk-egl dmabuf support
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210204105232.834642-16-marcandre.lureau@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/gtk.c')
-rw-r--r-- | ui/gtk.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -623,6 +623,13 @@ static const DisplayChangeListenerOps dcl_ops = { #if defined(CONFIG_OPENGL) +static bool gd_has_dmabuf(DisplayChangeListener *dcl) +{ + VirtualConsole *vc = container_of(dcl, VirtualConsole, gfx.dcl); + + return vc->gfx.has_dmabuf; +} + /** DisplayState Callbacks (opengl version) **/ static const DisplayChangeListenerOps dcl_gl_area_ops = { @@ -661,6 +668,7 @@ static const DisplayChangeListenerOps dcl_egl_ops = { .dpy_gl_cursor_position = gd_egl_cursor_position, .dpy_gl_release_dmabuf = gd_egl_release_dmabuf, .dpy_gl_update = gd_egl_scanout_flush, + .dpy_has_dmabuf = gd_has_dmabuf, }; #endif /* CONFIG_OPENGL */ @@ -2004,6 +2012,7 @@ static GSList *gd_vc_gfx_init(GtkDisplayState *s, VirtualConsole *vc, gtk_widget_set_double_buffered(vc->gfx.drawing_area, FALSE); #pragma GCC diagnostic pop vc->gfx.dcl.ops = &dcl_egl_ops; + vc->gfx.has_dmabuf = qemu_egl_has_dmabuf(); } } else #endif |