28117 Commits

Author SHA1 Message Date
skia-flutter-autoroll
0915e215e8 Roll Skia from ec7558d41b34 to e232752d04c5 (3 revisions) (flutter/engine#54511)
https://skia.googlesource.com/skia.git/+log/ec7558d41b34..e232752d04c5

2024-08-12 kjlubick@google.com Refactor //tools/window/ in preparation of Bazel use
2024-08-12 sunnyps@chromium.org graphite: Do not skip memoryless textures in memory dumps
2024-08-12 scroggo@google.com Add a comment explaining the DEPS file

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,michaelludwig@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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-12 20:19:55 +00:00
skia-flutter-autoroll
c636d214c7 Roll Dart SDK from cfe2b63d3aca to a6cd8099ff85 (1 revision) (flutter/engine#54512)
https://dart.googlesource.com/sdk.git/+log/cfe2b63d3aca..a6cd8099ff85

2024-08-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-141.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-12 20:16:05 +00:00
Matej Knopp
70d8d63f6e macOS: Fix crash in attributedSubstringForProposedRange with out of bounds range (flutter/engine#54469)
Fixes https://github.com/flutter/flutter/issues/153157

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

## 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 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
[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
2024-08-12 20:00:46 +02:00
Loïc Sharma
5b06d21661 [Windows] Improve texture format logic (flutter/engine#54329)
This improves Flutter Window's texture format logic:

1. **If the device has extension `GL_EXT_texture_format_BGRA8888`**: backing stores' texture will be created with format `GL_BGRA_EXT` instead of `GL_RGBA8`. This is what fixes https://github.com/flutter/flutter/issues/150546.
2. **Otherwise**: backing stores' texture will be created with format `GL_RGBA` and the engine will use the color type `kRGBA_8888_SkColorType` when creating the `SkSurface`.

   Previously the engine always used color type `kN32_SkColorType`, which could be either RGBA or BGRA depending on the machine that compiled the engine. This caused Skia validation errors as the texture's format did not match the Skia surface's color type.

   I tested this by editing Flutter Windows to force it down this code path.

Huge kudos to @chinmaygarde for the OpenGL expertise!

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

> [!WARNING]
> Unfortunately, we are unable to test this.
> This bug appears to only affect older devices; none of our devices reproduce this issue.
> We also do not have the infrastructure to do a native screenshot test on Windows. 
> I will get a test exemption for this change.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-12 17:51:48 +00:00
Brandon DeRosier
b19fe31562 Revert "[Impeller] remove scene3d support." (flutter/engine#54502)
Reverts flutter/engine#54453

Not quite ready to remove Impeller Scene yet because I'm still porting
the animation functionality. Keeping it around allows me to switch back
and forth to compare without having to recompile the engine.

Over a month ago I said something like "we can revert this a couple of
weeks from now" in one of the Impeller meetings. But for better or worse
(better, I think), I ended up spending a ton of time trying to make the
PBR good first (which doesn't exist in this C++ version).
2024-08-12 10:28:51 -07:00
skia-flutter-autoroll
b6d3607401 Roll Dart SDK from 35bc5c866149 to cfe2b63d3aca (6 revisions) (flutter/engine#54505)
https://dart.googlesource.com/sdk.git/+log/35bc5c866149..cfe2b63d3aca

2024-08-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-140.0.dev
2024-08-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-139.0.dev
2024-08-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-138.0.dev
2024-08-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-137.0.dev
2024-08-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-136.0.dev
2024-08-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-135.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-12 15:31:20 +00:00
skia-flutter-autoroll
e3f500b7e8 Roll Skia from a09a0d635b08 to f77adcef7c1c (4 revisions) (flutter/engine#54504)
https://skia.googlesource.com/skia.git/+log/a09a0d635b08..f77adcef7c1c

2024-08-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a5d4d42457c3 to c95d5ac066d8 (1 revision)
2024-08-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from bacd3a7d70c1 to 6e248bcb44bf (5 revisions)
2024-08-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from da60460a940c to 5a1b60e09ad5
2024-08-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from d7d6072b1cba to da60460a940c (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 brianosman@google.com,jsimmons@google.com,michaelludwig@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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-12 08:23:42 +00:00
Jonah Williams
0af4dd27e0 [Impeller] delete unused aiks PictureRecorder. (flutter/engine#54495)
I cannot find any references to this class in the code base, and it doesn't seem used anywhere.
2024-08-11 23:20:21 +00:00
Chris Bracken
c3b9f26fad iOS,docs: Update iOS symbolication docs (flutter/engine#54494)
As of flutter/flutter#153215, end user app archives now include symbols for the Flutter framework by default. So manual symbolication is no longer required.

For engine developers and others who still need to deal with manual symbols, they can now be found in the Flutter tool cache and can thus be obtained from there if required.

Issue: https://github.com/flutter/flutter/issues/116493

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-10 19:17:23 +00:00
Chris Bracken
f05c793f26 [iOS] Rename create_{full_,}ios_framework.py (flutter/engine#54493)
This renames the iOS framework creation script for consistency with the analogous macOS script.

Previously, we had two iOS framework creation scripts:
* create_ios_framework.py
* create_full_ios_framework.py

The former was unused and was deleted in https://github.com/flutter/engine/pull/54227. The addition of "full" is no longer necessary to differentiate the two.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-10 17:23:18 +00:00
Jonah Williams
720cae8ed3 [Impeller] migrate blend tests to DL. (flutter/engine#54457)
Part of https://github.com/flutter/flutter/issues/142054
2024-08-10 16:49:19 +00:00
Chris Bracken
c96be54305 [iOS] Do not archive/upload Flutter.dSYM to cloud (flutter/engine#54492)
As of the following three patches, we now bundle Flutter.framework.dSYM as part of Flutter.xcframework and bundle them in the .xcarchive bundles produced by `flutter build ipa` / Xcode Product > Archive for upload to the iOS App Store.

* https://github.com/flutter/engine/pull/54414
* https://github.com/flutter/engine/pull/54458
* https://github.com/flutter/flutter/pull/153215

The .dSYM bundle is now available both in the uploaded .xcarchive and in the xcframework in Flutter's internal artifact cache. For developers with CI toolchains that do additional manual handling or local archiving of .dSYMs, the dSYMs no longer need to be downloaded from cloud storage as previously detailed in `docs/Crashes.md`, but can instead be copied up from the appropriate dSYM subdirectory in the framework cache:

* `flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework`

Issue: https://github.com/flutter/flutter/issues/116493
Credo: [Embrace the yak shave](https://suno.com/song/37cb7c43-85ad-40f2-87e6-9aec7baa0419)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-10 16:20:57 +00:00
Jason Simmons
0ac4b4e4a9 Revert "Roll Dart SDK from 35bc5c866149 to cb89f7cad79c (1 revision) (#54474)" (flutter/engine#54487)
This reverts commit c46243b66b0839aec421eed7e159dac2806b29cc.

https://dart.googlesource.com/sdk/+/1b1740e941c33d64ed1bbca4914d0e6ad6b22cbb is causing a regression when compiling Wasm with --extra-compiler-option=--no-source-maps
2024-08-10 01:59:21 +00:00
Chinmay Garde
c2992b3273 Remove shared mutex from FML and use the C++17 variants. (flutter/engine#54482)
We used to require this only on iOS because the standard library till iOS 9 didn't have support for this. We have moved past that version. No change on other platforms.
2024-08-09 22:59:58 +00:00
skia-flutter-autoroll
c46243b66b Roll Dart SDK from 35bc5c866149 to cb89f7cad79c (1 revision) (flutter/engine#54474)
https://dart.googlesource.com/sdk.git/+log/35bc5c866149..cb89f7cad79c

2024-08-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-135.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 21:25:50 +00:00
skia-flutter-autoroll
799e3e5b41 Roll Skia from 5e190559fefd to 2a7e7567607e (1 revision) (flutter/engine#54477)
https://skia.googlesource.com/skia.git/+log/5e190559fefd..2a7e7567607e

2024-08-09 danieldilan@google.com GM to make small circles.

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 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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 20:24:11 +00:00
Chinmay Garde
f60c0e325a Remove fml::size. (flutter/engine#54476)
std::size because standard in C++17.
2024-08-09 20:01:28 +00:00
Chinmay Garde
c6216d78ee [Impeller] Add FAQ entries. (flutter/engine#54456)
Fixes https://github.com/flutter/flutter/issues/153120
2024-08-09 18:56:06 +00:00
skia-flutter-autoroll
5ad0566be4 Roll Skia from f5dc4483204d to 5e190559fefd (1 revision) (flutter/engine#54472)
https://skia.googlesource.com/skia.git/+log/f5dc4483204d..5e190559fefd

2024-08-09 sunnyps@chromium.org graphite: Stop using wgpu::CommandEncoder::WriteBuffer

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 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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 18:52:22 +00:00
skia-flutter-autoroll
2a791dd2b7 Roll Skia from 13b4fee1ba99 to f5dc4483204d (1 revision) (flutter/engine#54471)
https://skia.googlesource.com/skia.git/+log/13b4fee1ba99..f5dc4483204d

2024-08-09 michaelludwig@google.com [graphite] Enable SkSL texture sharpening bias

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 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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 16:44:54 +00:00
Jonah Williams
198d1f1077 [Impeller] remove scene3d support. (flutter/engine#54453)
Now that Flutter GPU is a preview, the technical debt from having an ifdef controlled additional rendering mode can be removed.
2024-08-09 16:38:56 +00:00
skia-flutter-autoroll
5540fddd81 Roll Skia from 31c432c02665 to 13b4fee1ba99 (1 revision) (flutter/engine#54470)
https://skia.googlesource.com/skia.git/+log/31c432c02665..13b4fee1ba99

2024-08-09 michaelludwig@google.com [graphite] Use EdgeAAQuad with all/none flags in drawSpecial

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 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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 15:28:28 +00:00
Eric Seidel
07f0051638 Update pre-commit formatter to use java from repo rather than path. (flutter/engine#54450)
This removes the recently added requirement of contributors having
`java` on their path.

Also removed the mention of java being needed in setup (I don't have
java
installed and have built the engine from mac for years).

Fixes https://github.com/flutter/flutter/issues/152968
Fixes https://github.com/flutter/flutter/issues/129221
2024-08-09 08:16:08 -07:00
Zachary Anderson
ed398932e4 Remove swiftshader from the license script excludes list (flutter/engine#54412)
The swiftshader third_party directory is a huge mess, and will take more
wrangling of the license script than I have time for right now. This PR
correctly covers the direct dependency, but not the transitive ones.

Towards https://github.com/flutter/flutter/issues/145726
2024-08-09 08:11:31 -07:00
skia-flutter-autoroll
ad935b4349 Roll Dart SDK from 1cc09f3f3642 to 35bc5c866149 (1 revision) (flutter/engine#54468)
https://dart.googlesource.com/sdk.git/+log/1cc09f3f3642..35bc5c866149

2024-08-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-134.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 10:25:29 +00:00
skia-flutter-autoroll
685924ec86 Roll Dart SDK from 9222e4c96f4d to 1cc09f3f3642 (2 revisions) (flutter/engine#54465)
https://dart.googlesource.com/sdk.git/+log/9222e4c96f4d..1cc09f3f3642

2024-08-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-133.0.dev
2024-08-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-132.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 06:22:05 +00:00
skia-flutter-autoroll
9b5187e1e9 Roll Skia from bf9cf9b8fe9d to 0bedf6746d9e (2 revisions) (flutter/engine#54466)
https://skia.googlesource.com/skia.git/+log/bf9cf9b8fe9d..0bedf6746d9e

2024-08-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from c2f5bb885ba4 to d7d6072b1cba (6 revisions)
2024-08-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from a67e96132ef0 to 140bdd8b5818 (20 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 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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 06:18:05 +00:00
skia-flutter-autoroll
812969b072 Roll Skia from 5e8d9842cefa to 2eee5f248886 (1 revision) (flutter/engine#54461)
https://skia.googlesource.com/skia.git/+log/5e8d9842cefa..2eee5f248886

2024-08-09 sunnyps@chromium.org graphite: Make Dawn transient attachment textures be zero-sized

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 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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 02:20:17 +00:00
skia-flutter-autoroll
9f5fa13ee6 Roll Dart SDK from ff0404c72fc5 to 9222e4c96f4d (1 revision) (flutter/engine#54460)
https://dart.googlesource.com/sdk.git/+log/ff0404c72fc5..9222e4c96f4d

2024-08-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-131.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-09 01:20:41 +00:00
Chris Bracken
c74cc5997e [iOS] Rename Flutter.dSYM to Flutter.framework.dSYM (flutter/engine#54458)
Renames our Flutter framework dSYM to `Flutter.framework.dSYM` for consistency with all other dSYM bundle names. In iOS release archives, all other dSYM files are:

* `App.framework`: `App.framework.dSYM`
* `Runner.app`: `Runner.app.dSYM`

We continue to archive the dSYM to `Flutter.dSYM.zip` for backward compatibility with the existing instructions for manual symbolification in `docs/Crashes.md` and to remain compatible with dart-lang/dart-ci's symbolizer which expects `Flutter.dSYM` in [`Symbolizer._symbolizeIosFrames`][symbolizer].

Followup to: flutter/engine#54414
Issue: https://github.com/flutter/flutter/issues/116493
Motto: [Embrace the yak shave][yak_shave].

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-09 00:48:38 +00:00
Harry Terkelsen
a7481bd5d5 [canvaskit] Detect animated WebP images (flutter/engine#54418)
Reads the WebP header to determine if the WebP image is animated or not. If it's not animated, we can use `<img>` tag decoding for less jank.

The WebP half of https://github.com/flutter/flutter/issues/151911

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-08 21:47:22 +00:00
skia-flutter-autoroll
5338b83212 Roll Dart SDK from 067c7cfcbc8c to ff0404c72fc5 (1 revision) (flutter/engine#54455)
https://dart.googlesource.com/sdk.git/+log/067c7cfcbc8c..ff0404c72fc5

2024-08-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-130.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-08 21:07:14 +00:00
Jonah Williams
3f58382fe8 [Impeller] move aiks text tests to DL. (flutter/engine#54293)
Part of https://github.com/flutter/flutter/issues/142054
2024-08-08 20:28:15 +00:00
skia-flutter-autoroll
a645989195 Roll Skia from 0c6dd1e6ff8e to 4cff580721cf (20 revisions) (flutter/engine#54454)
https://skia.googlesource.com/skia.git/+log/0c6dd1e6ff8e..4cff580721cf

2024-08-08 drott@chromium.org [Fontations] Prepare for Pen move from font-types to skrifa
2024-08-08 drott@chromium.org [Fontations] Rustfmt, fix test, idiomatic Rust for ffi.rs
2024-08-08 kjlubick@google.com Fix viewer backend toggling
2024-08-08 jie.a.chen@intel.com GraphiteDawn: use DawnPartialLoadResolveTexture
2024-08-08 sunnyps@chromium.org graphite: Do not skip zero-sized resources in purgeResources
2024-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0f7909f6bf64 to 9b5edb173670 (1 revision)
2024-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 70f2e2033b17 to 81c01d2f8159 (9 revisions)
2024-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from c2f5bb885ba4 to d794afe95923
2024-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 6177e0e75569 to c2f5bb885ba4 (5 revisions)
2024-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from d07d6ba280ba to a67e96132ef0 (11 revisions)
2024-08-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b4b1cdd9bdc8 to 0f7909f6bf64 (5 revisions)
2024-08-07 jamesgk@google.com [sksl] Use WGSL's "either" interpolation sampling
2024-08-07 egdaniel@google.com [Vulkan] Set RenderArea on vkBeginRenderPass.
2024-08-07 egdaniel@google.com [Graphite] Calculate RenderPass bounds and pass to backends.
2024-08-07 kjlubick@google.com Enforce IWYU on the rest of the ganesh directory
2024-08-07 kjlubick@google.com Apply clang-tidy suggestion to GlyphVector
2024-08-07 jmbetancourt@google.com remove stale SkBlender documentation
2024-08-07 michaelludwig@google.com [graphite] Evict atlases on failed Recorder::snap()
2024-08-07 michaelludwig@google.com [graphite] Mark deferred Device immutable in snap()
2024-08-07 bungeman@google.com Add deduction guide for sk_sp

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 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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-08 20:17:23 +00:00
Robert Ancell
5c4ffe8f9c Add a precision to the fragment shader (flutter/engine#54109)
This is required for OpenGL ES.

See https://registry.khronos.org/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.html#precision-and-precision-qualifiers

https://github.com/flutter/flutter/issues/152297
2024-08-08 20:07:41 +00:00
Jonah Williams
62a1ddeaee [Impeller] perform final blit and gpu end frame tracing earlier. (flutter/engine#54452)
Fixes the reported GPU time regression when rendering platform views. The problem was that we delayed the tracing of the end of the frame until the CATransaction, which artificially stretches out GPU frame time. Instead add a new method SurfaceMTL::PreparePResent which performs the final blit and tracing, call this in the encode callback.

Fixes: https://flutter-flutter-perf.skia.org/e/?queries=sub_result%3Daverage_gpu_frame_time%26test%3Dplatform_views_scroll_perf_ios__timeline_summary&selected=commit%3D41853%26name%3D%252Carch%253Dintel%252Cbranch%253Dmaster%252Cconfig%253Ddefault%252Cdevice_type%253DiPhone_11%252Cdevice_version%253Dnone%252Chost_type%253Dmac%252Csub_result%253Daverage_gpu_frame_time%252Ctest%253Dplatform_views_scroll_perf_ios__timeline_summary%252C

Test: benchmarks.
2024-08-08 19:46:04 +00:00
Hannes Winkler
76e6e34bb5 Add EGL Surface backing store (flutter/engine#43683)
Allows using an EGL surface as a flutter backing store. Way more convenient for GBM than hacking gbm bo's into GL FBOs.

This resolves https://github.com/flutter/flutter/issues/58363

Currently, the embedder API assumes that the compositor (if it exists) will let flutter render into FBOs or Textures and then composite the whole thing onto the actual (EGL) window surface. I think this assumption is also documented a bit in https://github.com/flutter/flutter/issues/38466

However, in my case, I want let the hardware do the composition (using the linux KMS API), and render each flutter layer into it's own EGL surface.

It's possible to hack around this by creating your own GBM BOs, importing those as EGL images, then importing those as GL Render Buffers and attaching those to GL FBOs and that works (tested it). However, that's basically reimplementing 50% of the whole GBM/EGL "window" system integration for no reason.

This PR adds:
1. To the embedder API:
   - a new kind of OpenGL Backing store: `FlutterOpenGLSurface`
     - consisting of just a `make_current` and destruction callback (plus userdata)
     - the make_current callback should make the target surface current, i.e. `eglMakeCurrent(..., surf, surf)`
     - will be called by the engine before rendering onto the backing store
2. Some wiring to call make_current before rendering into the backing store

## TODO:

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-08 19:11:22 +00:00
Jason Simmons
51cfba3f31 Fix include of GrVkImageInfo header for the Fuchsia build (flutter/engine#54449)
See https://skia.googlesource.com/skia/+/5fb01f00262bbbef99571953fb5a987b0bed4d45
2024-08-08 18:37:18 +00:00
Matej Knopp
4d9360ac5b Fix FlutterMetalLayer testDealloc flakiness on iOS 18 (flutter/engine#54403)
Fixes https://github.com/flutter/flutter/issues/152990

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-08 16:39:17 +00:00
Chris Bracken
753fd42815 [iOS] Bundle dSYM packages in Flutter.xcframework (flutter/engine#54414)
As of Xcode 16, App Store validation requires dSYMs for frameworks in app archives. Bundling dSYMs also significantly simplifies stack trace symbolification, so we should be doing this regardless.

This adds both framework and simulator framework dSYMs to the Flutter.xcframework bundle.

Issue: https://github.com/flutter/flutter/issues/116493

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-08 16:25:17 +00:00
skia-flutter-autoroll
eb8c2bba08 Roll Dart SDK from 0131aabd8631 to 067c7cfcbc8c (1 revision) (flutter/engine#54437)
https://dart.googlesource.com/sdk.git/+log/0131aabd8631..067c7cfcbc8c

2024-08-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-129.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-08 14:01:23 +00:00
skia-flutter-autoroll
c11d5799a7 Roll Dart SDK from 76b463dbecc3 to 0131aabd8631 (1 revision) (flutter/engine#54430)
https://dart.googlesource.com/sdk.git/+log/76b463dbecc3..0131aabd8631

2024-08-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-128.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-08 08:27:19 +00:00
skia-flutter-autoroll
c491ec187c Roll Dart SDK from 2e1b99aa1fa2 to 76b463dbecc3 (1 revision) (flutter/engine#54423)
https://dart.googlesource.com/sdk.git/+log/2e1b99aa1fa2..76b463dbecc3

2024-08-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-127.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-08 03:10:22 +00:00
Jonah Williams
95edf0d8db [android] workaround for HC bug. (flutter/engine#54408)
Testing

FYI @jason-simmons 

"Fixes" https://github.com/flutter/flutter/issues/152691
2024-08-08 00:06:58 +00:00
Jason Simmons
f0f2dd5a14 Directly include the Skia header that defines GrVkImageInfo (flutter/engine#54417)
See https://skia.googlesource.com/skia/+/5fb01f00262bbbef99571953fb5a987b0bed4d45
2024-08-08 00:05:38 +00:00
skia-flutter-autoroll
359d68d7ac Roll Dart SDK from f5d136899082 to 2e1b99aa1fa2 (4 revisions) (flutter/engine#54411)
https://dart.googlesource.com/sdk.git/+log/f5d136899082..2e1b99aa1fa2

2024-08-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-126.0.dev
2024-08-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-125.0.dev
2024-08-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-124.0.dev
2024-08-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-123.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-08-07 21:57:23 +00:00
Chinmay Garde
ddefa92e24 [Impeller] Make stage compatibility checker work with stages that have no inputs or outputs. (flutter/engine#54406)
Also removes the workarounds and updates the docstring to talk about the PowerVR hack. I came across this while fixing https://github.com/flutter/engine/pull/54375.

Fixes https://github.com/flutter/flutter/issues/146852
2024-08-07 20:35:14 +00:00
gaaclarke
3d0a4eb772 [Impeller] made Vector3 naming match Vector2 naming. (flutter/engine#54396)
Vector2 has `GetLength()` but Vector3 had `Length()`.  This unifies the naming.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-07 17:33:51 +00:00
Jonah Williams
5ce93cf905 [Impeller] bulk update fresh glyph atlas. (flutter/engine#54379)
Fixes https://github.com/flutter/flutter/issues/152977

When creating a new glyph atlas texture, write glyphs in bulk. Additionally uses this operation to clear the glyph atlas, removing the need for the other blit pass.
2024-08-07 17:31:49 +00:00
Matej Knopp
a02e474f1b Reland: Partial repaint platform views (flutter/engine#54231)
Relands https://github.com/flutter/engine/pull/54219 reverted in
https://github.com/flutter/engine/pull/54230.

The tracked area of `PlatformViewLayer` now covers entire frame ensuring
full repaint when platform view is removed.
Added `FullRepaintAfterRemovingLayer` test.

## 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 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
[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
2024-08-07 18:14:13 +02:00