Closed Bug 1821512 Opened 2 years ago Closed 2 years ago

Update Skia to m113

Categories

(Core :: Graphics, task)

task

Tracking

()

RESOLVED FIXED
114 Branch
Tracking Status
firefox114 --- fixed

People

(Reporter: lsalzman, Assigned: lsalzman)

References

(Blocks 1 open bug, Regressed 1 open bug)

Details

(Keywords: perf-alert)

Attachments

(6 files, 1 obsolete file)

No description provided.
Blocks: 1812202
Severity: -- → S3

This transitions generate_mozbuild to python3, since the existing script was
bitrotted with python2.

The generate moz.build is also fixed up for the new Skia files.

This just tries to address fairly random changes in the Skia API and correct
our usage of it in Moz2D and some other places.

Depends on D173323

Upstream Skia removed support for applying a cover mask to a layer. The closest
we can do is apply a clip shader to the layer push/pop, which allows us to supply
the mask. This reduces our depence on experimental Skia features, and performance
seems acceptable.

Depends on D173324

Depends on D173325

Depends on D173326

Attachment #9324507 - Attachment is obsolete: true
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0a7c0b0773d4 Update Skia source files to milestone 113. r=aosmond https://hg.mozilla.org/integration/autoland/rev/b531f604ea4c Update Skia build scripts. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/20b46afb225f Fix Skia usage for API changes. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/09aa18e47bf6 Replace Skia layer masking with clip shaders. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/698104c7a5d1 Update fuzz for Skia update. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/97295a57babe Update trojan-source.yml for removed Skia files. r=sylvestre
Flags: needinfo?(lsalzman)
Flags: needinfo?(lsalzman)
Regressions: 1827727
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3222f6498a44 Update Skia source files to milestone 113. r=aosmond https://hg.mozilla.org/integration/autoland/rev/efc92c86fafd Update Skia build scripts. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/e5570884e8e4 Fix Skia usage for API changes. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/0d9814a43a4d Replace Skia layer masking with clip shaders. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/3985c29a6490 Update fuzz for Skia update. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/a31f2795710e Update trojan-source.yml for removed Skia files. r=sylvestre

Backed out for causing failures on browser_screenshots_test_full_page.js

