Hi, This patch series adds infrastructure for opengl rendering (context management, define scanout textures), adds support for this to sdl2 and gtk user interfaces and adds virgl/3d mode to virtio-gpu by hooking up the virglrenderer library.
v2 fixes a bunch of issues found in patch review, which hopefully also fixes the issues seen in testing. This works for me with both gtk3/sdl2, gl on/off, rhel7 host, fedora22 guest, intel gpu hardware. please test & review, Gerd Gerd Hoffmann (11): shaders: initialize vertexes once sdl2: stop flickering ui/console: add opengl context and scanout support interfaces. virtio-gpu: move iov free to virtio_gpu_cleanup_mapping_iov virtio-gpu: change licence from GPLv2 to GPLv2+ virtio-gpu: update headers for virgl/3d virtio-gpu: add 3d mode and virgl rendering support. sdl2/opengl: add opengl context and scanout support opengl: add egl-context.[ch] helpers gtk/opengl: add opengl context and scanout support (egl) gtk/opengl: add opengl context and scanout support (GtkGLArea) configure | 40 ++ hw/display/Makefile.objs | 6 +- hw/display/virtio-gpu-3d.c | 598 ++++++++++++++++++++++++++++ hw/display/virtio-gpu-pci.c | 4 +- hw/display/virtio-gpu.c | 142 ++++++- include/hw/virtio/virtio-gpu.h | 22 +- include/standard-headers/linux/virtio_gpu.h | 112 +++++- include/ui/console.h | 37 ++ include/ui/egl-context.h | 14 + include/ui/gtk.h | 39 ++ include/ui/sdl2.h | 22 +- include/ui/shader.h | 4 +- trace-events | 8 + ui/Makefile.objs | 6 + ui/console-gl.c | 7 +- ui/console.c | 67 +++- ui/egl-context.c | 34 ++ ui/gtk-egl.c | 131 +++++- ui/gtk-gl-area.c | 223 +++++++++++ ui/gtk.c | 149 +++++-- ui/sdl2-2d.c | 13 + ui/sdl2-gl.c | 135 +++++++ ui/sdl2.c | 7 + ui/shader.c | 31 +- 24 files changed, 1786 insertions(+), 65 deletions(-) create mode 100644 hw/display/virtio-gpu-3d.c create mode 100644 include/ui/egl-context.h create mode 100644 ui/egl-context.c create mode 100644 ui/gtk-gl-area.c -- 1.8.3.1