Closed Bug 1430660 Opened 2 years ago Closed 2 years ago

Move APZ updates to scrollframes in WR into a transaction

Categories

(Core :: Graphics: WebRender, enhancement, P1)

Other Branch
enhancement

Tracking

()

RESOLVED FIXED
mozilla59
Tracking Status
firefox59 --- fixed

People

(Reporter: kats, Assigned: kats)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

APZ currently updates WR scrollframe offsets directly via WebRenderAPI at [1], which is invoked from [2]. We should move this into the transaction at [3] so that it happens along with the OMTA updates for that frame and isn't happening randomly outside a transaction.

[1] https://searchfox.org/mozilla-central/rev/41925c0b6c6d58578690121de439d2a8d3d690f3/gfx/layers/apz/src/APZCTreeManager.cpp#516
[2] https://searchfox.org/mozilla-central/rev/41925c0b6c6d58578690121de439d2a8d3d690f3/gfx/layers/wr/WebRenderBridgeParent.cpp#1232
[3] https://searchfox.org/mozilla-central/rev/41925c0b6c6d58578690121de439d2a8d3d690f3/gfx/layers/wr/WebRenderBridgeParent.cpp#1243
Assignee: nobody → bugmail
Comment on attachment 8942947 [details]
Bug 1430660 - Move the APZ update of scroll layer positions into a transaction.

That try push is most definitely not green.
Attachment #8942947 - Flags: review?(nical.bugzilla)
Comment on attachment 8942947 [details]
Bug 1430660 - Move the APZ update of scroll layer positions into a transaction.

https://reviewboard.mozilla.org/r/213210/#review219282
Attachment #8942947 - Flags: review?(nical.bugzilla) → review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/21f6b322e9a2
Move the APZ update of scroll layer positions into a transaction. r=nical
Thanks, looks like the windows compiler doesn't like having the extern declaration in webrender_ffi_generated.h as well as the impl in RenderThread.cpp. I'll fix.
Flags: needinfo?(bugmail)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=65e020cf7a1d961b8472361f71da9a53048bde86 is looking good. I just extracted a helper method so we aren't calling wr_notifier_new_frame_ready directly in RenderThread.cpp. That works around the compile error.
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/96e818315d57
Move the APZ update of scroll layer positions into a transaction. r=nical
https://hg.mozilla.org/mozilla-central/rev/96e818315d57
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
You need to log in before you can comment on or make changes to this bug.