Investigate to use PrintWindow() for taking snapshot of DirectComposition overlays
Categories
(Core :: Graphics: WebRender, enhancement)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox73 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
References
(Blocks 1 open bug)
Details
(Whiteboard: [wr-q41])
Attachments
(1 file)
When there are multiple overlays, wr_renderer_readback() could not be used for taking snapshot. It is nice if PrintWindow() could be used for taking snapshots.
It seems that we could take a snapshot of multiple DirectComposition overlays when we use PrintWindow() with PW_RENDERFULLCONTENT flag.
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 1•6 years ago
|
||
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 2•6 years ago
|
||
In the past, when I tested it without os compositor on try server, sometimes it failed to take a screenshot. It is necessary to retest with os compositor.
| Assignee | ||
Comment 3•6 years ago
|
||
The patch was affected by Bug 1591346. BITMAPV4HEADER needs to be changed to top-to-buttom DIB.
| Assignee | ||
Comment 4•6 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #3)
The patch was affected by Bug 1591346. BITMAPV4HEADER needs to be changed to top-to-buttom DIB.
Updated a patch.
| Assignee | ||
Comment 5•6 years ago
•
|
||
There were test failures. When it happened, it seemed that it failed to get a screenshot.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=4ff279ed422c09586724d6c8019e7ad7a75a1ca6
Updated•6 years ago
|
| Assignee | ||
Comment 6•6 years ago
|
||
Waiting gpu tasks complete reduced the intermittent failures, though they still exists.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=2ea5000878bd78ba96aae63ebd8f745582014cf4
| Assignee | ||
Comment 7•6 years ago
|
||
Even though, there is enough wait, there is still a case that we could not get correct screenshot :(
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6cfb00aa86de7ff942b3e266015abb07e123fa08
| Assignee | ||
Comment 8•6 years ago
|
||
:gw, do you have an idea how to address the reftest? PrintWindow() is a windows api, we do not know an internal of it. Then it might be better not to use PrintWindow() for taking screenshot.
| Assignee | ||
Comment 10•6 years ago
|
||
Thank you!
Comment 11•6 years ago
|
||
In the attached patch, the implementation of DCLayerTree::WaitForCommitCompletion calls the wrong method.
I kicked off a try run with that updated to call WaitForCommitCompletion on the DC device (patch applied on top of your existing patch).
https://hg.mozilla.org/try/rev/8bccbb22c5eee759f86c97c820864602d5160705
https://treeherder.mozilla.org/#/jobs?repo=try&revision=8bccbb22c5eee759f86c97c820864602d5160705
Comment 12•6 years ago
|
||
The try run with that change seems good.
| Assignee | ||
Comment 13•6 years ago
|
||
It seems that we could remove ID3D11Query wait during taking a snapshot.
https://treeherder.mozilla.org/#/jobs?repo=try&selectedJob=278722119&revision=9c2485d06c75d75a36ca32eac69421145b4a6339
Comment 14•6 years ago
|
||
Comment 15•6 years ago
|
||
| bugherder | ||
| Assignee | ||
Comment 16•6 years ago
|
||
It seems that recent change caused reftest failure though PrintWindow() seemed to work.
https://treeherder.mozilla.org/#/jobs?repo=try&author=sikeda.birchill%40mozilla.com&selectedJob=279253707
| Assignee | ||
Comment 17•6 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #16)
It seems that recent change caused reftest failure though PrintWindow() seemed to work.
https://treeherder.mozilla.org/#/jobs?repo=try&author=sikeda.birchill%40mozilla.com&selectedJob=279253707
It seems to be addressed on latest m-c
Description
•