Enable GLES v3 support

Submitted by Bryce Harrington on June 14, 2017, 11:37 p.m.

Details

Reviewer None
Submitted June 14, 2017, 11:37 p.m.
Last Updated June 14, 2017, 11:38 p.m.
Revision 1

Cover Letter(s)

Revision 1
      Here's a new update of a patchset for adding Open GL ES 3.0 support to
Cairo.  Currently Cairo supports only OpenGL ES 2.0, which was published
in 2007, so this moves us 5 years closer to modern day.

This patchset was originally developed by Henry Song.  I posted a rebase
of it last December, and since then I've gone through Henry's full cairo
fork and extracted various refactors and fixes.  I've also incorporated
Uli's review feedback, and split out a couple pieces that could be
landed separately if desired.  A detailed listing of changes since the
RFC is included in the third patch.

Bryce Harrington (3):
  gl: Convert images to rgba or a8 formats when uploading with GLESv2
  gl: Make _cairo_gl_ensure_framebuffer a private shared routine
  gl: add support for OpenGL ES 3.0

 boilerplate/Makefile.win32.features |  12 +++++
 boilerplate/cairo-boilerplate-egl.c |  30 ++++++++---
 build/Makefile.win32.features       |   1 +
 build/Makefile.win32.features-h     |   3 ++
 build/configure.ac.features         |   1 +
 configure.ac                        |  23 ++++++++
 src/Makefile.sources                |   4 ++
 src/Makefile.win32.features         |  16 ++++++
 src/cairo-gl-composite.c            | 103 ++++++++++++++++++++++++++++++++++-
 src/cairo-gl-device.c               |  93 ++++++++++++++++++++++++--------
 src/cairo-gl-dispatch.c             |  12 +++++
 src/cairo-gl-gradient-private.h     |   9 ++--
 src/cairo-gl-gradient.c             |   3 +-
 src/cairo-gl-info.c                 |   2 +
 src/cairo-gl-msaa-compositor.c      |  10 +++-
 src/cairo-gl-operand.c              |   3 +-
 src/cairo-gl-private.h              |  24 ++++++---
 src/cairo-gl-shaders.c              |  15 ++++--
 src/cairo-gl-surface.c              | 104 +++++++++++++++++++++++++++++++++---
 src/cairo-gl-traps-compositor.c     |  30 -----------
 src/cairo-gl.h                      |   2 +-
 21 files changed, 412 insertions(+), 88 deletions(-)
    

Revisions