Ongoing OpenGL ES 2.0 support for cairo
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
- Milestone target:
- None
- Started by
- Alexandros Frantzis
- Completed by
- Alexandros Frantzis
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_
* [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.