Platform/GFX/HardwareAcceleration/PathToFirefox4

From MozillaWiki
Jump to: navigation, search

We need Firefox 4 to be hardware accelerated using OpenGL and Direct3D 9 for layers, and Direct2D for Cairo.

Proposed Plan

Est. Completion Date Step
Aug 13 Phase 1: Focus first on getting D2D reftests passing. During this time, Vlad and Benoit will focus on WebGL, and coordinate d3d work, after that, Benoit can help out on the OpenGL work. We need to provide people with a way to tell us what hardware they are running if they experience issues, put that in about:support.
 ? Phase 2: Enable D2D on m-c, even without the blocklist done, even if we don't get the test pilot survey done. This is just flipping a pref, but we need this time to gather feedback from our devs and beta community.
? Phase 3: D3D9 - Fix Reftests. Make sure D3D9 works with D2D - Once we get here, we should be ready to enable on m-c hardware acceleration on windows, both compositing and accelerated content. Note: The D3D9 reftests should all be passing at least by Aug 25th so we can enable on m-c with enough time to be somewhat comfortable with shipping it in the Sept 1 feature complete beta, right?
 ? Phase 4: Shift everyone over to OpenGL. Finish implementation. Fix Reftests. Make layers acceleration work first on the Mac.
 ? Phase 5: Shift everyone over to Mobile: Android and Maemo. Bring in Blassy and Michael Wu.

Other Issues:

  • Bas should fly out as soon as we have reftest issues tracked in order to sprint.
  • Drop libjpeg-turbo?
  • Drop OpenGL on Linux? Can mgregan do this? Can distros help here?
  • Matt Woodrow? Karlt?
  • Are there other little features here and there that people are working on? If so, we should probably drop.

General

Priority Task Size (days) Candidate Assignee Scheduled Release
 ? Need a way to whitelist or blacklist individual drivers bug 584536 1-2 Bas Schouten Beta4,5,6,N,Final?
Low Gather hardware and driver versions via Test Pilot bug 586396 and bug 586048 1 Jeff  ?

Direct2D

Direct2D hardware acceleration needs to be finished for Beta 4.

Priority Task Size (days) Candidate Assignee Scheduled Release
High Fix all reftest failures with Direct2D enabled bug 578110 7+ Bas Schouten and Jeff Muizelaar Beta 4
High Support device resets by falling back to software bug 553089 1 Bas Schouten Beta 4
High Add logic to turn on Direct2D by default for DirectX 10 hardware bug 573229 <1 Bas Schouten Beta 4

Layers hardware acceleration

Layers hardware acceleration using Direct3D 9 on Windows and OpenGL on all other platforms needs to be finished by Beta 5.

OpenGL ES

Priority Task Size (days) Candidate Assignee Scheduled Release
High bug 130078 Dependency needed to have 1 widget 1 Timothy Nikkel Fennec 2.0 b1 (Sept 7)
Medium WebGL needs to be fast 1  ?? Fennec 2.0 b2 (Sept 23)
High Video needs to be fast (25+fps) (with audio) 1  ?? Fennec 2.0 b2 (Sept 23)
High Cross-process layers need to be accelerated long time+ Chris Jones Fennec 2.0 b1 (Sept 7)
High Shader optimizations (for example bug 572651)  ?  ?? Fennec 2.0 rc (Oct 21)

for Maemo bug 582816

Priority Task Size (days) Candidate Assignee Scheduled Release
 ? Have WebGL not take down the N900  ?  ??  ?
 ? task 7+ names  ?

for Android bug 582818

Priority Task Size (days) Candidate Assignee Scheduled Release
Medium WebGL - Forwarding GL calls across processes 1 NEEDS OWNER Fennec 2.0 b2 (Sept 23)
 ? task 7+ names  ?

OpenGL for Mac/Windows/Linux bug 580405

Priority Task Size (days) Candidate Assignee Scheduled Release
 ? Run reftests with hardware accelerated layers enabled bug 580410 1 Joe Drew, releng  ?
 ? Fix reftest failures from hardware acceleration 7+ Joe Drew, Vladimir Vukicevic, Benoit Jacob, Chris Jones(?)  ?

Direct3D 9 bug 581212

Priority Task Size (days) Candidate Assignee Scheduled Release
 ? Run reftests with hardware accelerated layers enabled bug 581213 1 Joe Drew, releng  ?
 ? Fix reftest failures from hardware acceleration 7+ Bas Schouten, Jeff Muizelaar, Vladimir Vukicevic(?)  ?
 ? Use Direct2D interoperability bug 584754, bug 584539 2 Bas Schouten  ?