Closed Bug 746062 Opened 13 years ago Closed 3 years ago

Add support for layers backed by "overlay surfaces"

Categories

(Core :: Graphics: Layers, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
blocking-kilimanjaro +
blocking-basecamp -

People

(Reporter: cjones, Unassigned)

References

Details

(Whiteboard: [tech-p2])

In gonk, some video decoders only give us "overlay" surfaces that are composited by dedicated overlay hardware. We can't read their memory from userspace (in normal circumstances). Similarly, some camera interfaces want to give us overlay surfaces to use for live preview, for maximum efficiency. To support those cases, we should add layers support for these types of surfaces. The work is basically to - add a new Surface type to PLayers that captures the overlay identifiers - serialize those identifiers - integrate overlay surfaces into the compositor pipeline, by setting their position/size/etc during compositing The problem with overlay surfaces is - they only allow simple transforms; at best, some scaling and rotation by 90 degree increments - it doesn't appear possible to sort them by depth That means we won't be able to fully implement CSS semantics for those videos/previews. We can either fall back and draw black when semantics would be violated, or make a best effort to draw something reasonable.
No longer blocks: b2g-layers-work
blocking-basecamp: --- → -
blocking-kilimanjaro: --- → +
We're going to need this support for future devices, so it's a major technical issue but not p1 since those devices aren't here yet. When that happens, this becomes a competitive parity issue.
Whiteboard: [tech-p2]
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.