Compiz GLES2 Handover

Registered by Didier Roche on 2012-05-14

Rationale:
Merging openGLES work from linaro so that unity can work on hardware only supporting GLES

Blueprint information

Status:
Complete
Approver:
Sam Spilsbury
Priority:
High
Drafter:
Didier Roche
Direction:
Approved
Assignee:
Sam Spilsbury
Definition:
Approved
Series goal:
Accepted for quantal
Implementation:
Implemented
Milestone target:
milestone icon quantal-alpha-3
Started by
Kate Stewart on 2012-06-29
Completed by
Sebastien Bacher on 2012-10-03

Related branches

Sprints

Whiteboard

Test Plans:
All new code for Opengles will be tested on compiz

-----------------------
discussion from UDS:

[jason] moving to gles is a fundamental change to compiz so its ok to disable/not port some plugins while we move to gles. cannot have code delta grow
[sam] if we can write a quick guide, we can allow users to port plugins themselves if they're very tied to them
[jason]: is the port to minimize code delta or for good architecture?
[jesse]: there's a little of both, will suffer some ifdef's. The differences between the support in the different stacks have been a problem. might be issue for tv. we need gles to function on tv (for instance). can we prioritize plugins?
[sam]: wouldn't want to, but we can make a list of things to port. could we turn on gles at beginning of q cycle?
[didier]: maybe, if meeting the acceptance criterias and so tested before.
[sam]: we could see the level of complaints...
[dider]: what about a ppa?
[sam]: not enough users will use a ppa, we'd have to puplicise the gles 2 branch (new action item)
[jason]: concern that if we don't get it in soon, it will become even more unweildly
[sam]: if we put it in mainline, we'll get a bunch of bugs and it will redirect our focus
[daniel]: timeframe is the biggest concern
[sam]: smoketest by giving package to mainline
[sam] can we put it unity staging ppa?
[didier]: thats ok, we have 5k users in staging ppa
[sam]: that should be enough users then
[jason]: if we have a staging ppa, would that be enough testing
[daniel]: don't think so, would like to do some more extensive testing myself
[jason]: is there enough time in timeline for testing
[sam]: don't want to get held up waiting for test before the branch hits the PPA
[jason]: i'd like to get it so that daniel/sam are relatively happy, the branch in the ppa, and then merged eventually.
[daniel]: might be a lot of bugs to deal with, might need action item for that
[sam]: between desktop and mobile, code is mostly the same
[jesse]: linaro group is pushing for the core subset of GL api to be the same on both platforms
[sam]: because we want to use the same subset, we have to change our rendering api's to adapt to that model. we just need to work past the differences for the greater good.
[sam] proposes: merging new changes into GLES branch, and then then backport to the mainline branch. gles branch becomes development mainline until we officially
[jason] we're coming up with all these processes while just merging today would have relatively minimal effect (broken plugins). we can't specify a process that is more complicated than just fixing the plugins. what plugins break?
[sam] part of window animations, cube, rotate
[jason] sane path forward seems to be just to port the plugins. anyone disagree?
[all]: no, seems ok
[jesse]: what we wanted to do was have ubuntu team own compiz and have linaro team contribute back with additional changes
[sam] might be useful to run through possible regressinos with distro team: (action item)
[sam] are we ok with merginng this into mainline and then me and alan write tests.
[jesse] is compiz autotest is feasible for lava? (linaro testing gizmo)
[sam] basically, with a little refactoring and get things in gogole mock
[jesse] by enabling this for linaro validation farm, we can ensure no ARM/gles2 regressions. (action item)
[sam] can we land partially tested things?
[] current test framework is ok

Release Note:
Unity and Compiz now works on hardware supporting only GLES instructions, releasing unity to a wide range of armel machines.

(?)

Work Items

Work items for quantal-alpha-1:
[didrocks] Prepare the packaging with all compiz sources merged into one: DONE
[smspillaz] come up with list of actually broken plugins. (and go through mailing list and grab all community port patches): DONE

Work items for quantal-alpha-3:
[afrantzis] Guide for transitioning plugins to GLES from GL: POSTPONED
[didrocks] Publicize the ppa containing the patches for GLES 2.0 support: DONE
[smspillaz] fix the few remaining plugins, and "merge" the GLES 2.0 branch in: DONE
[smspillaz] to write list of actual and possible regressions: DONE
[didrocks] to look through list of possible regressions: DONE
[smspillaz] sync up testing to get compiz tests to work with lava: POSTPONED
[afrantzis] help with lava: POSTPONED

This blueprint contains Public information 
Everyone can see this information.