29204 Commits

Author SHA1 Message Date
Zachary Anderson
e09a2da889 Switch some mac_unopt tests from intel to arm hosts (flutter/engine#55882) 2024-10-28 18:06:55 +00:00
Jonah Williams
36789c6b19 [Impeller] dont increment shared_ptr when tracked object is already tracked. (flutter/engine#56153)
By passing the shared_ptrs to TrackedObjectsVK by value, we will always require at least a decrement of the shared_ptr count, and possibly an increment too. 

Since for most cases the tracked object has already been tracked, passing by const ref results in no increment or decrement.

Ignoring the time value, since this is a flamegraph, we can see almost all time spent tracking is spent on shared_ptr decrement:

![image](https://github.com/user-attachments/assets/aeae405b-1e5a-4d97-a9a3-b7668cec0714)
2024-10-28 16:24:16 +00:00
skia-flutter-autoroll
6b4ce9c67d Roll Dart SDK from a75848f92210 to 69b50768d733 (2 revisions) (flutter/engine#56168)
https://dart.googlesource.com/sdk.git/+log/a75848f92210..69b50768d733

2024-10-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.7.0-73.0.dev
2024-10-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.7.0-72.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 codefu@google.com,dart-vm-team@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-10-28 09:08:15 -07:00
skia-flutter-autoroll
3092934b6f Roll Skia from 263c3e2ecd30 to f08fbc465888 (1 revision) (flutter/engine#56170)
https://skia.googlesource.com/skia.git/+log/263c3e2ecd30..f08fbc465888

2024-10-28 michaelludwig@google.com Revert "Update Ganesh GL interface to look for timer query functionality."

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,codefu@google.com,jamesgk@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-10-28 15:37:14 +00:00
skia-flutter-autoroll
7f829d6339 Roll Fuchsia Linux SDK from VJIEKDIuzhhloCBro... to RXUZ9eDc7cS4NpKoh... (flutter/engine#56166)
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 codefu@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://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-10-28 10:47:20 +00:00
skia-flutter-autoroll
676f8ce56b Roll Skia from dd0158912c76 to 0e5cf5c5f5a3 (2 revisions) (flutter/engine#56163)
https://skia.googlesource.com/skia.git/+log/dd0158912c76..0e5cf5c5f5a3

2024-10-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 8bc4729c0325 to 98a334bd44af (5 revisions)
2024-10-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 809e420e990b to 9daf276e5f9a (22 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,codefu@google.com,jamesgk@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-10-28 07:33:49 +00:00
skia-flutter-autoroll
dc2951ba9e Roll Skia from cadf2538dcde to dd0158912c76 (3 revisions) (flutter/engine#56162)
https://skia.googlesource.com/skia.git/+log/cadf2538dcde..dd0158912c76

2024-10-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 145112eea713 to 3aaa6784ca31 (1 revision)
2024-10-28 fmalita@chromium.org Range-check custom typeface glyph ids
2024-10-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e548898aa37c to 6bf0a68d2621 (1 revision)

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,codefu@google.com,jamesgk@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-10-28 06:13:39 +00:00
skia-flutter-autoroll
7e3bd829de Roll Fuchsia Linux SDK from 5osQdhk4W6CcWgjIg... to VJIEKDIuzhhloCBro... (flutter/engine#56154)
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 codefu@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://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-10-27 09:30:40 +00:00
Chris Bracken
90b5771184 Migrate FlutterViewController to ARC (flutter/engine#55669)
Migrates `FlutterViewController` from manual reference counting to ARC. Eliminates use of scoped_nsobject and scoped_nsprotocol, and migrates ivars to property syntax where possible.

No semantic changes, therefore no changes to tests.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-26 17:39:25 +00:00
skia-flutter-autoroll
2c9be8a0a1 Roll Fuchsia Linux SDK from Y4TdnTpLdkI107K42... to 5osQdhk4W6CcWgjIg... (flutter/engine#56152)
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 codefu@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://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-10-26 08:17:25 +00:00
skia-flutter-autoroll
6f38597b20 Roll Dart SDK from 0257f458e40a to a75848f92210 (2 revisions) (flutter/engine#56150)
https://dart.googlesource.com/sdk.git/+log/0257f458e40a..a75848f92210

2024-10-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-71.0.dev
2024-10-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-70.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 codefu@google.com,dart-vm-team@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-10-26 05:11:17 +00:00
skia-flutter-autoroll
e89c082d73 Roll Skia from da6c17329e0b to cadf2538dcde (3 revisions) (flutter/engine#56147)
https://skia.googlesource.com/skia.git/+log/da6c17329e0b..cadf2538dcde

2024-10-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from bf33950646b5 to e548898aa37c (9 revisions)
2024-10-25 egdaniel@google.com [Graphite] Use mappable buffers for Vulkan instrinsic uniforms.
2024-10-25 lukasza@chromium.org [rust png] Mark frames as fully received even without decoding them.

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,codefu@google.com,nicolettep@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-10-26 02:17:33 +00:00
gaaclarke
06c1ec5374 Removed clamping from dithering (flutter/engine#56140)
tests: https://github.com/flutter/flutter/pull/157643
fixes revert from https://github.com/flutter/flutter/pull/153976

The pixel format will clamp if it needs to anyway so this isn't
necessary.

## 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-10-25 16:59:21 -07:00
Jackson Gardner
45d8f6a4ed Reland (x2) Skwasm overlay optimizations (flutter/engine#56067)
This is an attempt to reland https://github.com/flutter/engine/pull/55468

We now defer actually drawing the pictures until the build of the layer slices, so that we can calculate an accurate `cullRect` for the picture recorder

This also contains a further optimization for the "simple" rendering case (no platform views) where we don't actually do any unnecessary occlusion calculations.
2024-10-25 22:03:56 +00:00
Jonah Williams
368ca941eb [Impeller] Lock access to descriptor pool map. (flutter/engine#56113)
Speculative fix for https://github.com/flutter/flutter/issues/157565
which looks like the kind of error that might happen if we concurrently
mutate this hashmap.
2024-10-25 13:30:17 -07:00
skia-flutter-autoroll
c025861523 Roll Dart SDK from 3067d697ae26 to 0257f458e40a (4 revisions) (flutter/engine#56135)
https://dart.googlesource.com/sdk.git/+log/3067d697ae26..0257f458e40a

2024-10-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-69.0.dev
2024-10-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-68.0.dev
2024-10-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-67.0.dev
2024-10-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-66.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 codefu@google.com,dart-vm-team@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-10-25 19:06:24 +00:00
gaaclarke
789bf0db15 renamed TextFrameDispatcher to FirstPassDispatcher (flutter/engine#56098)
fixes https://github.com/flutter/flutter/issues/157526

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-25 17:18:19 +00:00
gaaclarke
a5cc4c6dcb Added retry mechanism for pipeline creation (flutter/engine#56071)
issue https://github.com/flutter/flutter/issues/157467

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-25 16:59:10 +00:00
gaaclarke
0b9801be54 Faster vulkan buffer tracking (flutter/engine#56099)
issue: https://github.com/flutter/flutter/issues/157538

This removes multiple instances of copying std::shared_ptr and hashing.

## 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-10-25 09:06:25 -07:00
Jonah Williams
4da10c43b7 [Impeller] Reland: hash less stuff per frame. (flutter/engine#55742)
Reverted due to missing glyph when rolling into the framework. Problem was that we should be always using the unrounded rounded scale to compute subpixel position but we sometimes used the rounded scale.

---

Currently we have multiple stages of hashing while font rendering, which is relatively expensive for the actualy required workload. First, we hash the contents of all text frames to compute the unique set of glyphs per frame. Then we diff this hash set against the hashmap of glyphs within the atlas. Finally we hash and lookup the final rendered bounds for each glyph.

We can simplify this to 2. hash lookups for glyphs not yet in the atlas and 1. hash lookup for glyphs that are in the atlas. This is done by combing the step where we uniquely compute glyphs per frame with the diff against the current atlas. When this lookup is performed, we also store the glyph position (if found) in the text_frame itself - which allows text contents to skip the last hash, as long as the glyph has already been rendered.

See https://github.com/flutter/engine/pull/55092
2024-10-25 16:05:52 +00:00
skia-flutter-autoroll
39608491a5 Roll Skia from cc75472dedc2 to da6c17329e0b (3 revisions) (flutter/engine#56132)
https://skia.googlesource.com/skia.git/+log/cc75472dedc2..da6c17329e0b

2024-10-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from dd7c0efb9d54 to bf33950646b5 (3 revisions)
2024-10-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from f2315dbe32bd to 3a265f143be4 (3 revisions)
2024-10-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 4fb594542104 to 8bc4729c0325 (3 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,codefu@google.com,nicolettep@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-10-25 15:45:50 +00:00
Robert Ancell
6966cb21a0 Clean up comments and names in FlView (flutter/engine#56084)
Add/update comments for clarity and ensure naming matches other code
conventions.
2024-10-26 02:50:37 +13:00
Robert Ancell
d62ce043c5 Move platform handler from FlView to FlEngine (flutter/engine#56024)
There can only be one handler and multiple views.
2024-10-26 02:46:45 +13:00
skia-flutter-autoroll
bdab77e6da Roll Skia from 53c9663c3b83 to cc75472dedc2 (10 revisions) (flutter/engine#56121)
https://skia.googlesource.com/skia.git/+log/53c9663c3b83..cc75472dedc2

2024-10-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from be9d992b58d8 to 809e420e990b (16 revisions)
2024-10-24 lukasza@chromium.org [rust png] Handle palette expansion on Skia side.
2024-10-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b0229dbd25db to dd7c0efb9d54 (12 revisions)
2024-10-24 briansalomon@gmail.com Update Ganesh GL interface to look for timer query functionality.
2024-10-24 michaelludwig@google.com Add factories for SkWorkingColorSpaceShader and SkColorFilterShader
2024-10-24 robertphillips@google.com [graphite] Add toggle to control aspects of Pipeline creation
2024-10-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 9a4c7495f3cd to f2315dbe32bd (5 revisions)
2024-10-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from df0da6f45570 to 4fb594542104 (2 revisions)
2024-10-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 6685fff40671 to be9d992b58d8 (9 revisions)
2024-10-23 lukasza@chromium.org [rust png] Discover frames more aggressively in `onGetFrameCount`.

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,codefu@google.com,nicolettep@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-10-25 06:07:21 +00:00
Jim Graham
23187a652e [DisplayList] Remove legacy size fields in DLOp records (flutter/engine#56101)
After landing https://github.com/flutter/engine/pull/54676 we had the DLBuilder using legacy size fields in the DLOp records to manage traversing the records, but we constructed a more direct "offset vector" for the DisplayList to enable random access to the ops. The offset vector was created on the fly during the `Build()` method and then the size fields in the DLOp records were largely unused and redundant.

This PR gets rid of the remaining uses of the DLOp size fields and has the Builder produce the offsets vector directly during recording.
2024-10-25 05:13:40 +00:00
Chinmay Garde
97be50d961 [Impeller] libImpeller: Respect the paragraph style line height specification. (flutter/engine#56066)
cc @lyceel
2024-10-25 00:19:24 +00:00
Jason Simmons
641814ad61 [web] Do not copy invalid images in the Skia test image collection (flutter/engine#56102)
A recent Skia commit added a test image that is used to check handling of invalid input.  This is causing some web tests to fail because Firefox rejects the image.

(see https://skia.googlesource.com/skia.git/+/ff59ce65022d71f883b7e3be146bbd32facadaf8)
2024-10-24 22:39:20 +00:00
Devon Carew
f233f9eaf4 [deps] update deps and pubspecs for the new locations of package:matcher, package:collection, and package:boolean_selector (flutter/engine#56107)
Update the deps and pubspec files for the new SoT locations for:

- package:matcher (dart-lang/test)
- package:collection (dart-lang/core)
- package:boolean_selector (dart-lang/tools)

See also issue https://github.com/dart-lang/sdk/issues/56591. 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-24 22:37:01 +00:00
skia-flutter-autoroll
8531105702 Roll Dart SDK from 7d218a25e8bf to 3067d697ae26 (3 revisions) (flutter/engine#56106)
https://dart.googlesource.com/sdk.git/+log/7d218a25e8bf..3067d697ae26

2024-10-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-65.0.dev
2024-10-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-64.0.dev
2024-10-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-63.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 codefu@google.com,dart-vm-team@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-10-24 22:31:35 +00:00
Jonah Williams
88415da70b [android] make failing to acquire a java image non-fatal. (flutter/engine#56105)
See failures in https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8733165720607371809/+/u/step_is_flaky:_run_platform_views_scroll_perf__timeline_summary/stdout

If we fail to acquire the next image from the image reader, its ok to return null from this method as the engine already handles displaying nothing.

THe crashes are due to us ... choosing to crash, which isn't really meaningful.
2024-10-24 21:14:25 +00:00
skia-flutter-autoroll
790d7cdb27 Roll Fuchsia Linux SDK from NxrFCTty8wV4-6Cpl... to Y4TdnTpLdkI107K42... (flutter/engine#56096)
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 codefu@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://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-10-24 18:34:23 +00:00
Jenn Magder
5686e3651a Remove 'Linux mac_clangd' in favor of 'Mac clangd' (flutter/engine#56082)
Follow up to https://github.com/flutter/engine/pull/56014

`Mac clangd` is [passing as a standalone build](https://ci.chromium.org/ui/p/flutter/builders/staging/Mac%20clangd/60/overview) (<10 minutes).  Move it out of bringup and remove `Linux mac_clangd`.

https://github.com/flutter/flutter/issues/157275

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-24 17:38:18 +00:00
gaaclarke
2c204ddb54 Added thread name to pipeline validation error. (flutter/engine#56074)
issue: https://github.com/flutter/flutter/issues/148320

## 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-10-24 08:26:34 -07:00
skia-flutter-autoroll
7dad6ea340 Roll Dart SDK from 024c9570fae4 to 7d218a25e8bf (1 revision) (flutter/engine#56085)
https://dart.googlesource.com/sdk.git/+log/024c9570fae4..7d218a25e8bf

2024-10-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-62.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 codefu@google.com,dart-vm-team@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-10-24 09:54:27 +00:00
skia-flutter-autoroll
8e25952589 Roll Dart SDK from dd06a1e3002c to 024c9570fae4 (1 revision) (flutter/engine#56079)
https://dart.googlesource.com/sdk.git/+log/dd06a1e3002c..024c9570fae4

2024-10-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-61.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 codefu@google.com,dart-vm-team@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-10-24 05:40:30 +00:00
auto-submit[bot]
1b6e5c0329 Reverts "[display_list] grow display list backing store by power of two. (#56004)" (flutter/engine#56078)
Reverts: flutter/engine#56004
Initiated by: jonahwilliams
Reason for reverting: unexpected framework ui thread regression, no performance improvement
Original PR Author: jonahwilliams

Reviewed By: {flar, chinmaygarde}

This change reverts the following previous change:
Fixes https://github.com/flutter/flutter/issues/157108

Right now the DL is always growing by a minimum 4096 bytes at a time. On applications with large display lists, this can lead to hundreds of reallocations as the display list is build, as long as each draw op is small. For example, the framework benchmark long picture scrolling draws many lines, each of which is a pretty small op.

Update the code so that we grow by doubling, with a minimum increment of ~16K
2024-10-24 01:49:46 +00:00
LongCatIsLooong
f754c3d36e Bare-bones iOS FKA implementation (flutter/engine#55964)
A bare-bones implementation for iOS focus engine support, to enable basic full keyboard access (FKA) (except for scrolling which will be implemented in a different patch).

Partially f1xes https://github.com/flutter/flutter/issues/76497

https://github.com/user-attachments/assets/427db87e-cc15-483a-85a1-56bf1c02c285

On iOS 15 and above, FKA, if enabled, always consumes relevant key events, so the Flutter framework can't see those key events as they won't be delivered via the `UIResponder` chain (https://developer.apple.com/documentation/uikit/uikeycommand/3780513-wantspriorityoversystembehavior). This patch provides the basic focus-related information to the iOS focus engine, derived from the information already available in the accessibility tree, so the iOS focus engine can navigate the UI hierarchy and invoke `accessibilityActivate` on the current focus when the user presses the space key.

This at the moment seems to be the best option:
- There doesn't seem to be a way to reliably prevent FKA from consuming the key events and that seems to be by design.
- The user can remap the FKA keys in iOS system settings, but that key mapping isn't available to apps, so even if the framework can get the key events it won't be able to honor custom key maps.
- When FKA is on, `-[FlutterView isAccessibilityElement]` is called without user interaction (presumably it's called when the view appears), so when the user interacts with the app using FKA, it's likely that the accessibility is already enabled, we don't have to worry detecting whether FKA is on (at least for now).

Scrolling using FKA currently does not work despite `FlutterScrollableSemanticsObject` conforms to `UIFocusItemScrollableContainer`. `setContentOffset:` must be implemented using a new API that informs the framework of the new contentOffset in the scroll view. `accessibilityScroll` does not work because it scrolls too much in most cases, and it tells the framework "how much to scroll" instead of "where to scroll to" so it tends to be jumpy.

## What happens on iOS versions earlier than 15

I couldn't find iOS 14 runtime for simulators in xcode 16 so I couldn't test it. But since the key events will be delivered to the framework first regardless of whether FKA is enabled, the framework is supposed to handle keyboard focus navigation even when FKA is on.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-24 00:01:20 +00:00
Chinmay Garde
329ecc861e [Impeller] libImpeller: Allow appending to the transformation stack. (flutter/engine#56072)
Currently @lyceel has a workaround where they get the transform, create a new one, and call SetTransform. They would like to avoid this.

Fixes https://github.com/flutter/flutter/issues/156604
2024-10-23 23:15:10 +00:00
Jenn Magder
f399131af6 Add standalone 'Mac clangd' builder to replace 'Linux mac_clangd' orchestrator (flutter/engine#56014)
"Orchestrator" builders are top-level builds that can perform some caching, kick off "drone" sub-builds, and then do things with those build artifacts like run tests, or "generators" that do work on those artifacts.  See more details in https://flutter.dev/go/engine-build-definition-language.  `Linux mac_clangd` is currently set up as an orchestrator builder, but it only kicks off one gn and one test that can be converted to a standalone build.  `Linux mac_clangd` is confusingly named because the orchestrator is a Linux machine, but the drone is a Mac.

Copy `Linux mac_clangd` into [`ci/builders/standalone`](c17390e606/ci/builders/standalone) and reference it in a new `Mac clangd` build in `bringup`. Note since we want to rename the builder it can't replace `Linux mac_clangd` in the same commit.  I will follow up and remove `Linux mac_clangd` once `Mac clangd` `bringup` is removed.  Unfortunately that means we lose commit history.

Differences from [ci/builders/mac_unopt_debug_no_rbe.json](9a7492dc88/ci/builders/mac_unopt_debug_no_rbe.json) to the standalone version:

1. Remove the drone_dimensions `device_type` and `os` and `$flutter/osx_sdk` property `sdk_version` since they are [already set via the "Mac" builder name](c17390e606/.ci.yaml (L26-L37)).  Remove `mac_model` since there's no reason to specify hardware except for benchmarks afaik.  `Macmini8,1` used to need to be specified to run on an Intel Mac before the `cpu` property was supported.
2. Remove `timeout` (default back to 30 minutes) since the timeout was added for the cold cache orchestrator timeouts (https://github.com/flutter/engine/pull/55988).

I repurposed non-bringup `Mac mac_unopt` to test the standalone config (and then reverted it) ([result](https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20mac_unopt/10479/infra)).  Here's the passing clangd test: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8733402970006982913/+/u/test:_clangd/stdout

I also renamed linux_unopt_debug_no_rbe.json to linux_clangd.json to match and added cas_archive (see https://github.com/flutter/engine/pull/56014#pullrequestreview-2385392205).

Part of https://github.com/flutter/flutter/issues/155041
Fixes https://github.com/flutter/flutter/issues/157275

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-23 23:01:15 +00:00
skia-flutter-autoroll
4feca7ed3f Roll Dart SDK from 75c42f30af7a to dd06a1e3002c (2 revisions) (flutter/engine#56070)
https://dart.googlesource.com/sdk.git/+log/75c42f30af7a..dd06a1e3002c

2024-10-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-60.0.dev
2024-10-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-59.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 codefu@google.com,dart-vm-team@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-10-23 22:04:18 +00:00
skia-flutter-autoroll
c35f8df302 Roll Skia from 42f9070e6625 to 53c9663c3b83 (1 revision) (flutter/engine#56069)
https://skia.googlesource.com/skia.git/+log/42f9070e6625..53c9663c3b83

2024-10-23 het@google.com Expose backdropFilterTileMode to saveLayer API

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,codefu@google.com,nicolettep@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-10-23 21:58:04 +00:00
Gray Mackall
c5d163fccb Delete v1 android engine embedding (flutter/engine#52022)
Fixes https://github.com/flutter/flutter/issues/143531

Other failures from the initial attempt are fixed in https://github.com/flutter/flutter/pull/146523/
2024-10-23 21:12:52 +00:00
hellohuanlin
3e89cd79b5 [ios][platform_view]force reset forwarding recognizer state when its stuck (flutter/engine#55958)
This PR force reset forwarding recognizer state when it's stuck at failed state, by recreating the recognizer (we are not able to reset the state back to possible - it has to be reset by UIKit). 

This is a tricky one since pencil and finger triggers exactly the same callbacks. It turns out that when pencil is involved after finger interaction, the platform view's "forwarding" gesture recognizer is stuck at failed state. This seems to be an iOS bug, because according to [the API doc](https://developer.apple.com/documentation/uikit/uigesturerecognizerstate/uigesturerecognizerstatefailed?language=objc), it should be reset back to "possible" state:

> No action message is sent and the gesture recognizer is reset to [UIGestureRecognizerStatePossible](https://developer.apple.com/documentation/uikit/uigesturerecognizerstate/uigesturerecognizerstatepossible?language=objc).

However, when iPad pencil is involved, the state is not reset. I tried to KVO the state property, and wasn't able to capture the change. This means the state change very likely happened internally within the recognizer via the backing ivar of the state property.

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

*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
2024-10-23 21:10:57 +00:00
Jason Simmons
57a7c7a5fe Allow running the YAPF formatter using Python version 3.11 (flutter/engine#56062) 2024-10-23 21:10:55 +00:00
Jonah Williams
94ebc356cc [Impeller] optimize clip rects by checking if integral coverage is sufficient. (flutter/engine#56041)
For non-aa axis aligned difference clip rects or aa axis aligned difference clips that are very nearly integral, just use the scissor update and don't perform the depth write at all.
2024-10-23 20:20:17 +00:00
Siva
4595712f73 Switch the web compilation step to use an AOT snapshot (flutter/engine#56040)
Switch the Dart Development Compiler compilation step to use the
dartdevc AOT snapshot.
2024-10-23 13:18:11 -07:00
Devon Carew
7ffe338915 Update the engine deps to track new SoT git locations for several packages (flutter/engine#56028)
This PR updates the deps and pubspec overrides to track the new SoT of
several Dart core packages (these now live in dart-lang/core).

- `package:args`
- `package:async`
- `package:convert`
- `package:crypto`
- `package:fixnum`
- `package:logging`
- `package:path`
- `package:platform`
- `package:typed_data`

issues
- https://github.com/dart-lang/sdk/issues/56591

## 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.
- [ ] 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-10-23 11:14:58 -07:00
skia-flutter-autoroll
00b2449396 Roll Skia from ad09ab099fe4 to 721bbd7c0340 (10 revisions) (flutter/engine#56063)
https://skia.googlesource.com/skia.git/+log/ad09ab099fe4..721bbd7c0340

2024-10-23 borenet@google.com [infra] Remove Debian11 RTX3060 jobs, fix dimension for Win RTX3060
2024-10-23 michaelludwig@google.com [graphite] Preserve PaintParamsKey structure on error cases
2024-10-23 kjlubick@google.com Expose SkRuntimeEffectBuilder via SK_API
2024-10-23 kjlubick@google.com Remove Pixel2XL jobs
2024-10-23 kjlubick@google.com Add example of making custom SkColorFilter using sksl
2024-10-23 kjlubick@google.com Skip compiling RustDecoderTest on WASM
2024-10-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6834fd1efef0 to b0229dbd25db (1 revision)
2024-10-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 4bdcdf0deef5 to 9a4c7495f3cd (15 revisions)
2024-10-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from fc1fbc4105b0 to df0da6f45570 (11 revisions)
2024-10-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 8e9623dbadf3 to 6685fff40671 (14 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,codefu@google.com,nicolettep@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-10-23 17:44:36 +00:00
Alexander Aprelev
f51e0982e9 Reland copy gen snapshot (flutter/engine#56061)
Copy gen_snapshots using python's shutil.copy, avoid links
    
Default implementation of copy does it via hardlink, which seems to be
causing issues with Gatekeeper on mac.

This is reland of 63d8f5cb72d711871736b742a30a45106df21b9a with the fix
for the case when target is a link to the source, that was the cause for
revert c5ad234e11dd716cd8b136cdef8d1233c594c527
    
BUG=https://github.com/flutter/flutter/issues/154437
2024-10-23 10:26:31 -07:00
skia-flutter-autoroll
ddd055057d Roll Dart SDK from 2a4b728f6a03 to 75c42f30af7a (1 revision) (flutter/engine#56060)
https://dart.googlesource.com/sdk.git/+log/2a4b728f6a03..75c42f30af7a

2024-10-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-58.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 codefu@google.com,dart-vm-team@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-10-23 17:13:19 +00:00