23792 Commits

Author SHA1 Message Date
skia-flutter-autoroll
cecf6e9706 Roll Skia from 1b8a25d05c45 to 658025e9efdd (1 revision) (flutter/engine#45563)
https://skia.googlesource.com/skia.git/+log/1b8a25d05c45..658025e9efdd

2023-09-08 michaelludwig@google.com Pull backing-store modification back to SkBitmapDevice

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-08 02:07:23 +00:00
skia-flutter-autoroll
5f706c9d25 Roll Skia from 17f36a6a101e to 1b8a25d05c45 (2 revisions) (flutter/engine#45560)
https://skia.googlesource.com/skia.git/+log/17f36a6a101e..1b8a25d05c45

2023-09-07 johnstiles@google.com Implement preliminary SkSL sample mask support.
2023-09-07 armansito@google.com Manually roll Dawn from 59f488872a6e to a97b5b824f6d (27 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 23:13:43 +00:00
skia-flutter-autoroll
a4a66ec69b Roll Fuchsia Linux SDK from N915IZbyx6MSrwwS-... to 33DToYd0jNpWX1jNv... (flutter/engine#45559)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 23:01:22 +00:00
skia-flutter-autoroll
3ac167feb1 Roll Skia from efd438ed1c06 to 17f36a6a101e (2 revisions) (flutter/engine#45557)
https://skia.googlesource.com/skia.git/+log/efd438ed1c06..17f36a6a101e

2023-09-07 michaelludwig@google.com Flatten clip virtuals in SkDevice
2023-09-07 michaelludwig@google.com Delete unused SkSpecialImages::ImageToColorSpace function

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 22:28:03 +00:00
skia-flutter-autoroll
95c8bbf137 Roll Skia from ce2c94883cb5 to efd438ed1c06 (2 revisions) (flutter/engine#45554)
https://skia.googlesource.com/skia.git/+log/ce2c94883cb5..efd438ed1c06

2023-09-07 johnstiles@google.com Implement atomicUint type and intrinsics in WGSL.
2023-09-07 michaelludwig@google.com [skif] Delete legacy CropRect per image filter

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 21:43:05 +00:00
skia-flutter-autoroll
3542eb58c5 Roll Skia from ee741e5e8cf3 to ce2c94883cb5 (1 revision) (flutter/engine#45552)
https://skia.googlesource.com/skia.git/+log/ee741e5e8cf3..ce2c94883cb5

2023-09-07 johnstiles@google.com Enable WGSL in the Dawn Graphite backend.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 20:59:36 +00:00
gaaclarke
71f9d88ab9 [Impeller] Started tracking the pool with the command buffer. (flutter/engine#45298)
issue: https://github.com/flutter/flutter/issues/133506

This fixes one of the issues seen in https://github.com/flutter/flutter/issues/133506.  There were multiple ones though.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-07 20:49:00 +00:00
dependabot[bot]
c0085494e8 Bump actions/checkout from 3.6.0 to 4.0.0 (flutter/engine#45439)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a href="https://github.com/takost"><code>@​takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a href="https://github.com/takost"><code>@​takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.0.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1196">Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade codeql actions to v2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade dependencies</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade <code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1045">Implement branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix status badge</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1002">Replace datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap pipeline commands for submoduleForeach in quotes</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1029">Update <code>@​actions/io</code> to 1.1.2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use <code>@​actions/core</code> <code>saveState</code> and <code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add <code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/770">Add input <code>set-safe-directory</code></a></li>
</ul>
<h2>v3.0.1</h2>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3df4ab11eb"><code>3df4ab1</code></a> Release 4.0.0 (<a href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a href="8b5e8b7687"><code>8b5e8b7</code></a> Support fetching without the --progress option (<a href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a href="97a652b800"><code>97a652b</code></a> Update default runtime to node20 (<a href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li>See full diff in <a href="f43a0e5ff2...3df4ab11eb">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.6.0&new-version=4.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
2023-09-07 20:35:44 +00:00
hellohuanlin
4d9074ec8b Reverts part of "fix auto-correction highlight on top left corner (Again)" (flutter/engine#45523)
This reverts part of https://github.com/flutter/engine/pull/44779. Verified this to be the regression for https://github.com/flutter/flutter/issues/133908. 

This pair of `textWill/DidChange` calls was added in Beta 1, in order to fix highlight region missing last character (more details [here](https://docs.google.com/document/d/1sM3HMv-SQin39yX1aPUU7vtGv7Hcef1Quc3QhRXBl6A/edit?resourcekey=0-SFYD8vmOIkXiXCZvB1Wlcw#heading=h.ddlvu2i2epyl)). 

However, that fix doesn't work anymore for Beta 7 - it turns out that in Beta 7, the system doesn't rely on the `selectionRects` to determine the highlight region anymore. Instead, the system relies on `firstRectForRange` API. So we fixed the system highlight in `firstRectForRange` in Beta 7. 

So even after reverting this change, the system highlight still works correctly in Beta 7. I was initially leaning towards keeping these calls even after Beta 7, because without it, the `selectionRects` are still out of sync with iOS text input system. (more details [here](https://docs.google.com/document/d/1sM3HMv-SQin39yX1aPUU7vtGv7Hcef1Quc3QhRXBl6A/edit?resourcekey=0-SFYD8vmOIkXiXCZvB1Wlcw)). 

However, I was able to verify that it is indeed `textWill/DidChange` that introduced the regression for IME inputs (It's unclear why they are related, so need further investigation). 

In summary, after this revert, system highlights are still in the right place, and with the right length. 

*List which issues are fixed by this PR. You must list at least one issue.*

Fixes https://github.com/flutter/flutter/issues/133908

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-07 20:11:07 +00:00
skia-flutter-autoroll
da15308108 Roll Skia from 59a2610cd83d to ee741e5e8cf3 (4 revisions) (flutter/engine#45548)
https://skia.googlesource.com/skia.git/+log/59a2610cd83d..ee741e5e8cf3

2023-09-07 michaelludwig@google.com Revert "Add epsilon to texture effect clamping at pixel centers"
2023-09-07 johnstiles@google.com Ignore 'writeonly' modifier on WGSL storage buffers.
2023-09-07 johnstiles@google.com Enable compute tests in WGSL.
2023-09-07 johnstiles@google.com Add support for stage-input builtins in compute shaders.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 20:11:06 +00:00
skia-flutter-autoroll
9ed31989f7 Roll Skia from c3d6534b0ac3 to 59a2610cd83d (1 revision) (flutter/engine#45545)
https://skia.googlesource.com/skia.git/+log/c3d6534b0ac3..59a2610cd83d

2023-09-07 michaelludwig@google.com Add epsilon to texture effect clamping at pixel centers

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 19:22:17 +00:00
Matan Lurey
e7e938cdb5 [Impeller] Document and slightly refactor ResourceManagerVK & friends. (flutter/engine#45474)
@chinmaygarde specifically, let me know if I violated any correctness you were looking for, or if you would prefer I _don't_ make 1 or more of the changes I made here.

@gaaclarke would love your input on C++ style specifically, or anything that stands out in general.

---

## Summary

I plan to use the resource strategy in https://github.com/flutter/flutter/issues/133198, but wanted to understand the code better first, so this is my contribution to make it a bit easier to understand (hopefully! push back if not!) and contribute tests.

1. Renamed `Reset(ResourceType)` to `Swap()` for consistency with the std smart pointers.
2. Moved non-trivial work out of the constructor into `::Create` ([style guide](https://google.github.io/styleguide/cppguide.html#Doing_Work_in_Constructors)).
3. Added some `FML_DCHECK`s to private APIs to enforce correctness.
4. Made classes final and methods private where they were effectively that ([style guide](https://google.github.io/styleguide/cppguide.html#Inheritance)).
5. Added tests to make sure I understood the contracts.
2023-09-07 18:32:11 +00:00
Emircan Uysaler
929a86d3fc [fuchsia] Restructure Flatland vsync loop (flutter/engine#45531)
This CL restructures Flatland vsync loop to fire for each vsync instead
of each OnNextFrameBegin. As shown in the traces attached to the bug,
the current implementation of firing callbacks on each OnNextFrameBegin
causes skips when Flutter has longer draw calls. By scheduling frames in
between, we are increasing the chance of sending one before the latch
point. OnNextFrameBegin is now used to keep track of present credits and
future presentation times as well as when to start frame, replacing the
need for max_frames_in_flight and vsync_offset fields.

Bug: b/296272449
2023-09-07 14:14:46 -04:00
skia-flutter-autoroll
271e74a743 Roll Skia from 16df0c27bc0e to c3d6534b0ac3 (3 revisions) (flutter/engine#45543)
https://skia.googlesource.com/skia.git/+log/16df0c27bc0e..c3d6534b0ac3

2023-09-07 kjlubick@google.com Remove unused file SkOrderedReadBuffer.h
2023-09-07 michaelludwig@google.com Rename SkBaseDevice to SkDevice
2023-09-07 bungeman@google.com [paragraph] Minor cleanup

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 17:52:42 +00:00
Kevin Lubick
8aeac03253 Explicitly encode SkImages in SkPictures as PNG (flutter/engine#45511)
Skia plans to stop the default behavior of encoding SkImages in
SkPictures using a PNG encoder. To preserve that behavior, clients need
to explicitly set an SkSerialProc to do so.

This was the only location I could find in Flutter which serialized an
skp.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-09-07 13:06:02 -04:00
skia-flutter-autoroll
eb26de7021 Roll Skia from 9a41a83f96d7 to 16df0c27bc0e (3 revisions) (flutter/engine#45537)
https://skia.googlesource.com/skia.git/+log/9a41a83f96d7..16df0c27bc0e

2023-09-07 michaelludwig@google.com [skif] Remove legacy blur implementation
2023-09-07 cmumford@google.com [infra] Remove debugger/shaders/jsfiddle legacy builds
2023-09-07 drott@chromium.org [Fontations] Add fetch script for retrieving Google Fonts test data

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 15:57:10 +00:00
skia-flutter-autoroll
a200b616c5 Roll Skia from 826f9f5d20b6 to 9a41a83f96d7 (2 revisions) (flutter/engine#45534)
https://skia.googlesource.com/skia.git/+log/826f9f5d20b6..9a41a83f96d7

2023-09-07 jie.a.chen@intel.com [graphite] Add wgpu R16Unorm and RG16Unorm
2023-09-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 207e6df72c04 to 6fb24c81ba91 (4 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 14:14:04 +00:00
skia-flutter-autoroll
8ceebab6ab Roll Fuchsia Linux SDK from SCoDb2m_zQDLrMhwT... to N915IZbyx6MSrwwS-... (flutter/engine#45532)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 10:08:06 +00:00
skia-flutter-autoroll
bd481b5a08 Roll Skia from 9e86d3f6239a to 5b7a07a6356f (1 revision) (flutter/engine#45527)
https://skia.googlesource.com/skia.git/+log/9e86d3f6239a..5b7a07a6356f

2023-09-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from cba82c7c6f4a to ab4cd777e0f0 (4 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-07 05:37:05 +00:00
Brandon DeRosier
a9a14d6ffa [Impeller] Gaussian blur: Remove lingering BlurStyle vertex data/uniforms. (flutter/engine#45524)
Follow-up for https://github.com/flutter/engine/pull/45520.

Missed a few things... These were getting defaulted thanks to impeller's
header gen but don't have any purpose now that we've removed the old
blur style impl.
2023-09-06 20:33:13 -07:00
Zachary Anderson
a1dcb39a45 Revert "Enforce the rule of calling FlutterView.Render" (flutter/engine#45525)
Reverts flutter/engine#45300

Speculative revert for the post-submit framework CI failure in `windows_startup_test`: https://ci.chromium.org/ui/p/flutter/builders/prod/Windows%20windows_startup_test/6227/overview
2023-09-07 01:35:09 +00:00
Brandon DeRosier
081b00ca5a [Impeller] Gaussian blur: Remove the current blur style implementation. (flutter/engine#45520)
Resolves https://github.com/flutter/flutter/issues/122658.
Resolves remaining blur issues visible in: https://github.com/flutter/flutter/issues/132839

The current blur style implementation hasn't been working since we added the downscaling optimization, and it will continue not working after we switch to https://github.com/flutter/flutter/issues/131580.

In it's current state, it at best causes awful looking undesirable results that users are forced to work around anyhow. We should just remove it in the meantime.

Before:
![image](https://github.com/flutter/engine/assets/919017/fee57875-bd56-4a97-b8c7-353328935298)

After:
![image](https://github.com/flutter/engine/assets/919017/03d6a6dd-3789-4629-bae2-61cf6f5bb054)
2023-09-07 00:42:13 +00:00
skia-flutter-autoroll
cfd027146d Roll Skia from 9c9757c5d17d to 2b76d1113497 (2 revisions) (flutter/engine#45518)
https://skia.googlesource.com/skia.git/+log/9c9757c5d17d..2b76d1113497

2023-09-06 nicolettep@google.com [graphite] Add VulkanRenderPass wrapper class
2023-09-06 herb@google.com Basic comparison for two segments on sweepline

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 22:45:57 +00:00
skia-flutter-autoroll
deb658c4a5 Roll Fuchsia Linux SDK from 8dgICHnG28wNHzoz3... to SCoDb2m_zQDLrMhwT... (flutter/engine#45514)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 21:21:59 +00:00
skia-flutter-autoroll
b31dada16c Roll Skia from a274609c442c to 0039caadd635 (2 revisions) (flutter/engine#45513)
https://skia.googlesource.com/skia.git/+log/a274609c442c..0039caadd635

2023-09-06 johnstiles@google.com Remove injection of sk_FragCoord in golden output shaders.
2023-09-06 jamesgk@google.com [graphite] Use LCD blend logic from Ganesh

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 21:07:04 +00:00
stuartmorgan
5dc4e70477 Add macOS support for plugin value publishing (flutter/engine#45502)
These directly copy the iOS APIs, to minimize the branching needed in plugins with shared implementation code, and to facilitate the long-term goal of merging the iOS and macOS plugin headers. This does mean replicating the unfortunately non-idiomatic behavior of having `valuePublishedByPlugin:` sometimes return `nil` and sometimes return `NSNull`, instead of distinguishing between `nil` cases (if that's actually even necessary here) via a more specific API. In isolation I would definitely not design the API with this behavior, but consistency with iOS is the more important factor.

(Eventually I think we'll need a sort of "v2" of iOS plugin APIs since there are a number of strange behaviors that we're currently stuck with, but migrating iOS and macOS together to a new set of APIs won't be any harder than doing just iOS, and in the short to medium term consistency will help the ecosystem more that trying to pre-create better APIs as macOS-only.)

Also fixes `FlutterEngineRegistrar` to have a weak pointer to the engine. This should really already have been the case since plugins can retain the registrar, creating a likely cycle; it's now a guaranteed cycle (and failed unit tests designed to find cycles) without that since the engine itself is now keeping references to them.

Fixes https://github.com/flutter/flutter/issues/124721

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-06 20:44:02 +00:00
skia-flutter-autoroll
4a99ef108c Roll Skia from e5ed4ffaaaa4 to a274609c442c (2 revisions) (flutter/engine#45510)
https://skia.googlesource.com/skia.git/+log/e5ed4ffaaaa4..a274609c442c

2023-09-06 herb@google.com Reland "Int96 intro and basic operations"
2023-09-06 robertphillips@google.com [graphite] Use kPremul alpha type when blurring

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 20:20:51 +00:00
Zachary Anderson
ba9fdc5ea2 Roll Fuchsia with license script fix (flutter/engine#45498)
For https://github.com/flutter/flutter/issues/134042
2023-09-06 12:57:58 -07:00
Tong Mu
0b39609150 Enforce the rule of calling FlutterView.Render (flutter/engine#45300)
This PR enforces the rules as documented in `FlutterView.Render`, where
calls in illegal situations should be ignored - but have never been
enforced.

```
  /// This function must be called within the scope of the
  /// [PlatformDispatcher.onBeginFrame] or [PlatformDispatcher.onDrawFrame]
  /// callbacks being invoked.
  ///
  /// If this function is called a second time during a single
  /// [PlatformDispatcher.onBeginFrame]/[PlatformDispatcher.onDrawFrame]
  /// callback sequence or called outside the scope of those callbacks, the call
  /// will be ignored.
```

This rule is very important to implementing multi-view without having to
introduce new APIs. However, currently these illegal calls are not
ignored, and historically many tests (especially integration tests) were
unknowingly running based on this fact. @goderbauer did great work by
eliminating these cases in g3, and it's time for us to make sure these
calls are ignored.

Most effort of this PR goes to unit testing the changes. Some part of
`Shell::Create` is extracted into a static function to avoid duplicate
code.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-09-06 12:56:42 -07:00
skia-flutter-autoroll
d366cb3e8a Roll Skia from 59e54ccf25a4 to e5ed4ffaaaa4 (4 revisions) (flutter/engine#45506)
https://skia.googlesource.com/skia.git/+log/59e54ccf25a4..e5ed4ffaaaa4

2023-09-06 kjlubick@google.com Remove unnecessary gni groups
2023-09-06 kjlubick@google.com Move buffet rules to their respective packages
2023-09-06 bungeman@google.com [paragraph] Allow multiple unicode implementations
2023-09-06 jamesgk@google.com [graphite] Consider "need dst read" equivalent to "do in-shader blend"

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 19:38:07 +00:00
skia-flutter-autoroll
a8f5d976bc Roll Skia from 487cd9240571 to 59e54ccf25a4 (1 revision) (flutter/engine#45504)
https://skia.googlesource.com/skia.git/+log/487cd9240571..59e54ccf25a4

2023-09-06 johnstiles@google.com Add support for storage texture intrinsics in WGSL.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 18:46:18 +00:00
Nicholas Shahan
f7132b576d Update deps on DDC build targets (flutter/engine#45404)
Update deps to use the new Dart SDK DDC build targets introduced in
these changes:
 - https://dart-review.googlesource.com/c/sdk/+/313081
 - https://dart-review.googlesource.com/c/sdk/+/315561

Fixes: https://github.com/flutter/flutter/issues/133606
2023-09-06 11:10:39 -07:00
gaaclarke
fbea251722 Remove android API 26 bump for validation layers (flutter/engine#45468)
not necessary after: https://github.com/flutter/engine/pull/45350

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-06 17:40:05 +00:00
skia-flutter-autoroll
a1bce97a20 Roll Skia from 4468ef79f3d7 to 99bcee22f87d (5 revisions) (flutter/engine#45495)
https://skia.googlesource.com/skia.git/+log/4468ef79f3d7..99bcee22f87d

2023-09-06 kjlubick@google.com Introduce enum class objects to GrDirectContext APIs instead of booleans
2023-09-06 herb@google.com Revert "Int96 intro and basic operations"
2023-09-06 sharaks@google.com Merge 7 release notes into RELEASE_NOTES.md
2023-09-06 sharaks@google.com Update Skia milestone to 119
2023-09-06 robertphillips@google.com Clean up some lingering makeWithFilter items

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 15:55:53 +00:00
skia-flutter-autoroll
cc1a7262e1 Roll Skia from 596a1f192faa to 4468ef79f3d7 (2 revisions) (flutter/engine#45493)
https://skia.googlesource.com/skia.git/+log/596a1f192faa..4468ef79f3d7

2023-09-06 herb@google.com Int96 intro and basic operations
2023-09-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from cba82c7c6f4a to d18edfe2c435

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 15:07:09 +00:00
skia-flutter-autoroll
e667f19c76 Roll Skia from a74a98890cc1 to 596a1f192faa (1 revision) (flutter/engine#45492)
https://skia.googlesource.com/skia.git/+log/a74a98890cc1..596a1f192faa

2023-09-06 fmalita@chromium.org [skottie] Expose WYSIWYG editing functionality in WASM/CK

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 14:21:48 +00:00
skia-flutter-autoroll
28202e1440 Roll Skia from 72d57724bcb8 to 619eef2d0d67 (1 revision) (flutter/engine#45481)
https://skia.googlesource.com/skia.git/+log/72d57724bcb8..619eef2d0d67

2023-09-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from f5590cb5133d to cba82c7c6f4a (5 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 05:38:04 +00:00
skia-flutter-autoroll
ff543afd47 Roll Skia from 3a3a64670e08 to 72d57724bcb8 (1 revision) (flutter/engine#45476)
https://skia.googlesource.com/skia.git/+log/3a3a64670e08..72d57724bcb8

2023-09-06 johnstiles@google.com Add support for write-only storage texture types in WGSL.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 02:29:04 +00:00
skia-flutter-autoroll
aacaf98197 Roll Skia from ce2da423cb5d to 3a3a64670e08 (1 revision) (flutter/engine#45475)
https://skia.googlesource.com/skia.git/+log/ce2da423cb5d..3a3a64670e08

2023-09-06 johnstiles@google.com Add support for pixel-format flags in SPIR-V backend.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 01:44:48 +00:00
skia-flutter-autoroll
1b9c7351c3 Roll Skia from 0a253625a76a to ce2da423cb5d (1 revision) (flutter/engine#45473)
https://skia.googlesource.com/skia.git/+log/0a253625a76a..ce2da423cb5d

2023-09-06 johnstiles@google.com Add WGSL support for compute barrier intrinsics.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-06 01:01:24 +00:00
Jonah Williams
62031173dd [Impeller] construct text frames on UI thread. (flutter/engine#45418)
Conversion of SkTextBlobs to impeller::TextFrame objects is one of the most expensive operations in display list dispatching. While the rest of the engine and framework makes a reasonable attempt to cache the SkTextBlobs generated during paragraph construction, the design of the dl dispatcher means that these the Impeller backend will always reconstruct all text frames on each frame - even if the display list/picture that contained those text frames was unchanged.

Removing this overhead is one of the goals of https://github.com/flutter/engine/pull/45386 , however this patch is also fairly risky and will be difficult to land. As a more incremental solution, we can instead construct the impeller::TextFrame objects when performing paragraph painting and record them in the display list. This both moves the text frame construction to the UI thread and allows the framework/engine to cache unchanged text frames.

This also does not conflict with the dl_aiks_canvas patch directly, and is fine to land before or after it does. (though I'd argue we should land this first).

To compare the current performance levels, I ran the complex_layout_scroll perf test, since this is fairly text filled. On a Pixel 6 pro.   Across several runs this is a fairly consistent ~1ms raster time improvement.

### Skia
```
  "average_frame_build_time_millis": 1.497333333333333,
  "90th_percentile_frame_build_time_millis": 2.038,
  "99th_percentile_frame_build_time_millis": 17.686,
  "worst_frame_build_time_millis": 23.095,
  "missed_frame_build_budget_count": 3,
  "average_frame_rasterizer_time_millis": 5.5078589743589745,
  "stddev_frame_rasterizer_time_millis": 2.226343414420338,
  "90th_percentile_frame_rasterizer_time_millis": 7.481,
  "99th_percentile_frame_rasterizer_time_millis": 19.11,
  "worst_frame_rasterizer_time_millis": 79.799,
  "missed_frame_rasterizer_budget_count": 7,
  "frame_count": 234,
  "frame_rasterizer_count": 234,
  "new_gen_gc_count": 10,
  "old_gen_gc_count": 2,
 ```
 
 ### Impeller (ToT)
 
 ```
   "average_frame_build_time_millis": 1.431575000000001,
  "90th_percentile_frame_build_time_millis": 2.196,
  "99th_percentile_frame_build_time_millis": 14.486,
  "worst_frame_build_time_millis": 23.728,
  "missed_frame_build_budget_count": 2,
  "average_frame_rasterizer_time_millis": 6.536087499999999,
  "stddev_frame_rasterizer_time_millis": 1.9902712500000004,
  "90th_percentile_frame_rasterizer_time_millis": 9.705,
  "99th_percentile_frame_rasterizer_time_millis": 14.727,
  "worst_frame_rasterizer_time_millis": 17.838,
  "missed_frame_rasterizer_budget_count": 1,
  "frame_count": 240,
  "frame_rasterizer_count": 240,
  "new_gen_gc_count": 10,
  "old_gen_gc_count": 2,
  ```
  
  ### Impeller (Patched)
  
  ```
    "average_frame_build_time_millis": 1.4500167364016743,
  "90th_percentile_frame_build_time_millis": 2.478,
  "99th_percentile_frame_build_time_millis": 14.883,
  "worst_frame_build_time_millis": 18.782,
  "missed_frame_build_budget_count": 1,
  "average_frame_rasterizer_time_millis": 5.023033333333336,
  "stddev_frame_rasterizer_time_millis": 1.6445388888888894,
  "90th_percentile_frame_rasterizer_time_millis": 7.814,
  "99th_percentile_frame_rasterizer_time_millis": 13.497,
  "worst_frame_rasterizer_time_millis": 15.008,
  "missed_frame_rasterizer_budget_count": 0,
  "frame_count": 239,
  "frame_rasterizer_count": 240,
  "new_gen_gc_count": 8,
  "old_gen_gc_count": 0,
  ```
2023-09-06 00:50:48 +00:00
Jia Hao
6aec1aa55e Add import for <unordered_map> to fix the g3 build (flutter/engine#45471)
Fixes the following in G3 (b/299185514):

```
impeller/typographer/font_glyph_pair.h:27:27: error: no template named 'unordered_map' in namespace 'std'; did you mean 'unordered_set'?
using FontGlyphMap = std::unordered_map<ScaledFont, std::unordered_set<Glyph>>;
                     ~~~~~^
```

I don't really know why the lack of this import only breaks the g3 build, but not here. My guess is that it's being imported transitively in some other import that's being ifdef-ed out in g3. 

But since we're already using it in ee18450664/impeller/typographer/font_glyph_pair.h (L27), we probably want to use the import in this file anyway.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-06 00:12:39 +00:00
skia-flutter-autoroll
ee18450664 Roll Skia from 1019c10a2d38 to af473004622f (2 revisions) (flutter/engine#45469)
https://skia.googlesource.com/skia.git/+log/1019c10a2d38..af473004622f

2023-09-05 briansalomon@gmail.com Port GrMemoryPool emscripten alignment fix to SkSL::MemoryPool
2023-09-05 johnstiles@google.com Reject local-size qualifier of zero.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-05 23:16:19 +00:00
Zachary Anderson
b672497bc9 Adds a comment on clang_arm64_apilevel26 toolchain usage (flutter/engine#45467)
Companion comment to the one in https://github.com/flutter/buildroot/pull/761
2023-09-05 22:56:47 +00:00
Chris Yang
a101546179 [iOS ] Fix errors in unittest and scenario tests running against iOS 17 simulators (details in the description) (flutter/engine#45391)
1. New Mac version seems to have updated the locale data, to match the mac change, we can dynamically read the data when testing instead of hard coding.

2. "we are sending a UIImage type as parameter to `XCTAttachment attachmentWithScreenshot:`, which takes a `XCUIScreenshot` as parameter, this is not supposed to pass in old iOS versions." In this PR we updated the parameter to use the `XCUIScreenshot` type.

Fixes https://github.com/flutter/flutter/issues/133783

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-05 22:45:22 +00:00
skia-flutter-autoroll
702d8bce4f Roll Skia from 2b9fc6a2c250 to 1019c10a2d38 (2 revisions) (flutter/engine#45466)
https://skia.googlesource.com/skia.git/+log/2b9fc6a2c250..1019c10a2d38

2023-09-05 johnstiles@google.com Add support for @workgroup_size to WGSL code generator.
2023-09-05 michaelludwig@google.com Remove unnecessary semicolon in SkTime.h

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-05 22:32:31 +00:00
Chris Yang
59ce383ddb Fix iOS unittests leak in shared.invoke method channel that causes crash (flutter/engine#45416)
Fixes https://github.com/flutter/flutter/issues/133776

"The crash is due to testShareScreenInvoked presents the activityViewController, which prevents the engineViewController to be dealloc'd in the test: https://github.com/flutter/engine/blob/main/shell/platform/darwin/ios/framework/Source/FlutterPlatformPlugin.mm#L161C4-L161C24"

This fix stubbing the presentViewController call, which prevents the viewController being alloc'd, thus preventing the leak. It is probably sufficient for this test.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-05 22:08:10 +00:00
skia-flutter-autoroll
e481f3e851 Roll Skia from a0572041af8e to 72c56fab439c (1 revision) (flutter/engine#45463)
https://skia.googlesource.com/skia.git/+log/a0572041af8e..72c56fab439c

2023-09-05 jvanverth@google.com [graphite] Revise test methods in Recording and Recorder.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-05 20:12:40 +00:00
skia-flutter-autoroll
1afafd337a Roll Skia from c07fbf4c1d67 to a0572041af8e (3 revisions) (flutter/engine#45460)
https://skia.googlesource.com/skia.git/+log/c07fbf4c1d67..a0572041af8e

2023-09-05 kjlubick@google.com Remove SkTime from the public API
2023-09-05 michaelludwig@google.com [skif] Check dstEnd in loop iteration
2023-09-05 bungeman@google.com Roll FreeType from 2d9fce53 to 45903920 (6 commits)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-09-05 19:23:00 +00:00
Jonah Williams
ccb41f292c [Impeller] compute path bounds once, use Skia computed bounds where possible. (flutter/engine#45456)
Now that Paths are externally immutable, we can compute the bounds once at construction. This also allows the Skia conversions to set the already computed bounds.
2023-09-05 17:44:35 +00:00