[cairo] Cairo GLES2.0 backend

Alexandros Frantzis alexandros.frantzis at linaro.org
Mon Nov 15 08:00:11 PST 2010

Hi all!

One of the main goals of the Linaro graphics working group ([1], [2])
for this cycle is the implementation of a GLES2.0 backend for cairo. The
main plan is to use the existing GL backend and modify/extend that
instead of starting yet another backend.

The current work plan can be found at:


This is still tentative and will be greatly influenced by the feedback
received from the list. The goal is to work closely with upstream and
any other groups that are working on this, so that we can together
achieve the best possible results.

Some information that would be great to know before reviewing the plan:

1. Is someone currently actively working on the GL backend that is in
   master? What is the state of the backend?

2. Is there upstream interest for a GLES2.0 backend? Is anyone aware of
   an effort to introduce GLES2.0 compatibility to the GL backend (or a
   completely new backend)?

3. In order to reduce code complexity and maintenance issues I was
   thinking it would be better to provide a single backend for GL >= 2.0
   and GLES2.0, either by using only GL2.0/GLES2.0 compatible
   functionality or at least by maximizing code sharing and minimizing
   special cases.

   However, at this point there is a lot of fixed-function code in the
   GL backend. Do you think it is necessary to maintain the current GL
   1.x compatibility?

   If 1.x compatibility is deemed necessary then I believe the best way
   forward is to extend the current runtime selections (eg like ARB vs
   core 2.0 in cairo-gl-shaders) or have compile-time selections where

4. Any other thoughts on requirements for upstream inclusion of a
   GLES2.0 compatible backend?

Any comments and feedback are highly appreciated!

(alf on IRC)

[1] http://www.linaro.org
[2] https://wiki.linaro.org/WorkingGroups/Middleware/Graphics

More information about the cairo mailing list