Send WebRenderScrollData to compositor thread for layers-free transactions

RESOLVED FIXED in Firefox 56

Status

()

enhancement
P3
normal
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: kats, Assigned: kats)

Tracking

Other Branch
mozilla56
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox56 fixed)

Details

(Whiteboard: [gfx-noted])

Attachments

(4 attachments)

Previously I added code to collect scroll metadata for layers-free transactions in WebRenderLayerManager, but wasn't actually sending it anywhere. Now that I have a better idea of what we need, I think we should reuse the existing WebRenderScrollData structure for sending APZ/scroll information from the content side to the compositor side. We can start creating these from display items instead of layers.
Comment on attachment 8890401 [details]
Bug 1384181 - Reorganize the WebRenderScrollData code to work with layers-free transactions.

https://reviewboard.mozilla.org/r/161518/#review166882
Attachment #8890401 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8890402 [details]
Bug 1384181 - Ensure that the WebRenderScrollData has a single root layer node.

https://reviewboard.mozilla.org/r/161520/#review166884
Attachment #8890402 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8890403 [details]
Bug 1384181 - Build WebRenderLayerScrollData instances for remote layer trees.

https://reviewboard.mozilla.org/r/161522/#review166886
Attachment #8890403 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8890404 [details]
Bug 1384181 - Add utility dump functions for debugging.

https://reviewboard.mozilla.org/r/161524/#review166888
Attachment #8890404 - Flags: review?(jmuizelaar) → review+
I made a small mistake in part 1 which showed up as reftest failures in the try push in comment 5. We have to call PopulateScrollData *after* doing the RenderLayer call because the RenderLayer is what populates the compositor animation IDs on the layers, and we need the compositor animation ID for scrollbar layers in PopulateScrollData. I fixed it locally by moving the PopulateScrollData call a few lines down and added a comment explaining this.

New try push just to make sure: https://treeherder.mozilla.org/#/jobs?repo=try&revision=fb70a4b13c19316516322abe99d33b5d5e05eeb1
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b12122c2c75d
Reorganize the WebRenderScrollData code to work with layers-free transactions. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/b298cd21c0f1
Ensure that the WebRenderScrollData has a single root layer node. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/3a1dfb72b225
Build WebRenderLayerScrollData instances for remote layer trees. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/691af1e600e0
Add utility dump functions for debugging. r=jrmuizel
You need to log in before you can comment on or make changes to this bug.