22071 Commits

Author SHA1 Message Date
skia-flutter-autoroll
89daa2770d Roll Skia from 82d1ef7a833e to 38e56b6da8f9 (8 revisions) (flutter/engine#41645)
https://skia.googlesource.com/skia.git/+log/82d1ef7a833e..38e56b6da8f9

2023-05-01 jvanverth@google.com [graphite] Get dm tests running with Vulkan.
2023-05-01 jvanverth@google.com [graphite] Track buffer access mask and use for GPU->CPU transfer.
2023-05-01 johnstiles@google.com Add dedicated op for immediate-value bitwise-and.
2023-05-01 sunnyps@chromium.org graphite: Ensure Graphite backend specific unions are always non-empty
2023-05-01 penghuang@chromium.org Reland "graphite: support selecting backend of graphite dawn"
2023-05-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1d74856fe8c0 to 077edbc2d56d (4 revisions)
2023-05-01 johnstiles@google.com Revert "graphite: support selecting backend of graphite dawn"
2023-05-01 johnstiles@google.com Use SkArenaAlloc for SkSL memory pooling.

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 brianosman@google.com,bungeman@google.com,jsimmons@google.com,rmistry@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-05-01 21:07:01 +00:00
Chris Yang
2c864fa88d Move scenario app to use iPhone Se 3rd gen iOS 16.2, un-skip test TwoPlatformViewsWithOtherBackDropFilterTests (flutter/engine#41532)
iPhone 8 is old and not installed by default with the latest XCodes. Move the scenario test to a newer iPhone that has a home button. (Unfortunately, iPhones without home button have the bottom navigation bar that animates, resulting inconsistency during screenshots)

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-01 20:57:20 +00:00
Tim Maffett
bebb813709 Fixes font-subset to not drop GSUB/GPOS/GDEF tables for variable fonts where they are needed Fixes #125704 (flutter/engine#41592)
This PR fixes font-subset to check to see if a font is a variable font
with variable font axes before additionally dropping the GSUB/GPOS/GDEF
tables. These tables were being forced dropped in all cases (even though
harfbuzz had been modified to always keep them). I made the change only
drop the tables for variable fonts to preserve the previous behavior in
the most possible cases.

This PR fixes
[#125704](https://github.com/flutter/flutter/issues/125704).

To see the bug (or verify it is fixed) in the live web examples below
you must select the font variations Fill->1 and Weight->100.
(See issue [#125704](https://github.com/flutter/flutter/issues/125704)
for more details).

The issue [#125704](https://github.com/flutter/flutter/issues/125704)
includes examples of the font-subset being used (and breaking) the
variable fonts, as well as example of the `--no-tree-shake-icons` being
used where the fonts do not break.

Additionally, I have created an additional [live
example](https://timmaffett.github.io/material_symbols_icons_showing_tree_shake_fixed/)
where this PR has been applied to font-subset and icon tree shaking is
still taking place.

(Example w/ icon tree-shaking using the broken font-subset for icon tree
shaking is found
[here](https://timmaffett.github.io/material_symbols_icons_showing_tree_shake_bug/)
).

In the example build output below note that the non-variable fonts
"CupertinoIcons.ttf" and "MaterialIcons-Regular.otf" have the same size
savings as before the change, but the variable fonts
"MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf",
"MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].ttf", and
"MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf" now have a much more
reasonable saving of ~2% because every icon in the font is included in
the example. The previous extra ~30% savings was from having the GSUB
table removed. The 30% size savings for a tree-shaking for a case where
*every* icon is used in the example probably should have been suspect..
lol.

Output of build using fixed font-subset.exe [live fix
example](https://timmaffett.github.io/material_symbols_icons_showing_tree_shake_fixed/)
:
```console
flutter build web --release --web-renderer canvaskit --base-href "/material_symbols_icons_showing_tree_shake_fixed/"

Font asset "CupertinoIcons.ttf" was tree-shaken, reducing it from 283452 to 1236 bytes (99.6% reduction). Tree-shaking can be disabled by providing the
--no-tree-shake-icons flag when building your app.
Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 10808 bytes (99.3% reduction). Tree-shaking can be disabled by providing the
--no-tree-shake-icons flag when building your app.
Font asset "MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf" was tree-shaken, reducing it from 5848492 to 5683212 bytes (2.8% reduction). Tree-shaking can be disabled by
providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].ttf" was tree-shaken, reducing it from 6944756 to 6779476 bytes (2.4% reduction). Tree-shaking can be disabled
by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf" was tree-shaken, reducing it from 9361824 to 9196544 bytes (1.8% reduction). Tree-shaking can be disabled
by providing the --no-tree-shake-icons flag when building your app.
Compiling lib\main.dart for the Web...                             79.5s
```

BEFORE font-subset fix [live bug example
here](https://timmaffett.github.io/material_symbols_icons_showing_tree_shake_bug/):
```console
flutter build web --release --web-renderer canvaskit --base-href "/material_symbols_icons_showing_tree_shake_bug/"

Font asset "CupertinoIcons.ttf" was tree-shaken, reducing it from 283452 to 1236 bytes (99.6% reduction). Tree-shaking
can be disabled by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf" was tree-shaken, reducing it from 5848492 to 4079548 bytes
(30.2% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].ttf" was tree-shaken, reducing it from 6944756 to 4781576 bytes(31.1% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 10808 bytes (99.3% reduction).
Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf" was tree-shaken, reducing it from 9361824 to 6397020 bytes
(31.7% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
Compiling lib\main.dart for the Web...                             63.8s
```
2023-05-01 13:49:41 -07:00
godofredoc
fb237fba17 Add the verify exported symbols to linux builds. (flutter/engine#41635)
Engine V2 builds were missing a step to verify the exported symbols. This PR is adding the step in preparation to migrate the android builds to engine v2.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-01 18:51:53 +00:00
gaaclarke
b454d4874d [Impeller] Turns on the Metal validator for impeller_unittests. (flutter/engine#40998)
fixes https://github.com/flutter/flutter/issues/121017

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-01 18:48:42 +00:00
Dan Field
f09e6afec3 [Impeller] Remove duplicate component in path.h (flutter/engine#41639)
Noticed this while reading some code. I think an IDE plugin I have does this sometimes.
2023-05-01 18:06:02 +00:00
skia-flutter-autoroll
f853b54ab1 Roll Skia from 1a6a1e905518 to 82d1ef7a833e (5 revisions) (flutter/engine#41637)
https://skia.googlesource.com/skia.git/+log/1a6a1e905518..82d1ef7a833e

2023-05-01 penghuang@chromium.org graphite: support selecting backend of graphite dawn
2023-05-01 michaelludwig@google.com Remove SkSpecialImage::makeTightSurface
2023-05-01 johnstiles@google.com Remove .skvm generation support from skslc.
2023-05-01 kjlubick@google.com Remove last SK_GANESH #ifdefs from non-Ganesh SkImage code
2023-05-01 johnstiles@google.com Fix fuzzer-discovered error with unnecessary swizzles.

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 brianosman@google.com,bungeman@google.com,jsimmons@google.com,rmistry@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-05-01 17:21:14 +00:00
Xilai Zhang
e49577708d [flutter roll] Revert "Determine lifecycle by looking at window focus also" (flutter/engine#41626)
Reverts flutter/engine#41094.

context: updated the java/android timeouts and details in b/280204906
2023-05-01 16:46:02 +00:00
skia-flutter-autoroll
159f303b92 Roll Skia from a7f887f344c6 to 1a6a1e905518 (1 revision) (flutter/engine#41633)
https://skia.googlesource.com/skia.git/+log/a7f887f344c6..1a6a1e905518

2023-05-01 johnstiles@google.com Fix includes in GrSkSLFP.

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 brianosman@google.com,bungeman@google.com,jsimmons@google.com,rmistry@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-05-01 15:03:08 +00:00
Kevin Lubick
46d1954049 Reland image encoder (flutter/engine#41632)
This is a reland of #41368 with fix for transparent images and a unit
test to verify it.

Skia would like to remove `SkImageGenerator::MakeFromEncoded` and this
appears to be the only remaining usage. It appears to be easily swapped
out for the `SkImages::DeferredFromEncodedData`. (skbug.com/13052)

This also removes the use of the internal `SkCodecImageGenerator` for
the public `SkCodec` API (which the image generator had just been
deferring to anyway).

While unbreaking some unit tests, I made a few assertions easier to
debug and produce nicer error messages.

## 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].
- [x] 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 Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] 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-05-01 07:33:23 -07:00
skia-flutter-autoroll
235c19032f Roll Fuchsia Linux SDK from FV1Uu3faXL2llmvaU... to SJOgKviZ-kwWd1Z1u... (flutter/engine#41630)
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 jsimmons@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 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-05-01 10:11:35 +00:00
dependabot[bot]
0185642d86 Bump github/codeql-action from 2.3.1 to 2.3.2 (flutter/engine#41629)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.1 to 2.3.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>2.3.2 - 27 Apr 2023</h2>
<p>No user facing changes.</p>
<h2>2.3.1 - 26 Apr 2023</h2>
<p>No user facing changes.</p>
<h2>2.3.0 - 21 Apr 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.13.0. <a href="https://redirect.github.com/github/codeql-action/pull/1649">#1649</a></li>
<li>Bump the minimum CodeQL bundle version to 2.8.5. <a href="https://redirect.github.com/github/codeql-action/pull/1618">#1618</a></li>
</ul>
<h2>2.2.12 - 13 Apr 2023</h2>
<ul>
<li>Include the value of the <code>GITHUB_RUN_ATTEMPT</code> environment variable in the telemetry sent to GitHub. <a href="https://redirect.github.com/github/codeql-action/pull/1640">#1640</a></li>
<li>Improve the ease of debugging failed runs configured using <a href="https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning-for-a-repository#configuring-code-scanning-automatically">default setup</a>. The CodeQL Action will now upload diagnostic information to Code Scanning from failed runs configured using default setup. You can view this diagnostic information on the <a href="https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-the-tool-status-page">tool status page</a>. <a href="https://redirect.github.com/github/codeql-action/pull/1619">#1619</a></li>
</ul>
<h2>2.2.11 - 06 Apr 2023</h2>
<p>No user facing changes.</p>
<h2>2.2.10 - 05 Apr 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.12.6. <a href="https://redirect.github.com/github/codeql-action/pull/1629">#1629</a></li>
</ul>
<h2>2.2.9 - 27 Mar 2023</h2>
<ul>
<li>Customers post-processing the SARIF output of the <code>analyze</code> Action before uploading it to Code Scanning will benefit from an improved debugging experience. <a href="https://redirect.github.com/github/codeql-action/pull/1598">#1598</a>
<ul>
<li>The CodeQL Action will now upload a SARIF file with debugging information to Code Scanning on failed runs for customers using <code>upload: false</code>. Previously, this was only available for customers using the default value of the <code>upload</code> input.</li>
<li>The <code>upload</code> input to the <code>analyze</code> Action now accepts the following values:
<ul>
<li><code>always</code> is the default value, which uploads the SARIF file to Code Scanning for successful and failed runs.</li>
<li><code>failure-only</code> is recommended for customers post-processing the SARIF file before uploading it to Code Scanning. This option uploads debugging information to Code Scanning for failed runs to improve the debugging experience.</li>
<li><code>never</code> avoids uploading the SARIF file to Code Scanning even if the code scanning run fails. This is not recommended for external users since it complicates debugging.</li>
<li>The legacy <code>true</code> and <code>false</code> options will be interpreted as <code>always</code> and <code>failure-only</code> respectively.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>2.2.8 - 22 Mar 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.12.5. <a href="https://redirect.github.com/github/codeql-action/pull/1585">#1585</a></li>
</ul>
<h2>2.2.7 - 15 Mar 2023</h2>
<p>No user facing changes.</p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f3feb00acb"><code>f3feb00</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1662">#1662</a> from github/update-v2.3.2-8b12d99ee</li>
<li><a href="1c9e206df3"><code>1c9e206</code></a> Update changelog for v2.3.2</li>
<li><a href="8b12d99ee5"><code>8b12d99</code></a> Fix bug where run attempt was reported as run ID (<a href="https://redirect.github.com/github/codeql-action/issues/1661">#1661</a>)</li>
<li><a href="dcf71cf79b"><code>dcf71cf</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1660">#1660</a> from github/mergeback/v2.3.1-to-main-8662eabe</li>
<li><a href="194450bdd6"><code>194450b</code></a> Update checked-in dependencies</li>
<li><a href="e78ef455a8"><code>e78ef45</code></a> Update changelog and version after v2.3.1</li>
<li>See full diff in <a href="8662eabe0e...f3feb00acb">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=2.3.1&new-version=2.3.2)](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 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-05-01 09:42:55 +00:00
skia-flutter-autoroll
93fea548fa Roll Skia from 5a7d7da47c10 to fe0977a822a4 (5 revisions) (flutter/engine#41627)
https://skia.googlesource.com/skia.git/+log/5a7d7da47c10..fe0977a822a4

2023-05-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 28404b632bd4 to d982c3e06cb5
2023-05-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 493272235e76 to 1d74856fe8c0 (1 revision)
2023-05-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f0d31e0f4846 to b89ed2f23a03 (3 revisions)
2023-05-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from c755ec54aa80 to 22f70bb09892 (18 revisions)
2023-05-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from a51a80d7ae5a to 28404b632bd4 (8 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 brianosman@google.com,bungeman@google.com,jsimmons@google.com,rmistry@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-05-01 07:54:10 +00:00
skia-flutter-autoroll
2d62a17793 Roll Skia from 3a037528ab83 to e98b3f40fbf2 (2 revisions) (flutter/engine#41619)
https://skia.googlesource.com/skia.git/+log/3a037528ab83..e98b3f40fbf2

2023-04-29 armansito@google.com Introduce the vello_cpp crate
2023-04-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 42bf259b43f4 to 493272235e76 (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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-29 18:21:44 +00:00
Jason Simmons
60f214c194 Exclude Skia's Vello directory from the license crawl (flutter/engine#41617) 2023-04-29 17:33:06 +00:00
Jason Simmons
4e818387cc Manual roll of Dart SDK from e8b86b073413 to 823a69e2a34d (flutter/engine#41614)
Requires a change to an analyzer script due to a deprecated API
2023-04-29 16:43:09 +00:00
skia-flutter-autoroll
c42c058bd2 Roll Fuchsia Linux SDK from xfKYQ2vkoLvxhBHIf... to FUOS_QWwsi0RMumuZ... (flutter/engine#41611)
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 jsimmons@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 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-04-29 05:26:11 +00:00
skia-flutter-autoroll
92d81d63da Roll Skia from c7b3371bcd48 to 3a037528ab83 (2 revisions) (flutter/engine#41609)
https://skia.googlesource.com/skia.git/+log/c7b3371bcd48..3a037528ab83

2023-04-29 armansito@google.com Remove piet-gpu code and dependencies
2023-04-29 armansito@google.com [graphite] Ref texture resources in a DispatchGroup

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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-29 03:53:16 +00:00
Loïc Sharma
b786d923f5 Remove single view assumption from pointer events (flutter/engine#41602)
This change removes the assumption that that all pointer events go to the view ID `0`. This change also adds a test for pointer events.

Part of: https://github.com/flutter/flutter/issues/112205

## Background

All pointer events are sent to [`PlatformDispatcher.onPointerDataPacket`](https://api.flutter.dev/flutter/dart-ui/PlatformDispatcher/onPointerDataPacket.html). In the future, a `viewId` property will be added [`PointerData`](https://api.flutter.dev/flutter/dart-ui/PointerData-class.html), which the framework (specifically, `GestureBinding`) will use to route the event to the proper view. This `viewId` property's value will be set by the embedders.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-04-29 03:47:10 +00:00
Brandon DeRosier
32f9b0985b [Impeller] Remove destructive blend mode check from Contents::ShouldRender (flutter/engine#41600)
Resolves https://github.com/flutter/flutter/issues/125717.
2023-04-28 17:32:34 -07:00
skia-flutter-autoroll
2165b1f512 Roll Skia from 49412cbee072 to c7b3371bcd48 (7 revisions) (flutter/engine#41603)
https://skia.googlesource.com/skia.git/+log/49412cbee072..c7b3371bcd48

2023-04-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from a51a80d7ae5a to 28404b632bd4
2023-04-28 johnstiles@google.com Remove overlapping-write simplification from RP builder.
2023-04-28 johnstiles@google.com Fuse variable declarations with neighboring init-expressions.
2023-04-28 armansito@google.com [graphite][compute] Add mechanism for late-bound workgroup memory
2023-04-28 ccameron@chromium.org SkGainmapShader: Clarify cutoff priorities
2023-04-28 cmumford@google.com Update fetch-sk and fetch-gn to Python 3
2023-04-28 johnstiles@google.com Create dedicated op for inverted condition masks.

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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-29 00:23:26 +00:00
skia-flutter-autoroll
797a5997ff Roll Skia from 9867fa253064 to 49412cbee072 (13 revisions) (flutter/engine#41597)
https://skia.googlesource.com/skia.git/+log/9867fa253064..49412cbee072

2023-04-28 nscobie@google.com Include SkTraceEventCommon.h in SkATrace.cpp
2023-04-28 nicolettep@google.com [graphite] Expand upon VulkanCommandBuffer
2023-04-28 armansito@google.com [graphite][compute] Support pre-compiled shader source
2023-04-28 armansito@google.com [graphite][compute] Support externally assigned buffer and wg count
2023-04-28 jlavrova@google.com Clearer names for foreground/background text style
2023-04-28 armansito@google.com [graphite] Support uniform buffers in ComputeSteps
2023-04-28 kjlubick@google.com Enforce IWYU on src/core/SkA* and select others
2023-04-28 johnstiles@google.com Create dedicated continue_op to handle loop-continue.
2023-04-28 skia-autoroll@skia-public.iam.gserviceaccount.com (Manual) Roll Dawn from 664e1e070201 to c755ec54aa80 (19 revisions)
2023-04-28 kjlubick@google.com Enforce IWYU on src/gpu/ganesh/effects
2023-04-28 michaelludwig@google.com Remove SkSpecialImage::makeSurface
2023-04-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 14eaf973d52a to 42bf259b43f4 (1 revision)
2023-04-28 michaelludwig@google.com Reland "[skif] Context fully controls SkSpecialSurface creation"

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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-28 22:36:20 +00:00
godofredoc
6f2d067673 Migrate desktop artifacts to engine v2. (flutter/engine#41599)
The desktop artifacts are generated using gn+ninja in both the legacy and engine v2 builds. This change is making the engine v2 the primary build.

This change needs to land before https://flutter-review.googlesource.com/c/recipes/+/43340 which is removing the desktop artifacts from the legacy builder to avoid trying to upload the same artifacts multiple times.

There will be some propagation time, 1 or 2 commits where the artifacts will try to be uploaded twice making the legacy Linux Host Engine build fail and recover automatically with the auto-retry.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-04-28 22:26:15 +00:00
Jason Simmons
98171221da [Impeller] Ensure that embedded blobs are placed at aligned addresses. (flutter/engine#41526)
FlatBuffer deserialization may segfault if the buffer is based at an unaligned address.
2023-04-28 22:12:15 +00:00
Zachary Anderson
4eae6e1164 Revert "Replace deprecated and internal Skia EncodedImage calls with public versions" (flutter/engine#41595)
Reverts flutter/engine#41368

This is blocking rolls into the framework. Let's revert until we sort
out whether there's a workaround for the change to the unpremultiplied
alpha issue.
2023-04-28 13:41:00 -07:00
Chris Yang
d8e93afbc2 [platform_view] Only dispose view when it is removed from the composition order (flutter/engine#41521)
DisposeView happens every frame before laying out PlatformViews, with the order specified in `composition_order_`. Because `view_to_dispose_` is determined on UI thread and `composition_order_` is determined on the platform thread, there could be a race if the dart code on the UI thread runs faster than the rasterizer on the Platform thread, causing a view in `view_to_dispose_` is still in the `composition_order_`.

This PR delays the views in the `composition_order_` being disposed and wait for the next frame to dispose them. 

fixes https://github.com/flutter/flutter/issues/125223

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-04-28 18:21:14 +00:00
Greg Spencer
962cbf0a22 Determine lifecycle by looking at window focus also (flutter/engine#41094)
## Description

This incorporates additional signal from `Activity.onWindowFocusChanged` to help decide if the application is `resumed` or `inactive`.

When the user pulls down the notification shade or opens the app switcher in iOS, then iOS sends a notification to the application that it no longer has input focus (is no longer "active" in Apple terminology). 

However, Android (at least on a Pixel) doesn't send `onPause` and `onResume` events for these things, as one might expect. Instead, this PR changes things so that we listen to `Activity.onWindowFocusChanged` and see if any of the windows still have focus.

If it doesn't have focus, then the lifecycle switches to `inactive` (even if `onPause` hasn't been called), and if it does have focus (and `onResume` hasn't been called) then we should go to `resumed`.

State changes are determined and deduped in the `LifecycleChannel` class.

Here's the old state table:

| Android State | Flutter state |
| ------------- | ------------- |
| Resumed  | resumed |
| Paused  | inactive |
| Stopped | paused |
| Detached | detached |

Here's the new state table:

| Android State | Window focused | Flutter state |
| ------------- | ------------- | ------------- |
| Resumed  | true  | resumed |
| Resumed  | false  | _inactive_ * |
| Paused  | true  | inactive |
| Paused  | false  | inactive |
| Stopped  | true  | paused |
| Stopped | false  | paused |
| Detached | true  | detached |
| Detached | false  | detached |

* = This is the relevant change in this PR.

("Window focused" means one or more windows managed by Flutter are focused)

The `inactive` state is for when the application is running and visible, but doesn't have the input focus.  An example where this currently happens are when a phone call is in progress on top of the app, or on some OEMs when going into the app switcher (I've tested on Realme and it does that, at least).  With the PR, it will also go into `inactive` when the app has lost input focus, but is still in the Android `onResume` state. This means that on phones that don't pause the app when they go into the app switcher or the notification window shade (Pixel, others), the app will go into `inactive` when it didn't before. If developers weren't doing anything special in the `inactive` state before, then this PR will have no change for them. If they were, they will go into that state more often (but more consistently across OEMs).

## Related Issues

  - Fixes  https://github.com/flutter/flutter/issues/124591

## Tests

  - Added unit tests for handling `onWindowFocusChanged`.
2023-04-28 17:43:36 +00:00
Zachary Anderson
5191865948 Increase timeout for clang-tidy on mac (flutter/engine#41588)
These builds are affected by
https://github.com/flutter/flutter/issues/119750

The timeout needs to be increased to avoid the autorollers closing PRs
due to timeouts.
2023-04-28 10:41:55 -07:00
Brandon DeRosier
af8a3a62af [Impeller] Always enable validation for goldens (flutter/engine#41574)
Enable validation for release builds of the golden tests.
2023-04-28 10:24:18 -07:00
M-A
1074fd7f89 fuchsia: do not read version_history.json (flutter/engine#41585)
Otherwise this causes GN to read JSON files that are irrelevant.

Co-authored-by: Marc-Antoine Ruel <maruel@google.com>
2023-04-28 09:54:28 -07:00
Kevin Lubick
76896edd18 Replace deprecated and internal Skia EncodedImage calls with public versions (flutter/engine#41368)
Skia would like to remove `SkImageGenerator::MakeFromEncoded` and this
appears to be the only remaining usage. It appears to be easily swapped
out for the `SkImages::DeferredFromEncodedData`. (skbug.com/13052)

This also removes the use of the internal `SkCodecImageGenerator` for
the public `SkCodec` API (which the image generator had just been
deferring to anyway).

While unbreaking some unit tests, I made a few assertions easier to
debug and produce nicer error messages.
2023-04-28 09:10:33 -07:00
skia-flutter-autoroll
e331177fb2 Roll Skia from 05d09f28250a to 9867fa253064 (18 revisions) (flutter/engine#41584)
https://skia.googlesource.com/skia.git/+log/05d09f28250a..9867fa253064

2023-04-28 istepancar@gmail.com feat(*): add entry points for canvaskit
2023-04-28 kjlubick@google.com Remove Ganesh and Graphite code from SkImage::subset
2023-04-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 5c0b4251bd2c to adf21a927515 (8 revisions)
2023-04-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3076b4c0d8ce to f0d31e0f4846 (1 revision)
2023-04-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 3007135dd349 to a51a80d7ae5a (12 revisions)
2023-04-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a8c2037f213a to 14eaf973d52a (12 revisions)
2023-04-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 3007135dd349 to 575bfadf099e
2023-04-27 armansito@google.com [graphite] BufferManager: Rename `mappable` and fix AccessPattern setting
2023-04-27 brianosman@google.com Remove AVX512 (SKX) logic from RasterPipeline_opts
2023-04-27 brianosman@google.com Remove unused AVX512 opts code
2023-04-27 johnstiles@google.com Eliminate redundant constant-stores to the same range in SkRP.
2023-04-27 brianosman@google.com Remove affine bitmap procs
2023-04-27 johnstiles@google.com Detect invalid layout(push_constant) modifier.
2023-04-27 armansito@google.com [graphite] BufferManager: support pre-zeroed storage buffer creation
2023-04-27 johnstiles@google.com Use push-pop simplification in many more places.
2023-04-27 dnfield@google.com Print which pixel format was requested in abort message
2023-04-27 michaelludwig@google.com [skif] Add inverseMapRect to LayerSpace<SkMatrix>
2023-04-27 cmumford@google.com Change copyright of presubmit tests to Google Inc.

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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-28 14:44:58 +00:00
godofredoc
796283619f Migrate Linux Arm Host Engine to engine v2. (flutter/engine#41555)
The artifacts from legacy and engine v2 builders are identical. This PR is moving the legacy builder to staging and updates engine v2 build to upload the artifacts to production.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-04-28 14:43:05 +00:00
Brandon DeRosier
8870181d07 [Impeller] Manage the onscreen stencil in EntityPass (flutter/engine#41563)
Moves onscreen stencil management from the surface to EntityPass for
Metal and Vulkan. EntityPass has enough context to set up the stencil
optimally.

Also forces us to fail loudly when the supplied stencil is set up in a
way that can't be used for rendering the pass on GLES.

- On Vulkan, when we're blitting, we don't need to set up a onscreen
stencil attachment at all.
- And on both Vulkan and Metal, the onscreen stencil can be transient
when no pass reads are necessary (fixes the benchmark regressions
introduced by https://github.com/flutter/engine/pull/41509).
2023-04-27 22:35:53 -07:00
Brandon DeRosier
a1b3d1d457 Revert "Reland: [Impeller] Use a device buffer for SkBitmap allocation, use Linear texture on Metal backend. " (flutter/engine#41567)
Reverts flutter/engine#41538

Playground atlas text is broken for the Vulkan + OpenGLES backends with
this change.
2023-04-27 22:35:03 -07:00
skia-flutter-autoroll
cf70fabc18 Roll Skia from f7c8a58c2127 to 05d09f28250a (4 revisions) (flutter/engine#41557)
https://skia.googlesource.com/skia.git/+log/f7c8a58c2127..05d09f28250a

2023-04-27 johnstiles@google.com Detect and eliminate redundant pop-push with swizzles.
2023-04-27 johnstiles@google.com Reorder commutative ops involving constant variables or XOR.
2023-04-27 skia-autoroll@skia-public.iam.gserviceaccount.com (Manual) Roll Dawn from 523fbbca76ca to 664e1e070201 (15 revisions)
2023-04-27 michaelludwig@google.com Revert "[skif] Context fully controls SkSpecialSurface creation"

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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-27 20:29:19 +00:00
skia-flutter-autoroll
496fa69f71 Roll Skia from 8441d7a93942 to f7c8a58c2127 (10 revisions) (flutter/engine#41556)
https://skia.googlesource.com/skia.git/+log/8441d7a93942..f7c8a58c2127

2023-04-27 sunnyps@chromium.org graphite: Fix static initialization
2023-04-27 sunnyps@chromium.org graphite: Fix Ganesh Dawn compile errors
2023-04-27 michaelludwig@google.com [skif] Context fully controls SkSpecialSurface creation
2023-04-27 cmumford@google.com Add unit tests for PRESUBMIT.py
2023-04-27 kjlubick@google.com Enable trivial ABI for CanvasKit and Bazel build
2023-04-27 kjlubick@google.com Move Ganesh Skp texture code into GrImageUtils
2023-04-27 istepancar@gmail.com Remove --expose-wasm from documentation
2023-04-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0f6da54b821b to a8c2037f213a (5 revisions)
2023-04-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from d37c97d18a21 to 5c0b4251bd2c (7 revisions)
2023-04-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from dec3646b8299 to 3007135dd349 (6 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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-27 17:43:46 +00:00
dependabot[bot]
5f6ececf4d Bump github/codeql-action from 2.2.11 to 2.3.1 (flutter/engine#41553)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.11 to 2.3.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>2.3.1 - 26 Apr 2023</h2>
<p>No user facing changes.</p>
<h2>2.3.0 - 21 Apr 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.13.0. <a href="https://redirect.github.com/github/codeql-action/pull/1649">#1649</a></li>
<li>Bump the minimum CodeQL bundle version to 2.8.5. <a href="https://redirect.github.com/github/codeql-action/pull/1618">#1618</a></li>
</ul>
<h2>2.2.12 - 13 Apr 2023</h2>
<ul>
<li>Include the value of the <code>GITHUB_RUN_ATTEMPT</code> environment variable in the telemetry sent to GitHub. <a href="https://redirect.github.com/github/codeql-action/pull/1640">#1640</a></li>
<li>Improve the ease of debugging failed runs configured using <a href="https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning-for-a-repository#configuring-code-scanning-automatically">default setup</a>. The CodeQL Action will now upload diagnostic information to Code Scanning from failed runs configured using default setup. You can view this diagnostic information on the <a href="https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-the-tool-status-page">tool status page</a>. <a href="https://redirect.github.com/github/codeql-action/pull/1619">#1619</a></li>
</ul>
<h2>2.2.11 - 06 Apr 2023</h2>
<p>No user facing changes.</p>
<h2>2.2.10 - 05 Apr 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.12.6. <a href="https://redirect.github.com/github/codeql-action/pull/1629">#1629</a></li>
</ul>
<h2>2.2.9 - 27 Mar 2023</h2>
<ul>
<li>Customers post-processing the SARIF output of the <code>analyze</code> Action before uploading it to Code Scanning will benefit from an improved debugging experience. <a href="https://redirect.github.com/github/codeql-action/pull/1598">#1598</a>
<ul>
<li>The CodeQL Action will now upload a SARIF file with debugging information to Code Scanning on failed runs for customers using <code>upload: false</code>. Previously, this was only available for customers using the default value of the <code>upload</code> input.</li>
<li>The <code>upload</code> input to the <code>analyze</code> Action now accepts the following values:
<ul>
<li><code>always</code> is the default value, which uploads the SARIF file to Code Scanning for successful and failed runs.</li>
<li><code>failure-only</code> is recommended for customers post-processing the SARIF file before uploading it to Code Scanning. This option uploads debugging information to Code Scanning for failed runs to improve the debugging experience.</li>
<li><code>never</code> avoids uploading the SARIF file to Code Scanning even if the code scanning run fails. This is not recommended for external users since it complicates debugging.</li>
<li>The legacy <code>true</code> and <code>false</code> options will be interpreted as <code>always</code> and <code>failure-only</code> respectively.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>2.2.8 - 22 Mar 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.12.5. <a href="https://redirect.github.com/github/codeql-action/pull/1585">#1585</a></li>
</ul>
<h2>2.2.7 - 15 Mar 2023</h2>
<p>No user facing changes.</p>
<h2>2.2.6 - 10 Mar 2023</h2>
<ul>
<li>Update default CodeQL bundle version to 2.12.4. <a href="https://redirect.github.com/github/codeql-action/pull/1561">#1561</a></li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8662eabe0e"><code>8662eab</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1659">#1659</a> from github/update-v2.3.1-da583b07a</li>
<li><a href="1f2f707d99"><code>1f2f707</code></a> Update changelog for v2.3.1</li>
<li><a href="da583b07a7"><code>da583b0</code></a> Add <code>workload_run_attempt</code> to analysis upload (<a href="https://redirect.github.com/github/codeql-action/issues/1658">#1658</a>)</li>
<li><a href="a9648ea7c6"><code>a9648ea</code></a> Throw full error for CLI bundle download (<a href="https://redirect.github.com/github/codeql-action/issues/1657">#1657</a>)</li>
<li><a href="c5f3f016ae"><code>c5f3f01</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1656">#1656</a> from github/mergeback/v2.3.0-to-main-b2c19fb9</li>
<li><a href="90f053271e"><code>90f0532</code></a> Update checked-in dependencies</li>
<li><a href="0f085f964c"><code>0f085f9</code></a> Update changelog and version after v2.3.0</li>
<li><a href="b2c19fb9a2"><code>b2c19fb</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1655">#1655</a> from github/update-v2.3.0-a8affb063</li>
<li><a href="b203f98343"><code>b203f98</code></a> Update changelog for v2.3.0</li>
<li><a href="a8affb0639"><code>a8affb0</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1649">#1649</a> from github/cklin/codeql-cli-2.13.0</li>
<li>Additional commits viewable in <a href="d186a2a36c...8662eabe0e">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=2.2.11&new-version=2.3.1)](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 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-04-27 16:31:09 +00:00
Jesse Seales
7bcdb22566 Refactor vuln scan into separate yaml (flutter/engine#41528)
This removes the vuln scanning action from the scorecards yaml and into its own file. The additional file already existed but was not updated.

Fixes:
b/246821537

*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-04-27 15:53:20 +00:00
Jonah Williams
144af3487e Reland: [Impeller] Use a device buffer for SkBitmap allocation, use Linear texture on Metal backend. (flutter/engine#41538)
Original PR: https://github.com/flutter/engine/pull/41374

This was reverted because it broke on simulators as they do not support linear textures. To fix this, I've ifdef'd out the DeviceBufferMTL implementation of AsTexture so that it falls back to the slow path copy. Also updated the capabilities check so that the glyph atlas updates the texture contents when it changes.
2023-04-27 04:33:04 +00:00
Jonah Williams
3335dcd1ee [Impeller] allow shader read for root resolve texture (flutter/engine#41543)
This fixes a validation error I see from Xcode running the backdrop filter benchmarks
2023-04-27 03:44:35 +00:00
godofredoc
ad4136d438 reland "Migrate mac_host_engine to engine v2 builds." (flutter/engine#41531)
Relands: https://github.com/flutter/engine/pull/41149

GN+Ninja artifacts have been validated manually. The number of files and their content is the same and presubmit tests are passing correctly in the engine and flutter.

The reason of previous reverts are:

* FlutterMacOS.framework.zip required to be double zipped.
* FlutterMacOS.dSYM.zip required to be double zipped.
* GCS cache header needed to be updated during testing.

Full details of what has been fixed can be found in: https://github.com/flutter/flutter/issues/124911
2023-04-27 01:41:48 +00:00
skia-flutter-autoroll
e8471152c2 Roll Skia from 20a1c61c5597 to d315ab065af3 (5 revisions) (flutter/engine#41535)
https://skia.googlesource.com/skia.git/+log/20a1c61c5597..d315ab065af3

2023-04-26 brianosman@google.com Remove SkBlitter::justAnOpaqueColor
2023-04-26 johnstiles@google.com Wrap SkRP ops in #ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE.
2023-04-26 johnstiles@google.com Switch Bazel builds to use SkRP by default.
2023-04-26 brianosman@google.com Miscellaneous blitter cleanup
2023-04-26 herb@google.com Add difficult test cases for sk_doubles_nearly_equal_ulps

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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-27 00:04:06 +00:00
Jonah Williams
2c38f993b8 Revert "[Impeller] Use a device buffer for SkBitmap allocation, use Linear texture on Metal backend." (flutter/engine#41533)
Reverts flutter/engine#41374

Breaks on Simulators!
2023-04-26 23:05:29 +00:00
Xilai Zhang
fd46ca5e9d [codesign] Add pinned xcode version as property to mac android aot engine (flutter/engine#41518)
context: https://github.com/flutter/flutter/issues/125570#issuecomment-1523823942

Pin xcode version for the six sub builds in mac android aot engine
2023-04-26 22:58:15 +00:00
Brandon DeRosier
45127462d5 [Impeller] Coerce opaque ColorSourceContents to Source (flutter/engine#41525)
This coercion happens when Entities are appended to a pass, which is the
moment where we will need to perform depth sorting.
2023-04-26 15:56:54 -07:00
skia-flutter-autoroll
30ff8dfa06 Roll Skia from 3fea88565a83 to 20a1c61c5597 (3 revisions) (flutter/engine#41530)
https://skia.googlesource.com/skia.git/+log/3fea88565a83..20a1c61c5597

2023-04-26 sunnyps@chromium.org graphite: Fix DrawPass::SortKey static_assert for 32-bit builds
2023-04-26 armansito@google.com [graphite] Redefine PrioritizeGpuReads as AccessPattern
2023-04-26 cmumford@google.com Merge 1 release notes into RELEASE_NOTES.md

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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,tdenniston@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-04-26 21:32:51 +00:00
Jonah Williams
8167e14475 [Impeller] partial repaint for Impeller/iOS. (flutter/engine#40959)
Implements partial repaint for Impeller.

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

The new code that manages the damage regions is more or less a copy paste from the existing Skia implementation. Compared to Skia, there are a few differences:

Normally Impeller wants to use the drawable as the resolve texture for the root MSAA pass. Unfortunately this will unconditonally clear that texture. Thus to do a partial repaint, we have to allocate a separate texture to resolve to and then blit into the drawable.

The blit seems to take about 500ns for a full screen on an iPhone 13. That implies that partial repaint is likely not worth doing if the screen is significantly changed. Thus I've added code in compositor_context.cc that computes the percentage of width or height that is part of the dirty rect. Above a threshold of (abitrarily chosen) 70%, we just render as normal. This should mean there is only a very minor hit from performing the diff on screens that are highly changed.

The other special case, is that sometimes we get damage rects that are empty - that is the drawable is already completely up to date with what we want to render. IN that case I shortcircuit all of the impeller code and just present immediately. I previously tried returning without a present but this resulted in Xcode reporting dropped frames. One caveat here is that if you use the XCode frame debugger and attempt to capture a frame where we early present, then it will claim it couldn't capture any command buffers (because we didn't create any).

To facilitate all of this, I added some additonal plumbing so that the impeller surface can get the clip rect from the submit info. Additionally, rather than using a clip rect impeller will translate and then shrink the root surface texture. This reduces memory usage compared to just clippling.
2023-04-26 21:13:03 +00:00
gaaclarke
276fce5441 Updated todo with github issue link (flutter/engine#41517)
followup from https://github.com/flutter/engine/pull/41490

## 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.
- [ ] 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.
- [x] 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
[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-04-26 13:09:50 -07:00
Jonah Williams
70457cca4f [Impeller] Use a device buffer for SkBitmap allocation, use Linear texture on Metal backend. (flutter/engine#41374)
This reduces the cost of uploading the glyph atlas, as we can exploit metal's capabilies to create a texture from a device buffer and share the underlying memory with a linear texture. This also means that subsequent updates don't require uploads or copies either.

From scrolling through wonderous, this shaves off about 0.2 ms (0.6 ms -> 0.4 ms) of fresh atlas construction.
2023-04-26 19:45:05 +00:00