[Meta] Mirror the current content of primary display to the external display in its resolution

NEW
Unassigned

Status

Firefox OS
General
3 years ago
3 years ago

People

(Reporter: shelly, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
This is the first stage of project "Support multi-screen on FxOS" (bug 1116089).

Our goal here is to mirror the current content of primary display to an external display, the mirrored content should be displayed in the resolution of its connected external device.

In this case, we will not create a new window, either another layer tree, but aim at enabling the 'external'(or virtual) display of hwc, and duplicating the layer list of hwc.
(Reporter)

Updated

3 years ago
Blocks: 1116089
(Reporter)

Updated

3 years ago
Blocks: 1138258
No longer blocks: 1116089
(Reporter)

Updated

3 years ago
Depends on: 1133641
(Reporter)

Updated

3 years ago
Depends on: 1138287
(Reporter)

Comment 1

3 years ago
https://github.com/shellylin/gecko-dev/commit/19417c4af80f6244b30cd53bc96ac98be1a1fa25

This is the first prof of concept for mirroring what is displayed on the primary screen to a connected external display, leveraging the capability of hwc, without traversing our layer tree twice. However, there are still some open issues needed to be address:

- The fence mechanism for this additional layer list.
- Currently, when duping the layer list from primary to external, we skip the FrameBuffer layer, and take the FrameBufferTarget layer of primary to be the FrameBuffer layer of external. Append a FrameBufferTarget layer of its own at the end. However, this hack works if the primary layer list contains only one single FrameBuffer layer, we should reconsider the case where there are multiple FrameBuffer layers in the primary list.
(Reporter)

Updated

3 years ago
No longer depends on: 1133641
(Reporter)

Updated

3 years ago
No longer depends on: 1138287
(Reporter)

Updated

3 years ago
No longer blocks: 1138258
You need to log in before you can comment on or make changes to this bug.