[Spice-devel] [PATCH v3 0/5] Add OpenGL scanout drawing

Marc-André Lureau marcandre.lureau at gmail.com
Thu Feb 4 23:29:10 UTC 2016


The following series implements the x11 client-side support for
local-only shared OpenGL scanout rendering.

The implementation doesn't rely on gtkglarea since:
- it's quite recent (3.16 while rhel7 is currently 3.14)
- using gtkglarea isn't possible without either uncovenient API
  changes (new widget) or ABI break (SpiceDisplay widget to inherit
  from something more flexible than GtkDrawingArea)
- gtkglarea uses various gdk backends to setup GL context, such as
  glx, however dmabuf import requires egl.

I have a gtk3/gtkglarea-based branch, which will bring wayland
support. I would suggest to do first a release with gtk2/x11/egl
support before deprecating gtk2 and bumping gtk requirements.

v2->v3: after code review session with the team
- remove gslice usage
- drop gles in favour of desktop gl (probably more appropriate)
- explain the rationale for boxed scanout property and const getter in
  commit details
- some indent fixes

v1->v2:
- add some error handling code, fix gl objects leaks
- improve egl code to be compatible with future wayland series
- misc spellings

Marc-André Lureau (5):
  build-sys: bump to spice-protocol 0.12.11
  Add spice_channel_unix_read_fd()
  build-sys: check for epoxy-egl support
  glib: add local GL scanout support
  gtk: add spice-widget GL scanout support

 configure.ac                         |  27 +-
 doc/reference/spice-gtk-sections.txt |   1 +
 src/Makefile.am                      |   9 +
 src/channel-display.c                | 170 ++++++++++-
 src/channel-display.h                |  19 ++
 src/map-file                         |   4 +
 src/spice-channel-priv.h             |   3 +
 src/spice-channel.c                  |  68 +++++
 src/spice-glib-sym-file              |   4 +
 src/spice-marshal.txt                |   1 +
 src/spice-widget-egl.c               | 576 +++++++++++++++++++++++++++++++++++
 src/spice-widget-priv.h              |  30 ++
 src/spice-widget.c                   | 151 +++++++--
 13 files changed, 1039 insertions(+), 24 deletions(-)
 create mode 100644 src/spice-widget-egl.c

-- 
2.5.0



More information about the Spice-devel mailing list