[task 2023-04-16T06:05:21.297Z] 06:05:21     INFO - TEST-PASS | browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js | B color value - 111 == 111 - 
[task 2023-04-16T06:05:21.297Z] 06:05:21     INFO - Buffered messages finished
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - TEST-UNEXPECTED-FAIL | browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js | R color value - 56 == 55 - {"filename":"chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js","name":"test_fullpageScreenshot/<","sourceId":735,"lineNumber":69,"columnNumber":14,"sourceLine":"","asyncCause":null,"asyncCaller":{"filename":"resource://testing-common/BrowserTestUtils.sys.mjs","name":"withNewTab","sourceId":562,"lineNumber":154,"columnNumber":22,"sourceLine":"","asyncCause":null,"asyncCaller":{"filename":"chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js","name":"test_fullpageScreenshot","sourceId":735,"lineNumber":7,"columnNumber":26,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":{"filename":"chrome://mochikit/content/browser-test.js","name":"handleTask","sourceId":529,"lineNumber":1043,"columnNumber":26,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":{"filename":"chrome://mochikit/content/browser-test.js","name":"_runTaskBasedTest","sourceId":529,"lineNumber":1115,"columnNumber":18,"sourceLine":"","asyncCause":null,"asyncCaller":{"filename":"chrome://mochikit/content/browser-test.js","name":"Tester_execTest","sourceId":529,"lineNumber":1257,"columnNumber":14,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":{"filename":"chrome://mochikit/content/browser-test.js","name":"nextTest/<","sourceId":529,"lineNumber":1032,"columnNumber":14,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":{"filename":"chrome://mochikit/content/tests/SimpleTest/SimpleTest.js","name":"SimpleTest.waitForFocus/<","sourceId":556,"lineNumber":1056,"columnNumber":13,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":null,"formattedStack":"SimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"formattedStack":"nextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"formattedStack":"async*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"caller":null,"formattedStack":"_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"formattedStack":"handleTask@chrome://mochikit/content/browser-test.js:1043:26\n_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"formattedStack":"async*test_fullpageScreenshot@chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:7:26\nhandleTask@chrome://mochikit/content/browser-test.js:1043:26\n_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"caller":null,"formattedStack":"async*withNewTab@resource://testing-common/BrowserTestUtils.sys.mjs:154:22\nasync*test_fullpageScreenshot@chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:7:26\nhandleTask@chrome://mochikit/content/browser-test.js:1043:26\n_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"caller":null,"formattedStack":"test_fullpageScreenshot/<@chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:69:14\nasync*withNewTab@resource://testing-common/BrowserTestUtils.sys.mjs:154:22\nasync*test_fullpageScreenshot@chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:7:26\nhandleTask@chrome://mochikit/content/browser-test.js:1043:26\n_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}}
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - Stack trace:
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:test_fullpageScreenshot/<:69
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - resource://testing-common/BrowserTestUtils.sys.mjs:withNewTab:154
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:test_fullpageScreenshot:7
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/browser-test.js:handleTask:1043
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1115
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1257
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:1032
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/<:1056
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - Not taking screenshot here: see the one that was previously logged
Flags: needinfo?(lsalzman)
Flags: needinfo?(lsalzman)
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a2c51a4dd225 Update Skia source files to milestone 113. r=aosmond https://hg.mozilla.org/integration/autoland/rev/3427275d765c Update Skia build scripts. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/d8c58792b823 Fix Skia usage for API changes. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/f57b7be502da Replace Skia layer masking with clip shaders. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/6f82142a16f3 Update fuzz for Skia update. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/e39d1fe81d33 Update trojan-source.yml for removed Skia files. r=sylvestre https://hg.mozilla.org/integration/autoland/rev/188e63799931 apply code formatting via Lando
Regressions: 1828363
Regressions: 1828393

(In reply to Natalia Csoregi [:nataliaCs] from comment #11)

Backed out for causing failures on browser_screenshots_test_full_page.js

[task 2023-04-16T06:05:21.297Z] 06:05:21     INFO - TEST-PASS | browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js | B color value - 111 == 111 - 
[task 2023-04-16T06:05:21.297Z] 06:05:21     INFO - Buffered messages finished
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - TEST-UNEXPECTED-FAIL | browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js | R color value - 56 == 55 - {"filename":"chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js","name":"test_fullpageScreenshot/<","sourceId":735,"lineNumber":69,"columnNumber":14,"sourceLine":"","asyncCause":null,"asyncCaller":{"filename":"resource://testing-common/BrowserTestUtils.sys.mjs","name":"withNewTab","sourceId":562,"lineNumber":154,"columnNumber":22,"sourceLine":"","asyncCause":null,"asyncCaller":{"filename":"chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js","name":"test_fullpageScreenshot","sourceId":735,"lineNumber":7,"columnNumber":26,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":{"filename":"chrome://mochikit/content/browser-test.js","name":"handleTask","sourceId":529,"lineNumber":1043,"columnNumber":26,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":{"filename":"chrome://mochikit/content/browser-test.js","name":"_runTaskBasedTest","sourceId":529,"lineNumber":1115,"columnNumber":18,"sourceLine":"","asyncCause":null,"asyncCaller":{"filename":"chrome://mochikit/content/browser-test.js","name":"Tester_execTest","sourceId":529,"lineNumber":1257,"columnNumber":14,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":{"filename":"chrome://mochikit/content/browser-test.js","name":"nextTest/<","sourceId":529,"lineNumber":1032,"columnNumber":14,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":{"filename":"chrome://mochikit/content/tests/SimpleTest/SimpleTest.js","name":"SimpleTest.waitForFocus/<","sourceId":556,"lineNumber":1056,"columnNumber":13,"sourceLine":"","asyncCause":null,"asyncCaller":null,"caller":null,"formattedStack":"SimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"formattedStack":"nextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"formattedStack":"async*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"caller":null,"formattedStack":"_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"formattedStack":"handleTask@chrome://mochikit/content/browser-test.js:1043:26\n_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"formattedStack":"async*test_fullpageScreenshot@chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:7:26\nhandleTask@chrome://mochikit/content/browser-test.js:1043:26\n_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"caller":null,"formattedStack":"async*withNewTab@resource://testing-common/BrowserTestUtils.sys.mjs:154:22\nasync*test_fullpageScreenshot@chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:7:26\nhandleTask@chrome://mochikit/content/browser-test.js:1043:26\n_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}},"caller":null,"formattedStack":"test_fullpageScreenshot/<@chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:69:14\nasync*withNewTab@resource://testing-common/BrowserTestUtils.sys.mjs:154:22\nasync*test_fullpageScreenshot@chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:7:26\nhandleTask@chrome://mochikit/content/browser-test.js:1043:26\n_runTaskBasedTest@chrome://mochikit/content/browser-test.js:1115:18\nasync*Tester_execTest@chrome://mochikit/content/browser-test.js:1257:14\nnextTest/<@chrome://mochikit/content/browser-test.js:1032:14\nSimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1056:13\n","nativeSavedFrame":{}}
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - Stack trace:
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:test_fullpageScreenshot/<:69
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - resource://testing-common/BrowserTestUtils.sys.mjs:withNewTab:154
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochitests/content/browser/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js:test_fullpageScreenshot:7
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/browser-test.js:handleTask:1043
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1115
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1257
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:1032
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/<:1056
[task 2023-04-16T06:05:21.299Z] 06:05:21     INFO - Not taking screenshot here: see the one that was previously logged

The following alert was caused by the regressing revision a31f2795710e, which was then backed out

== Change summary for alert #38152 (as of Thu, 20 Apr 2023 14:16:11 GMT) ==

Regressions:

Ratio Test Platform Options Absolute values (old vs new)
0.17% installer size osx-shippable instrumented 122,357,468.46 -> 122,561,167.50
0.14% installer size osx-cross 82,988,609.92 -> 83,100,663.42
0.10% installer size osx-cross 82,978,493.04 -> 83,064,185.33

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=38152

Regressions: 1829521
Regressions: 1830006
Regressions: 1830618
Blocks: 1712274
Regressions: 1832604
Regressions: 1835829
Regressions: 1838323
Regressions: 1841197
Regressions: 1841199
Regressions: 1888333
Regressions: 1909796
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: