Update webrender to 519e51986308fc11d6ba6771f1c11ea6a3133921

RESOLVED FIXED in Firefox 56

Status

()

defect
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: kats, Assigned: kats)

Tracking

(Blocks 1 bug)

unspecified
mozilla56
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox56 fixed)

Details

(Whiteboard: [gfx-noted])

Attachments

(9 attachments)

59 bytes, text/x-review-board-request
jrmuizel
: review+
Details
59 bytes, text/x-review-board-request
jrmuizel
: review+
Details
59 bytes, text/x-review-board-request
jrmuizel
: review+
Details
59 bytes, text/x-review-board-request
kvark
: review+
Details
59 bytes, text/x-review-board-request
mrobinson
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
mrobinson
: review+
Details
59 bytes, text/x-review-board-request
mrobinson
: review+
Details
59 bytes, text/x-review-board-request
mrobinson
: review+
Details
+++ This bug was initially created as a clone of Bug #1373381 +++

I'm filing this as a placeholder bug for the next webrender update. I may be running a cron script [1] that does try pushes with webrender update attempts, so that we can track build/test breakages introduced by webrender on a rolling basis. This bug will hold the try push links as well as dependencies filed for those breakages, so that we have a better idea going into the update of what needs fixing. I might abort the cron job because once things get too far out of sync it's hard to fully automate fixing all the breakages.

When we are ready to actually land the update, we can rename this bug and use it for the update, and then file a new bug for the next "future update".

[1] https://github.com/staktrace/moz-scripts/blob/master/try-latest-webrender.sh
WR @ 4074d8c66cbfd01dce123aa3e36778a0036976d6

https://treeherder.mozilla.org/#/jobs?repo=try&revision=d656ffd8f89978b760bc3c4b2a530599405d0c78

