[cairo] [PATCH 0/3] EGL fixes

alexandros.frantzis at linaro.org alexandros.frantzis at linaro.org
Fri Feb 11 10:05:52 PST 2011

From: Alexandros Frantzis <alexandros.frantzis at linaro.org>

Hi all!

This patchset contains some improvements and fixes for the EGL part of
the cairo-gl backend.

The first patch is Benjamin's patch (sent some days ago to the list).

The second patch fixes the fallback path when the EGL_KHR_surfaceless_*
extension is not present. It ensures that the dummy pbuffer surface is created
using the same EGLConfig used for the supplied EGLContext.  This is necessary
(at least in Mesa) in order to be able to use them together in eglMakeCurrent().
Note that there is a small catch here: the config must be suitable for a
pbuffer surface for this to work. In my experience if a config is suitable for
EGL Windows/Pixmaps it can be used for pbuffers, too. Of course, there is no
guarantee for this, but this is still better than before.

The third patch ensures that in the boilerplate code we actually get a valid
RGBA32 EGLConfig instead of just the first available one.

Two things to note:
 1. To be able to use EGL_KHR_surfaceless_*, we need a fix for Mesa
	Benjamin has provided a fix for this (see link) but it has not been
	yet reviewed.

 2. When running the testsuite with the egl target you will notice some
    crashes. These happen because the cairo-gl backend cannot handle
	0x0 destinations and these are not yet optimized out in the gstate.

The patches can be found in the 'egl-makecurrent-fixes' branch at:



Alexandros Frantzis (2):
  egl: Ensure that the dummy pbuffer surface is compatible with the
    supplied context
  boilerplate/egl: Ensure that we are using an RGBA32 egl config

Benjamin Franzke (1):
  egl: Fix eglMakeCurrent for egl surfaces

 boilerplate/cairo-boilerplate-egl.c |   17 ++++++++++++-----
 src/cairo-egl-context.c             |   28 +++++++++++++++++-----------
 2 files changed, 29 insertions(+), 16 deletions(-)


More information about the cairo mailing list