Gecko:Layers: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 6: Line 6:
* Accelerated color space conversion
* Accelerated color space conversion
* Accelerated SVG filters (more speculative)
* Accelerated SVG filters (more speculative)
* Off-main thread compositing and animation
* Off-main thread compositing and animation (including completely-off-main-thread video playback)
* Implement CSS perspective transforms
* Implement CSS perspective transforms
* Keep a backing store for a chunk of rendered content
* Keep a backing store for a chunk of rendered content
* Avoid having to read back WebGL surfaces to composite them
* Avoid having to read back WebGL surfaces to composite them
* Possibly hw accelerated windowless plugins
* Possibly hw accelerated windowless plugins
* Support targeting Xv or other specialized framebuffers for very low-end devices?
* Support hardware-accelerated video decoding and playback?
* Accelerated composition of content from multiple processes, including untrusted processes that may lack access to native accelerated graphics APIs


== Requirements ==
== Requirements ==
* Should have an efficient software fallback
* Should have an efficient software fallback
* Cross-platform API
* Cross-platform API
* Don't make clients implement multiple rendering code paths
* Don't make clients implement multiple rendering code paths
* Abstract over hardware acceleration APIs (e.g. D3D vs GL)
* Be able to use platform layer APIs (e.g. Core Animation) if we get backed into a corner with undocumented interfaces?


== Open questions ==
== Open questions ==
* Should we build the layer tree if we are not hardware accelerated?
* Should we build the layer tree if we are not hardware accelerated?
** Roc: I want code above gfx to have a single code path that works regardless of whether we're using accceleration or not. That means we want to be using the layer API all the time. However, in non-accelerated situations the layer API could permit an implementation that's mostly immediate-mode drawing --- that's the approach I took in my proposal.
** Roc: I want code above gfx to have a single code path that works regardless of whether we're using accceleration or not. That means we want to be using the layer API all the time. However, in non-accelerated situations the layer API could permit an implementation that's mostly immediate-mode drawing --- that's the approach I took in my proposal.
1,295

edits

Navigation menu