Platform/Features/GLESAcceleratedLayers
Status
Accelerated layers on mobile via OpenGL ES | |
Stage | Development |
Status | In progress |
Release target | Firefox 10 |
Health | OK |
Status note | Working pretty well, still has some bugs. Still looking for better performance numbers. Anecdote - scrolling is better, still work to do though. |
{{#set:Feature name=Accelerated layers on mobile via OpenGL ES
|Feature stage=Development |Feature status=In progress |Feature version=Firefox 10 |Feature health=OK |Feature status note=Working pretty well, still has some bugs. Still looking for better performance numbers. Anecdote - scrolling is better, still work to do though. }}
Team
Product manager | Chris Blizzard |
Directly Responsible Individual | JPR |
Lead engineer | Florian Hänel, Benoit Jacob |
Security lead | ` |
Privacy lead | ` |
Localization lead | ` |
Accessibility lead | ` |
QA lead | Andreea Pod |
UX lead | ` |
Product marketing lead | ` |
Operations lead | ` |
Additional members | ` |
{{#set:Feature product manager=Chris Blizzard
|Feature feature manager=JPR |Feature lead engineer=Florian Hänel, Benoit Jacob |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Andreea Pod |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}
Open issues/risks
`
Stage 1: Definition
1. Feature overview
`
2. Users & use cases
- Hardware accelerate the composition of layers generated in the content process in the chrome process using OpenGL ES.
- Speed up the browsing experience for users.
3. Dependencies
`
4. Requirements
- Support at least two of the following handsets by default: Nexus One; Nexus S/Galaxy S; Droid Pro; Atrix.
- "Support by default" means that GLES-composited layers is turned on by default on a handset, that it has a performance benefit, and does not overly negatively affect stability.
- GLES composition of layers should be turned on via a whitelist rather than a blacklist, because of too many driver/stability issues.
Non-goals
- Cross-process WebGL.
Stage 2: Design
5. Functional specification
`
6. User experience design
`
Stage 3: Planning
7. Implementation plan
`
8. Reviews
Security review
`
Privacy review
`
Localization review
`
Accessibility
`
Quality Assurance review
Operations review
`
Stage 4: Development
9. Implementation
- bug 607684 Tracking bug for OpenGL on mobile
Florian Hänel has been working on completing the layers implementation, mostly on Maemo. Benoit Jacob is getting OpenGL ES up and running on the Nexus S. Florian, Benoit, and Joe Drew will be collaborating on completing the GLES layers implementation.
Next Steps
- Get GLES layer composition working on the Nexus S without generating GL errors with normal browsing.
- Start running reftests, and solve the issues reftests find.
- Iterate these steps for each handset.
- Test these more generally on users' handsets, and solve issues that come up.
Stage 5: Release
10. Landing criteria
` {{#set:Feature open issues and risks=` |Feature overview=` |Feature users and use cases=* Hardware accelerate the composition of layers generated in the content process in the chrome process using OpenGL ES.
- Speed up the browsing experience for users.
|Feature dependencies=` |Feature requirements=* Support at least two of the following handsets by default: Nexus One; Nexus S/Galaxy S; Droid Pro; Atrix.
- "Support by default" means that GLES-composited layers is turned on by default on a handset, that it has a performance benefit, and does not overly negatively affect stability.
- GLES composition of layers should be turned on via a whitelist rather than a blacklist, because of too many driver/stability issues.
|Feature non-goals=* Cross-process WebGL. |Feature functional spec=` |Feature ux design=` |Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=* Fennec/Features/GLESAcceleratedLayers/testplan |Feature operations review=` |Feature implementation notes=* bug 607684 Tracking bug for OpenGL on mobile
Florian Hänel has been working on completing the layers implementation, mostly on Maemo. Benoit Jacob is getting OpenGL ES up and running on the Nexus S. Florian, Benoit, and Joe Drew will be collaborating on completing the GLES layers implementation.
Next Steps
- Get GLES layer composition working on the Nexus S without generating GL errors with normal browsing.
- Start running reftests, and solve the issues reftests find.
- Iterate these steps for each handset.
- Test these more generally on users' handsets, and solve issues that come up.
|Feature landing criteria=` }}
Feature details
Priority | P1 |
Rank | 999 |
Theme / Goal | ` |
Roadmap | Platform |
Secondary roadmap | Firefox Mobile |
Feature list | Mobile |
Project | Responsiveness |
Engineering team | Graphics |
{{#set:Feature priority=P1
|Feature rank=999 |Feature theme=` |Feature roadmap=Platform |Feature secondary roadmap=Firefox Mobile |Feature list=Mobile |Feature project=Responsiveness |Feature engineering team=Graphics }}
Team status notes
status | notes | |
Products | ` | ` |
Engineering | ` | ` |
Security | sec-review-active | needs fuzzing, mobile fuzzing research needed : Jesse |
Privacy | ` | ` |
Localization | ` | ` |
Accessibility | ` | ` |
Quality assurance | ` | ` |
User experience | ` | ` |
Product marketing | ` | ` |
Operations | ` | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-active |Feature security health=Assigned |Feature security notes=needs fuzzing, mobile fuzzing research needed : Jesse |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}