Platform/Features/ElectrolysisTextureSharing

From MozillaWiki
Jump to: navigation, search
Please use "Edit with form" above to edit this page.

Status

Sharing textures cross-process for Electrolysis
Stage Development
Status In progress
Release target Q4 of 2011.
Health OK
Status note Mostly done.

Team

Product manager Chris Blizzard
Directly Responsible Individual Chris Jones
Lead engineer Chris Jones
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead Mihai Morar
UX lead `
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks

Chris Jones is writing the Direct3D 10/D2D texture sharing code, and will write the D3D9 composition of Basic (Cairo) cross-process layers.

It has not yet been decided who will do this work for OpenGL on OS X and Linux. This may be a simple task, because we already support compositing basic shadow layers using OpenGL.

Stage 1: Definition

1. Feature overview

`

2. Users & use cases

  • Draw into textures using Direct2D/D3D10, and share those to the chrome process for D3D10 composition. (Win7/Vista)
  • Draw into textures using Basic layers (Cairo) and share those to the chrome process for D3D9 and OpenGL composition. (WinXP/OS X/Linux)

3. Dependencies

`

4. Requirements

  • Support sharing D3D10 textures on Windows Vista and 7. Draw into these textures using the regular path of the Direct2D backend to Cairo. Composite these Direct3D 10 shadow layers using Direct3D 10 in the chrome process.
  • Support compositing basic shadow layers using Direct3D 9 on Windows XP, Windows 7, and Windows Vista.
  • Support compositing basic shadow layers using OpenGL on OS X.
  • Optional: Support compositing basic shadow layers using OpenGL on Linux.
  • No major performance regressions on any supported platform.

Non-goals

  • Cross-process WebGL.
  • Anything related to the Azure API.

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

Next Steps

  • Verify OpenGL composition of basic shadow layers on OS X.
  • Verify OpenGL composition of basic shadow layers on Linux.

Related Bugs & Dependencies

  • bug 641681 Tracking bug for platform dependencies for multi-process Gecko
  • bug 648484 Cross-process rendering with D2D and D3D10
  • bug 648480 Cross-process rendering of Basic shadow layers with D3D9
  • bug 654580 Cross-process rendering of Basic shadow layers with OpenGL on OS X
  • bug 654581 Cross-process rendering of Basic shadow layers with OpenGL on Linux

Stage 5: Release

10. Landing criteria

`


Feature details

Priority P1
Rank 999
Theme / Goal `
Roadmap Platform
Secondary roadmap `
Feature list Platform
Project Responsiveness
Engineering team Graphics

Team status notes

  status notes
Products ` `
Engineering ` `
Security sec-review-needed bug 744944
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` Test Plan
User experience ` `
Product marketing ` `
Operations ` `