Ongoing OpenGL ES 2.0 support for cairo

Registered by Jesse Barker

During the 11.05 cycle initial support was added to cairo for OpenGL ES 2.0. This session will explore additional work that can be done in this area for the 11.11 cycle.

Blueprint information

Status:
Complete
Approver:
Jesse Barker
Priority:
Medium
Drafter:
None
Direction:
Approved
Assignee:
Alexandros Frantzis
Definition:
Approved
Series goal:
Proposed for trunk
Implementation:
Informational Informational
Milestone target:
None
Started by
Alexandros Frantzis
Completed by
Alexandros Frantzis

Related branches

Sprints

Whiteboard

Summit session notes:

* Problem: lack of working ARM platforms for validation

* Focus on optimization
   * Leverage knowledge from our benchmarks for best practices.
   * Use (GL) profiling tools to find hot-spots.
   * Ideas:
      * Precision of shader variables.
      * Glyph drawing improvements (investigation already started, see posts in cairo list)
* Reach out to ARM/GPU vendors to:
  * Optimize drivers for cairo gles2 use cases (use traces)
  * Provide feedback on improvements on our side

Cairo's Experimental GL backend now ported to GLES (accepted upstream)
A couple of cairo example applications as well as the cairo test suite are available for validation.

* Wish list
  * Add effects-oriented API to cairo based upon the gles backend (blur, magnify, minify, etc.)

* Work items (tentative)
  * [ACTION] Work with TI landing teams to push for support for GL_OES_texture_npot - jesse-barker
  * [ACTION] Scope out remaining work to implement GL_WRAP_MIRRORED_REPEAT and GL_WRAP_MIRROR - afrantzis
  * [ACTION] Determine whether Mali400 OpenGL ES supports GL_OES_texture_npot - jesse-barker
  * [ACTION] Investigate Wayland backend for GTK - afrantzis
  * [ACTION] Investigate swfdec port - afrantzis
  * [ACTION] Investigate possibility of using multi-texture operations (1 per glyph) to handle "overlapping" case - afrantzis
  * [ACTION] Document "best practices" WRT cairo API where gles backend is concerned - afrantzis
  * [ACTION] Coordinate with Ubuntu on ARM team to streamline packaging of cairo-gles - afrantzis

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.