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)
(deleted),
text/x-phabricator-request
|
Details |
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•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 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•5 years ago
|
||
The patch was affected by Bug 1591346. BITMAPV4HEADER needs to be changed to top-to-buttom DIB.
Assignee | ||
Comment 4•5 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•5 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•5 years ago
|
Assignee | ||
Comment 6•5 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•5 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•5 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•5 years ago
|
||
Thank you!
Comment 11•5 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•5 years ago
|
||
The try run with that change seems good.
Assignee | ||
Comment 13•5 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•5 years ago
|
||
Comment 15•5 years ago
|
||
bugherder |
Assignee | ||
Comment 16•5 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•5 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
•