Optimizations for compiz

Registered by Jesse Barker

Add OpenGL ES 2.x graphics subsystem for compiz.

Blueprint information

Status:
Complete
Approver:
Jesse Barker
Priority:
High
Drafter:
Travis Watkins
Direction:
Approved
Assignee:
Travis Watkins
Definition:
Approved
Series goal:
Accepted for 11.05
Implementation:
Implemented
Milestone target:
milestone icon 11.05-final
Started by
Jamie Bennett
Completed by
Travis Watkins

Related branches

Sprints

Whiteboard

[rajeev-kapoor Jan 21 2011]
There are many work items but not yet assigned to any milestone. Please assign to milestone such as 11.01 (for 20th Jan delivery), 11.02 (for 17 Feb delivery), 11.03 (for 24 March delivery) etc. I.e. every milestone need to be finished before end of 2nd last thursday of every month.

[rajeev-kapoor Jan 21 2011]
Could not find any work item for milestone 11.01. Please mention already completed work items in milestone 11.01.
[rajeev Feb 02]: Please add work items already completed in Jan 11.

[amaranth Mar 30 2011] nux work items currently blocked on getting a license change completed by nux developer

[amaranth May 3 2011] compiz per-plugin shader support and completed porting of less-used plugins postponed to next cycle to focus on completing things needed for unity

(nux will not be a complicated so each task should not take as long)

(?)

Work Items

Work items for 11.01:
Announce the intentions and design ideas to the upstream mailing list and get feedback: DONE
Locate other groups that may be planning on (or have already started) working on a similar task and see how we can cooperate: DONE
Determine appropriate replacement for glBitmap/glCopyPixels: DONE

Work items for 11.02:
Replace glBegin/glEnd with gl*Pointer - compiz: DONE
Replace immediate mode with VBOs (glDrawArrays/glDrawElements) - compiz: DONE
Replace gl{Push,Pop,Mult}Matrix and transformation API with libmatrix (or equivalent) and glLoadMatrix - compiz: DONE
Replace glLoadMatrix with glLoadUniformMatrix - compiz core: DONE
Add GLSL program with vertex shader - compiz: DONE
Add fragment shader - compiz: DONE
Replace all GL_QUAD primitives with GL_TRIANGLE_STRIP. - most of core: DONE

Work items for 11.03:
Replace all GL_QUAD primitives with GL_TRIANGLE_STRIP - plugins-main: DONE
Replace all GL_QUAD primitives with GL_TRIANGLE_STRIP - plugins-extra: DONE
Replace glLoadMatrix with glLoadUniformMatrix - plugins-main: DONE
Replace glLoadMatrix with glLoadUniformMatrix - plugins-extra: DONE
Design API for per-plugin shaders - compiz: DONE
Get upstream approval for API - compiz: DONE
Add GLSL fragment shader for opacity, saturation, and brightness window attributes - compiz: DONE
Add EGL/OpenGL ES 2.0 build/link targets - compiz: DONE
Add EGL-based config and context management - compiz: DONE
Add EGL_KHR_image_pixmap support - compiz: DONE
Build/debug/test previous OpenGL changes for OpenGL ES - compiz: DONE

Work items for 11.04:
Replace all GL_QUAD primitives with GL_TRIANGLE_STRIP - expo: DONE
Replace all GL_QUAD primitives with GL_TRIANGLE_STRIP - animation: DONE

Work items:
Replace immediate mode (glBegin/glEnd) with VBOs (glDrawArrays/glDrawElements) - nux: DONE
Replace gl{Push,Pop,Mult}Matrix and transformation API with libmatrix (or equivalent) and glLoadMatrix - nux: DONE
Replace glLoadMatrix with glLoadUniformMatrix - nux: DONE
Add GLSL program with "trivial" vertex shader - nux: DONE
Add "trivial" fragment shader - nux: DONE
Replace all GL_QUAD, GL_QUAD_STRIP, GL_POLYGON primitives with GL_TRIANGLE_STRIP, etc. - nux: DONE
Add EGL/OpenGL ES 2.0 build/link targets - nux: DONE
Build/debug/test previous OpenGL changes for OpenGL ES - nux: DONE
Add EGL-based config and context management for standalone environment - nux: DONE
Replace glBitmap/glCopyPixels with NV_post_sub_buffer - compiz: POSTPONED
Implement shader API in opengl plugin - compiz: POSTPONED
Port plugins to use shader API - compiz: POSTPONED
Replace all GL_QUAD primitives with GL_TRIANGLE_STRIP - cube, wobbly: POSTPONED

Dependency tree

* Blueprints in grey have been implemented.