1,295
edits
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. | ||
edits