(This patchset still has stuff from bug 1373381 because that hadn't merged to m-c yet). But there are R8 failures in dom/html/reftests/bug1228601-video-rotation-90.html. Regression range for this:

*   4074d8c Auto merge of #1406 - Thinkofname:border-image-fill, r=kvark
|\
| * 9b8ee0c Implement fill for ImageBorder
* |   91f67f1 Auto merge of #1404 - glennw:fix-z, r=pcwalton
|\ \
| * | 132d9df Fix z-buffer usage, and calculate if aligned gradients are opaque.
|/ /
* |   19ac69f Auto merge of #1390 - glennw:pbo, r=kvark
|\ \
| * | c9c4ed6 Optimize time spent in GPU driver for GPU cache updates.
|  /
* |   bb36847 Auto merge of #1374 - kvark:lccr, r=glennw
|\ \
| |/
|/|
| * 22b7072 Handling of non-inversible transforms
| * d236bab Simplified MaskBounds a bit
| * 53a0d89 Inverse footprint computation
| * 8ee83df Reworked local combined clip rectangle and mask culling
* 37d4ecc Auto merge of #1396 - glennw:opt-rects, r=kvark
* f837411 Optimize alpha rectangle primitives.
WR @ ab64ce4c98c3d1bca4a902426029260cb32de24d

https://treeherder.mozilla.org/#/jobs?repo=try&revision=db73cdc877ecb5951fc87e57f76c701a56b5ae8c
https://treeherder.mozilla.org/#/jobs?repo=try&revision=9bd2a532e7163423fc3942ca878c97ce053c0475

Same R8 failure. Also what appears to be a X7 failure but that goes away in the push so it's probably just some intermittent from m-c. Note that the OS X build failure in the previous comment and these try pushes will be resolved once servo/webrender#1409 lands and gets picked up.
Bisecting the R8 failure.

At 37d4ecc4449b5762ec617af6df903ba84e23601d: https://treeherder.mozilla.org/#/jobs?repo=try&revision=54c2eef5e96c43b1eb2e75642567177c280c5666
At bb36847ebdd92e3a81bb54663d1ea5217eec4c3b: https://treeherder.mozilla.org/#/jobs?repo=try&revision=86278be802661a7406b77a473d1a8fb7256eedd5

So the new regression range is:

* bb36847 Auto merge of #1374 - kvark:lccr, r=glennw
* 22b7072 Handling of non-inversible transforms
* d236bab Simplified MaskBounds a bit
* 53a0d89 Inverse footprint computation
* 8ee83df Reworked local combined clip rectangle and mask culling
WR @ 951e3d015ff8005c531c4c9a9db7f91ec7246110

https://treeherder.mozilla.org/#/jobs?repo=try&revision=d9bff3e8a6ce630344418bc898096c385c53dec3
https://treeherder.mozilla.org/#/jobs?repo=try&revision=0a3441c486d6c4dd2deeee97e5e5751a3ff6c1a6

Same R8 failure, what looks like a new Re10s-5 debug failure. The log is filled with webrender spew that looks a lot like the gl3 failure tracked in bug 1206887 so hopefully the fix for that will take care of this as well.
Also note that I added a patch to the windows try pushes that allows a color difference of up to 2 to reduce the number of fuzzes. This makes the job orange instead of red by default which makes it easier to catch regressions. I'll be refining this in future pushes.
The R5 failures are actually on m-c as well now, so unrelated to this WR update. I'm tracking that over in bug 1375843.
WR @ 1f944b9042760d76215f57dc184b177b5092d262

https://treeherder.mozilla.org/#/jobs?repo=try&revision=bafd2eab59aea21400b1fc55a0a054476b39d99b
https://treeherder.mozilla.org/#/jobs?repo=try&revision=8fc874e1a3d851f68e802332b86fe9c33c589434

OS X debug build job is fixed now, as expected, from servo/webrender#1409 getting merged. Everything else looks about the same.
Note that if we land the next update before servo/webrender#1424 is fixed, we will need to reinstate the patch in bug 1375843 to avoid that problem from coming back.
WR @ df8c508e21d97828420cebfc113e9a1acc72b9e6

https://treeherder.mozilla.org/#/jobs?repo=try&revision=765042c81a18937fa817a31c054606cc9517bd5b
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f0b5ed5735d16683c99b427f9f494926beae25a0

Bustage. Regression range:

* df8c508 Auto merge of #1412 - mrobinson:remove-per-clip-mask, r=kvark
* 0bf6655 Remove the per-item complex clipping and masking from the API
WR @ df8c508e21d97828420cebfc113e9a1acc72b9e6 with bustage fix (Linux, anyway)

https://treeherder.mozilla.org/#/jobs?repo=try&revision=6a0a4694c4ae0e66cd4592d2d17562d3d846bcad

Good news: the R8 failures from before are gone.
Bad news: pretty much every async scrolling reftest is broken.
WR @ 366e94f7a5ddfb138e6ec0ddeb596e300e455e0c (now with the bustage fix expanded to all platforms)

https://treeherder.mozilla.org/#/jobs?repo=try&revision=42d71e7c32115bc7cf97da898f0335899e8d7cc3
https://treeherder.mozilla.org/#/jobs?repo=try&revision=523e31aaf310cd2f1a78b399dfd45d9ea1b77551

Same as before. In summary: R1/R2 failures were introduced from servo/webrender#1412 and might be fixable on the gecko side, I haven't looked. R5 and gl3 failures should be worked around by bug 1375843 but still needs an upstream fix (tracked by servo/webrender#1424). I'll add the workaround to my local queue so that these failures stop showing up in these try pushes. R6 failure will be fixed once bug 1375897 merges to m-c. mda1 and mda3 seem like pre-existing intermittents.

More pushes, more of the same:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=955a3890b4ca30b87316001e10b0e85fd72711b7
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c13470d41ef956a724ae66abe5a74c894fe7b57b

https://treeherder.mozilla.org/#/jobs?repo=try&revision=c08cdfe5ac0451274c630b958ce083978c48f909
https://treeherder.mozilla.org/#/jobs?repo=try&revision=d5693edbf46ddc14597435ce0b7105352cbeb640
Depends on: 1376215
I noticed that servo/webrender#1412 made some changes to which clips are considered scroll frames and which ones are not. In the try push at https://treeherder.mozilla.org/#/jobs?repo=try&revision=fb30b8ad32eef538029e605e28e54312ef0ede69 I undid that change and it fixed the R1/R2 failures. (And without bringing back the R8 failure). So that's good.
Sorry for the breakage. I have the WebRender PR ready for the add_scroll_frame API, but I need to write the Servo art. Hopefully that won't be too complicated. Once that is finished this problem should be fixed.
Looks like webrender_traits got renamed to webrender_api. That's gonna take some fixing.
WR @ c30245de988e2ef8fc94cbbdac740c9eb4371b13

https://treeherder.mozilla.org/#/jobs?repo=try&revision=9115a1e77fb77dadeeb7dfb9fa30045d172d0f38

Bustage from bitflags version incompatibility. This is happening because `mach vendor rust` is running the dep tree of testing/geckodriver last, which puts bitflags-0.8.2 into third_party/rust/bitflags. This happens after libgkrust puts bitflags-0.9.1 in that folder, and results in bustage. I think we might need bug 1336528 to fix this.
Depends on: 1336528
WR @ c30245de988e2ef8fc94cbbdac740c9eb4371b13 with bustage fixup

https://treeherder.mozilla.org/#/jobs?repo=try&revision=cd73663553559628dcd77c1b14f74b3163bbd97d
https://treeherder.mozilla.org/#/jobs?repo=try&revision=990e0da59e05628e45086949d73c12dacfaf568d

R7 failure in layout/reftests/stylesheet-cloning/counter-style-rule-clone.html. There's a visible difference in the reftest analyzer. Regression range:

*   c30245d Auto merge of #1450 - Eijebong:bitflags, r=SimonSapin
|\
| * ae6d463 Deduplicate the bitflags dependency
|/
*   37bd665 Auto merge of #1441 - kvark:glyph-snap, r=glennw
|\
| * 6d91c35 Fixed snap rectangle for the glyph runs
* c97f898 Auto merge of #1434 - glennw:tidy-tags, r=kvark
* 1d3a6dc Tidy up the GPU tags for blurs and alpha batch targets.
c97f8982a7b03728958a5b1ac4e4e369a0082200 is green [1] which would indicate the regression is from servo/webrender#1441. (I could reproduce it locally using WR cset 37bd665 which further narrows the range).

[1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=c95d428fd837291fef6e46a5a9bec251215e1966
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #30)
> WR @ 0fc57c6ccf4e57f338c6b1263104705990b590d4
> Bustage

Mea culpa, I screwed up the cbindgen update. This should be better:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=5d43080871b515ee007c650a96dcce534ac91691
https://treeherder.mozilla.org/#/jobs?repo=try&revision=786dd661463d5d9cc20a9e20b9da70f7e81e60a3
WR @ 8ca00412d19e701881ffd9e0ccb9438e66fad390

https://treeherder.mozilla.org/#/jobs?repo=try&revision=dc7f89373e6c73dabdff62534bb334f75af08124
https://treeherder.mozilla.org/#/jobs?repo=try&revision=47b266848c3d56edf1a31ef881593ab18e55e44c

R7 failures are gone, thanks to servo/webrender#1455 which backed out the offending change. Once servo/webrender#1428 is in I should be able to drop my "Force scroll frames" hack and replace it with the proper glue to create scroll frames in WR. At that point we should be good to land. We'll still need to work around servo/webrender#1424 but we're doing that in m-c right now anyway so it's no worse.
I also did a try push with the patches from servo/webrender#1428 replacing my "force scroll frames" patch and there were no unexpected issues.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=b352aa8f1cec6580bb02889d9a2a0afdb93d4bfa

(There's the R7 failure, but that's because the WR cset I used doesn't have the backout from servo/webrender#1455).
WR @ 519e51986308fc11d6ba6771f1c11ea6a3133921

https://treeherder.mozilla.org/#/jobs?repo=try&revision=0f002a9457df827b68904f0987632f07c6549650
https://treeherder.mozilla.org/#/jobs?repo=try&revision=eb2f7c1d31c613480566f302e0d49533a287d164

With the long-awaited #1428 things are looking good. I'll clean up the patches and put them up for review.
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Assignee: nobody → bugmail
Summary: Future webrender update bug → Update webrender to 519e51986308fc11d6ba6771f1c11ea6a3133921
Comment on attachment 8884795 [details]
Bug 1374730 - Update webrender bindings for API changes in WR cset 5066a13.

https://reviewboard.mozilla.org/r/155688/#review160668

::: commit-message-0714d:6
(Diff revision 1)
> +Bug 1374730 - Update webrender bindings for API changes in WR cset 5066a13. r?mrobinson
> +
> +This change preserves the existing semantics of the webrender_bindings code,
> +although it may result in creating unnecessary clips. A follow-up bug will be
> +filed to make clip optional in the C++ interface, and avoid passing it in places
> +where it is not necessary.

LocalClips (the rectangular kind) are more-or-less free since we just adjust geoemtry, so it's okay if this isn't a huge priority. The rounded kind do result in a mask, so they are more expensive.
Attachment #8884795 - Flags: review?(mrobinson) → review+
Comment on attachment 8884794 [details]
Bug 1374730 - Update webrender bindings for API changes in WR cset dfd76c5.

https://reviewboard.mozilla.org/r/155686/#review160670

Nice!
Attachment #8884794 - Flags: review?(mrobinson) → review+
Comment on attachment 8884793 [details]
Bug 1374730 - Update webrender_bindings for API changes in WR cset d8f0040.

https://reviewboard.mozilla.org/r/155684/#review160672
Attachment #8884793 - Flags: review?(mrobinson) → review+
Comment on attachment 8884791 [details]
Bug 1374730 - Update for clip API change in WR cset 0bf6655.

https://reviewboard.mozilla.org/r/155680/#review160674
Attachment #8884791 - Flags: review?(mrobinson) → review+

Comment 49

2 years ago
mozreview-review
Comment on attachment 8884792 [details]
Bug 1374730 - Update for webrender_traits getting renamed to webrender_api in cset 5ebe3de.

https://reviewboard.mozilla.org/r/155682/#review160676
Attachment #8884792 - Flags: review?(nical.bugzilla) → review+

Comment 50

2 years ago
mozreview-review
Comment on attachment 8884790 [details]
Bug 1374730 - Update for ImageBorder API change in WR cset 9b8ee0c.

https://reviewboard.mozilla.org/r/155678/#review160702
Attachment #8884790 - Flags: review?(kvark) → review+
Comment on attachment 8884789 [details]
Bug 1374730 - Update Cargo.lock files and revendor rust dependencies.

https://reviewboard.mozilla.org/r/155676/#review160712
Attachment #8884789 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8884788 [details]
Bug 1374730 - Update webrender_bindings Cargo.toml and cbindgen.toml files.

https://reviewboard.mozilla.org/r/155674/#review160714
Attachment #8884788 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8884787 [details]
Bug 1374730 - Update webrender to cset 519e51986308fc11d6ba6771f1c11ea6a3133921.

https://reviewboard.mozilla.org/r/155672/#review160716
Attachment #8884787 - Flags: review?(jmuizelaar) → review+

Comment 54

2 years ago
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9d94771ce24a
Update webrender to cset 519e51986308fc11d6ba6771f1c11ea6a3133921. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/f3f563d9b006
Update webrender_bindings Cargo.toml and cbindgen.toml files. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/2ab12b220e99
Update Cargo.lock files and revendor rust dependencies. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/204ceedba2b5
Update for ImageBorder API change in WR cset 9b8ee0c. r=kvark
https://hg.mozilla.org/integration/autoland/rev/4270297001a6
Update for clip API change in WR cset 0bf6655. r=mrobinson
https://hg.mozilla.org/integration/autoland/rev/2bbdd494fa11
Update for webrender_traits getting renamed to webrender_api in cset 5ebe3de. r=nical
https://hg.mozilla.org/integration/autoland/rev/3a8479b7b8d1
Update webrender_bindings for API changes in WR cset d8f0040. r=mrobinson
https://hg.mozilla.org/integration/autoland/rev/d5a6a02876e4
Update webrender bindings for API changes in WR cset dfd76c5. r=mrobinson
https://hg.mozilla.org/integration/autoland/rev/99b67f1f10a5
Update webrender bindings for API changes in WR cset 5066a13. r=mrobinson
Depends on: 1379638
Blocks: 1379638
No longer depends on: 1379638
Blocks: 1377690
No longer blocks: 1377690

Comment 56

2 years ago
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2e814267b7a1
Follow-up to update some non-code mentions of webrender_traits to webrender_api. r=me and DONTBUILD
You need to log in before you can comment on or make changes to this bug.