diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2015-05-26 12:26:21 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2015-10-08 10:34:53 +0200 |
commit | 925a04000231ad865770ba227876ba518ac3e479 (patch) | |
tree | 84b10c22b9825cb4c84386af1c3e489727187e1c /include/ui/gtk.h | |
parent | 4782aeb79fbcb70bb96b52f6d9bc7cadb3cf7d58 (diff) |
gtk/opengl: add opengl context and scanout support (GtkGLArea)
This allows virtio-gpu to render in 3d mode.
Uses native opengl support which is present
in gtk versions 3.16 and newer.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'include/ui/gtk.h')
-rw-r--r-- | include/ui/gtk.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/ui/gtk.h b/include/ui/gtk.h index b490e82e70..bf289cff4c 100644 --- a/include/ui/gtk.h +++ b/include/ui/gtk.h @@ -108,4 +108,27 @@ void gtk_egl_init(void); int gd_egl_make_current(DisplayChangeListener *dcl, QEMUGLContext ctx); +/* ui/gtk-gl-area.c */ +void gd_gl_area_init(VirtualConsole *vc); +void gd_gl_area_draw(VirtualConsole *vc); +void gd_gl_area_update(DisplayChangeListener *dcl, + int x, int y, int w, int h); +void gd_gl_area_refresh(DisplayChangeListener *dcl); +void gd_gl_area_switch(DisplayChangeListener *dcl, + DisplaySurface *surface); +QEMUGLContext gd_gl_area_create_context(DisplayChangeListener *dcl, + QEMUGLParams *params); +void gd_gl_area_destroy_context(DisplayChangeListener *dcl, + QEMUGLContext ctx); +void gd_gl_area_scanout(DisplayChangeListener *dcl, + uint32_t backing_id, bool backing_y_0_top, + uint32_t x, uint32_t y, + uint32_t w, uint32_t h); +void gd_gl_area_scanout_flush(DisplayChangeListener *dcl, + uint32_t x, uint32_t y, uint32_t w, uint32_t h); +void gtk_gl_area_init(void); +QEMUGLContext gd_gl_area_get_current_context(DisplayChangeListener *dcl); +int gd_gl_area_make_current(DisplayChangeListener *dcl, + QEMUGLContext ctx); + #endif /* UI_GTK_H */ |