Closed
Bug 1361720
Opened 8 years ago
Closed 7 years ago
Improve handling of preserve-3d layers in WebRenderContainerLayer
Categories
(Core :: Graphics: WebRender, enhancement)
Tracking
()
RESOLVED
INCOMPLETE
mozilla57
Tracking | Status | |
---|---|---|
firefox56 | --- | unaffected |
firefox57 | --- | unaffected |
People
(Reporter: kats, Assigned: mrobinson)
References
Details
(Keywords: stale-bug, Whiteboard: [gfx-noted])
Attachments
(1 file)
(deleted),
patch
|
Details | Diff | Splinter Review |
Right now WebRenderContainerLayer does the thing where it sorts its leaf nodes by z-order [1] before pushing them to webrender. That will need to change to just iterating through the children and calling RenderLayer on them, since WR will want stacking contexts for the intermediate container layer nodes as well.
The other related thing is that right now in wr_dp_push_stacking_context we are passing TransformStyle::Flat unconditionally [2], but we'll need to propagate the preserve-3d state from the container layer to there.
[1] http://searchfox.org/mozilla-central/rev/abe68d5dad139e376d5521ca1d4b7892e1e7f1ba/gfx/layers/wr/WebRenderContainerLayer.cpp#21
[2] http://searchfox.org/mozilla-central/rev/abe68d5dad139e376d5521ca1d4b7892e1e7f1ba/gfx/webrender_bindings/src/bindings.rs#1273
Comment 1•8 years ago
|
||
It's probably worth waiting for kvark to get the servo tests passing before trying this out.
Reporter | ||
Updated•8 years ago
|
Assignee: nobody → mrobinson
Assignee | ||
Comment 2•8 years ago
|
||
Also limit clips to layers that have masks.
Assignee | ||
Comment 3•8 years ago
|
||
This patch needs to run through the try bots (which I don't have access to yet) in order to figure out how many other tests are newly passing / failing. There are about 4 tests that are now failing, mainly because the newly working functionality here exposes existing bugs. A couple more are now fuzzy for the same reason. Additionally, about 16 tests in this transform-3d directory are now passing for me. I think it might make sense to try to land this before kvark's patch, because it doesn't just affect preserve3d.
Reporter | ||
Comment 4•8 years ago
|
||
Kicked off a try push for you: https://treeherder.mozilla.org/#/jobs?repo=try&revision=77938513ad8411efc324bb4f1894257e2e8b635e
Reporter | ||
Comment 5•8 years ago
|
||
Based on the R5 failure I suspect the change you made to clip-pushing is wrong.
Assignee | ||
Comment 6•8 years ago
|
||
It does seem that way. I'm testing now if the first change alone causes any progression. If so maybe we can split this out, because it looks like the clipping change is going to be a bit trickier.
Comment 7•8 years ago
|
||
I'm working on Servo integration and tests for the WR's preserve-3d support, and there is quite a few bugs discovered. Let me finish that first, submit a PR for WR, before integrating it into Gecko.
Reporter | ||
Updated•8 years ago
|
Updated•7 years ago
|
Blocks: stage-wr-trains
Updated•7 years ago
|
Status: NEW → ASSIGNED
Priority: P3 → P1
Whiteboard: [gfx-noted] → [wr-mvp] [gfx-noted]
Target Milestone: --- → mozilla57
Updated•7 years ago
|
status-firefox56:
--- → unaffected
status-firefox57:
--- → unaffected
Keywords: stale-bug
Reporter | ||
Comment 8•7 years ago
|
||
WebRenderContainerLayer is no more, and this bug seems obsolete now.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
Updated•7 years ago
|
Priority: P1 → --
Whiteboard: [wr-mvp] [gfx-noted] → [gfx-noted]
You need to log in
before you can comment on or make changes to this bug.
Description
•