Platform/Features/ElectrolysisTextureSharing: Difference between revisions

Jump to navigation Jump to search
m
clearing in prep for migration to new feature page format (will be done momentarily)
m (clearing in prep for migration to new feature page format (will be done momentarily))
Line 1: Line 1:
{| class="fullwidth-table"
|-
| style="font-weight: bold; background: #DDD;" | Feature
| style="font-weight: bold; background: #DDD;" | Status
| style="font-weight: bold; background: #DDD;" | ETA
| style="font-weight: bold; background: #DDD;" | Owner
|-
<section begin="status" />
| [[Platform/Features/ElectrolysisTextureSharing|Sharing textures cross-process for Electrolysis]]
| {{StatusHealthy|status=being actively worked}}
| unknown
| Chris Jones
<section end="status" />
|-
|}


== Summary ==
When Firefox is running with content processes, we need the ability to composite the layers the content process creates ("shadow" layers), using hardware acceleration, in the chrome process. This means we have to be able to composite Basic shadow layers (those drawn using Cairo) using Direct3D 9/OpenGL, but it also means we have to share texture data for compositing Direct3D 10/Direct2D-drawn shadow layers using Direct3D 10.
== Team ==
Who's working on this?
* '''Lead Developer''': Chris Jones
* '''Product Manager''': Chris Blizzard
* '''QA''': George Carstoiu (irc: GeorgeCarstoiu)
* '''Security''': unknown; necessary?
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.
== Release 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.
== Next Steps ==
* Get Chris Jones' Direct3D 10 patches working.
* Write Direct3D 9 composition of basic shadow layers.
* 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
== Designs ==
None listed.
== Goals/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)
== Non-Goals ==
* Cross-process WebGL.
* Anything related to the Azure API.
== Other Documentation ==
None listed.
== Legend (remove if you like) ==
{| class="fullwidth-table"
|-
| {{StatusHealthy|status=&nbsp;}}
| Healthy: feature is progressing as expected.
|-
| {{StatusBlocked|status=&nbsp;}}
| Blocked: feature is currently blocked, but not yet at risk of missing this release.
|-
| {{StatusAtRisk|status=&nbsp;}}
| At Risk: feature is at risk of missing this release.
|-
| '''ETA'''
| Estimated date for completion of the current feature task. Overall ETA for the feature is the product release date.
|}
__NOTOC__
Please remove this line and any non-relevant categories below.  Add whatever other categories you feel are appropriate.
[[Category:Features]]
[[Category:Firefox]]
[[Category:Performance]]
[[Category:Polish]]
[[Category:Priority 1]]
[[Category:Priority 2]]
[[Category:Priority 3]]
[[Category:Unprioritized]]
canmove, Confirmed users, Bureaucrats and Sysops emeriti
6,906

edits

Navigation menu