summaryrefslogtreecommitdiffstats
path: root/include/ui
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2015-05-26 12:26:21 +0200
committerGerd Hoffmann <kraxel@redhat.com>2015-10-08 10:34:53 +0200
commit925a04000231ad865770ba227876ba518ac3e479 (patch)
tree84b10c22b9825cb4c84386af1c3e489727187e1c /include/ui
parent4782aeb79fbcb70bb96b52f6d9bc7cadb3cf7d58 (diff)
downloadhqemu-925a04000231ad865770ba227876ba518ac3e479.zip
hqemu-925a04000231ad865770ba227876ba518ac3e479.tar.gz
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')
-rw-r--r--include/ui/gtk.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/ui/gtk.h b/include/ui/gtk.h
index b490e82..bf289cf 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 */
OpenPOWER on IntegriCloud