36531 Commits

Author SHA1 Message Date
skia-flutter-autoroll
0aebcbd947 Manual roll Skia from 939e1dac9815 to f9a9c31b433b (3 revisions) (flutter/engine#54037)
Manual roll requested by zra@google.com

https://skia.googlesource.com/skia.git/+log/939e1dac9815..f9a9c31b433b

2024-07-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ace59194583a to a0aa5f0d3b26 (11 revisions)
2024-07-18 sunnyps@chromium.org graphite: Cleanup StrikeCache in freeGpuResources
2024-07-18 johnstiles@google.com Avoid cloning IR during backend code generation.

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,jamesgk@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-23 15:15:23 +00:00
skia-flutter-autoroll
e1e0e21336 Roll Dart SDK from 7beae001e066 to 50d9bb72a128 (1 revision) (flutter/engine#54042)
https://dart.googlesource.com/sdk.git/+log/7beae001e066..50d9bb72a128

2024-07-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.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 dart-vm-team@google.com,jonahwilliams@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-07-23 11:53:37 +00:00
Robert Ancell
e1f2360083 Add fl_engine_add/remove_view (flutter/engine#54018)
This is API that will be required when we get multi-view support on
Linux. While this internal API is not currently used, I've made a PR so
it can be more easily reviewed.
2024-07-23 23:34:47 +12:00
Robert Ancell
d11f10ccb6 Make FlWindowStateMonitor (flutter/engine#54011)
Split window state monitor out of FlView and FlEngine to make it easier
to handle different API when using GTK4. It also allows better tests.
2024-07-23 22:47:56 +12:00
skia-flutter-autoroll
8681443a2c Roll Dart SDK from b937619129a4 to 7beae001e066 (1 revision) (flutter/engine#54036)
https://dart.googlesource.com/sdk.git/+log/b937619129a4..7beae001e066

2024-07-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-71.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,zra@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-07-23 04:59:35 +00:00
skia-flutter-autoroll
3a05ad2e68 Roll Fuchsia Test Scripts from XtkBHdNTtIpWdxN_l... to 5bzzKaW7fCp_No_w_... (flutter/engine#54034)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-test-scripts-flutter-engine
Please CC chrome-fuchsia-engprod@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-07-23 03:24:24 +00:00
skia-flutter-autoroll
94ebb2e4b5 Roll Fuchsia Linux SDK from PefNEmf1_cZtEGlZc... to ZcBsXDojTYbriHD7_... (flutter/engine#54029)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-22 22:50:07 +00:00
skia-flutter-autoroll
70aebff7ac Manual roll Dart SDK from 503192257a47 to b937619129a4 (13 revisions) (flutter/engine#54028)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/503192257a47..b937619129a4

2024-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-70.0.dev
2024-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-69.0.dev
2024-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-68.0.dev
2024-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-67.0.dev
2024-07-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-66.0.dev
2024-07-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-65.0.dev
2024-07-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-64.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-63.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-62.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-61.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-60.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-59.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.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 asiva@google.com,dart-vm-team@google.com,zra@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-07-22 22:30:23 +00:00
Chinmay Garde
1c56fe1f1f [Impeller] Cleanly revert requiring backpressure for AHB swapchains. (flutter/engine#54027)
Revert 2cdd45bfd9a9000d68f4df043a71a3dd6c68c5b0

This was a partial revert. See explanation in https://github.com/flutter/engine/pull/54012#issuecomment-2243812137
2024-07-22 22:24:05 +00:00
skia-flutter-autoroll
d5da2b6729 Manual roll Dart SDK from 0f61238a27b0 to 503192257a47 (2 revisions) (flutter/engine#54026)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/0f61238a27b0..503192257a47

2024-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-57.0.dev
2024-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-56.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 asiva@google.com,dart-vm-team@google.com,zra@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-07-22 21:28:24 +00:00
Jonah Williams
bb010156f5 [Impeller] ensure fp rounding errors don't cause us to lose a row of pixels when computing text positions. (flutter/engine#54015)
Dividing then multipliying can lead to position values like 432.99987 which end up losing a pixel.
2024-07-22 19:03:04 +00:00
Chris Bracken
08c7b8d6e2 Prepend third_party/pyyaml to python sys.path (flutter/engine#54023)
Previously we were appending Flutter's fork of third_party/pyyaml to the Python sys.path. In the case where a bot image or local install already has pyyaml installed elsewhere on the path, ours will fail to be picked up. Instead prepend to the path.

Issue spotted by jsimmons@.

Related: https://github.com/flutter/engine/pull/54001

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-07-22 17:38:07 +00:00
Chinmay Garde
3a10aabff9 [Impeller] Remove implicit calls to glGetError in opt modes. (flutter/engine#54016)
This many explicit calls are all but useless unless you are doing bringup. And we do that in unopt modes anyway. Having this on in even the debug and profile opt modes was turning out to be pretty egregious.
2024-07-22 17:16:02 +00:00
auto-submit[bot]
508890ef88 Reverts "[Impeller] enable ahb swapchain on emulators. (#54019)" (flutter/engine#54022)
Reverts: flutter/engine#54019
Initiated by: jonahwilliams
Reason for reverting: does not work on CI emulators
Original PR Author: jonahwilliams

Reviewed By: {chinmaygarde}

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

This works now that the backpressure issue is fixed. Maybe the wait semaphore didn't work, but the CPU wait on the fence does.
2024-07-22 16:51:47 +00:00
Jonah Williams
dd16661b5c [Impeller] enable ahb swapchain on emulators. (flutter/engine#54019)
Fixes  https://github.com/flutter/flutter/issues/147533

This works now that the backpressure issue is fixed. Maybe the wait semaphore didn't work, but the CPU wait on the fence does.
2024-07-22 15:50:19 +00:00
Jonah Williams
0e9b328fc2 [Impeller] detect max cull rect on bounds. (flutter/engine#54013)
Fixes https://github.com/flutter/flutter/issues/151785

if the bounds given to impeller SaveLayer is kMaxCullRect, treat this as unbounded.
2024-07-20 17:29:28 +00:00
Jonah Williams
5c954b9cfe [Impeller] try disabling backpressure in AHB swapchain. (flutter/engine#54012)
Enabling the ahb backpressure has increased frame times - probably because this is now WAI and delaying the HB readyness. Lets try disabling it before we back out the AHB swapchain again.

See https://flutter-flutter-perf.skia.org/e/?begin=1721400948&end=1721487348&queries=device_type%3DPixel_7_Pro%26sub_result%3D90th_percentile_frame_rasterizer_time_millis%26sub_result%3D99th_percentile_frame_rasterizer_time_millis%26sub_result%3Daverage_frame_rasterizer_time_millis%26sub_result%3Dworst_frame_rasterizer_time_millis%26test%3Dnew_gallery_impeller__transition_perf&selected=commit%3D41656%26name%3D%252Carch%253Dintel%252Cbranch%253Dmaster%252Cconfig%253Ddefault%252Cdevice_type%253DPixel_7_Pro%252Cdevice_version%253Dnone%252Chost_type%253Dlinux%252Csub_result%253D90th_percentile_frame_rasterizer_time_millis%252Ctest%253Dnew_gallery_impeller__transition_perf%252C

Test: this is all benchmark performance we're testing.
2024-07-20 17:21:25 +00:00
Chris Bracken
a03068b535 [iOS] Eliminate --clang-dir flag (flutter/engine#54008)
This is only ever used for gen_snapshot_arm64 where the value will only
ever be 'clang_x64'. If we were to migrate builds to arm64 hosts, the
gen_snapshot_x64 target would be broken as the script stands today.

This flag is never passed by recipe infra or outside callers, and can
thus be safely inlined. The same refactoring was performed for
generating universal gen_snapshots in #53954.

A followup patch will update the location where this gen_snapshot binary
is generated (and adds an arm64 host binary build), and the merged
universal gen_snapshot_${target_cpu} will be written to the root output
directory.

This is minor pre-factoring to simplify the followup patch, which
migrates to universal binaries for iOS.

Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/69157
2024-07-19 17:31:38 -07:00
Chris Bracken
89811b3627 Move !is_android to build_engine_artifacts declaration (flutter/engine#54006)
The `//flutter/build/archives:artifacts` target is used to build a zip
archive (artifacts.zip) of host tools such as flutter_tester, the Dart
kernel compiler, the impellerc shader compiler, and other tooling that
is bundled in debug-mode host builds.

This moves the `!is_android` to the definition of
`build_engine_artifacts`. This is required because of the way that we
produce 32-bit arm gen_snapshot for Android on Windows hosts, which
relies on the regular x64 host toolchain due to us having no 32-bit arm
toolchain for Windows. As such, `current_toolchain == host_toolchain` on
that platform.

```
build_engine_artifacts =
    flutter_build_engine_artifacts &&
    (current_toolchain == host_toolchain ||
     (is_linux && !is_chromeos && current_cpu != "arm") || is_mac || is_win)
```

On iOS builds, we don't have this issue since `current_toolchain` will
be one of:
* `//build/toolchain/mac:ios_clang_arm`
* `//build/toolchain/mac:ios_clang_arm_sim`
* `//build/toolchain/mac:ios_clang_x64_sim`

Whereas `host_toolchain` will be one of:
* `//build/toolchain/mac:clang_arm64`
* `//build/toolchain/mac:clang_x64`

This patch also adds documentation to clarify the purpose of this target
and where related artifacts are produced so that future readers don't
need to do a deep dive into our build plumbing to figure this out.

While the target itself is primarily intended for producing host
binaries, one target binary (gen_snapshot) is bundled into the same
archive bundle as the host tools. This should be refactored such that
just like iOS and Android, they are bundled into their own
target-platform-specific archive, and the tool code accordingly updated
to pull these down into the appropriate cache directory.

As a side-note, on macOS we do rely on this archive target for the host
tools, but the bundled gen_snapshot is unused -- instead, one produced
by the //flutter/sky/tools/create_macos_gen_snapshots.py script used.
This should be fixe in a followup patch.

Related: https://github.com/flutter/flutter/issues/38935

Identified while trying to resolve:
Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/69157

## 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-07-19 13:34:28 -07:00
Zachary Anderson
63d8e2bbe6 [et] Plumb -j to ninja (flutter/engine#54005)
Also computes a better `-j` when RBE is enabled.

Fixes https://github.com/flutter/flutter/issues/147667
2024-07-19 20:28:47 +00:00
Jonah Williams
7b3144290f [Impeller] re-enable AHB swapchain. (flutter/engine#53978)
Fixes https://github.com/flutter/flutter/issues/148139

Block on the CPU rather than immediately beginning encoding. Seems to fix the synchronization issues that we knew about. We need to find a way to use AHB swapchains, as it seems like correct synchronization via either SurfaceView or a SurfaceControl hierarchy will require exposing our rendering as a SurfaceTransaction.
2024-07-19 20:05:12 +00:00
Harry Terkelsen
9e797d1461 [canvaskit] Decode images using <img> tag decoding (flutter/engine#53201)
Prefer to decode images using the browser API rather than with CanvasKit to avoid jank when decoding.

Part of deprecating the HTML renderer: https://github.com/flutter/flutter/issues/145954

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-07-19 17:41:05 +00:00
auto-submit[bot]
7b931a25de Reverts "Reverts "Drop deprecated hash_code functions (#54000)" (#54002)" (flutter/engine#54004)
Reverts: flutter/engine#54002
Initiated by: kevmoo
Reason for reverting: the issue in google 3 has been fixed.
Original PR Author: auto-submit[bot]

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:
Reverts: flutter/engine#54000
Initiated by: chingjun
Reason for reverting: Broke Google Testing.

See b/352191023 for more details.
Original PR Author: kevmoo

Reviewed By: {jonahwilliams}

This change reverts the following previous change:
Fixes https://github.com/flutter/flutter/issues/151679
2024-07-19 14:54:29 +00:00
auto-submit[bot]
b23bc03d6d Reverts "Drop deprecated hash_code functions (#54000)" (flutter/engine#54002)
Reverts: flutter/engine#54000
Initiated by: chingjun
Reason for reverting: Broke Google Testing.

See b/352191023 for more details.
Original PR Author: kevmoo

Reviewed By: {jonahwilliams}

This change reverts the following previous change:
Fixes https://github.com/flutter/flutter/issues/151679
2024-07-19 05:33:47 +00:00
Chris Bracken
08c30a87bd Upgrade third_party/pyyaml to 03c67afd452cdff45b41bfe65e19a2fb5b80a0e8 (flutter/engine#54001)
We were using a very old version of this library that broke with
Python3.12. This updates to a Python 3.12 compatible SHA.

The specific breakage at the former commit was that
`collections.Hashable` was deprecated and moved to
`collections.abc.Hashable` in Python 3.7. It was removed in Python 3.8.
For anyone on newer versions of Python3, such as Python 3.9.6 which
ships with macOS 15 Sequoia, this is broken.

The error on versions of Python newer than 3.8 is:
```
________ running 'python3 src/flutter/tools/pub_get_offline.py' in '/Users/chris/Developer/flutter/engine'
Traceback (most recent call last):
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/pub_get_offline.py", line 167, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/pub_get_offline.py", line 157, in main
    if not package_uses_workspace_resolution(package):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/pub_get_offline.py", line 76, in package_uses_workspace_resolution
    return yaml.safe_load(pubspec_file).get('resolution') == 'workspace'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/../third_party/pyyaml/lib3/yaml/__init__.py", line 75, in load
    return loader.get_single_data()
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/../third_party/pyyaml/lib3/yaml/constructor.py", line 37, in get_single_data
    return self.construct_document(node)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/../third_party/pyyaml/lib3/yaml/constructor.py", line 46, in construct_document
    for dummy in generator:
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/../third_party/pyyaml/lib3/yaml/constructor.py", line 398, in construct_yaml_map
    value = self.construct_mapping(node)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/../third_party/pyyaml/lib3/yaml/constructor.py", line 204, in construct_mapping
    return super().construct_mapping(node, deep=deep)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Developer/flutter/engine/src/flutter/tools/../third_party/pyyaml/lib3/yaml/constructor.py", line 126, in construct_mapping
    if not isinstance(key, collections.Hashable):
                           ^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'collections' has no attribute 'Hashable'
Error: Command 'python3 src/flutter/tools/pub_get_offline.py' returned non-zero exit status 1 in /Users/chris/Developer/flutter/engine
```


## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [X] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [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-07-18 20:17:31 -07:00
Robert Ancell
7855b2c857 Don't leak binary messenger in tests (flutter/engine#53985)
Looks like the original code was just copied around. Should have no
effect on the tests other than making it easier to detect other leaks.
2024-07-19 14:36:32 +12:00
Kevin Moore
fdd23ed3f2 Drop deprecated hash_code functions (flutter/engine#54000)
Fixes https://github.com/flutter/flutter/issues/151679
2024-07-19 02:11:17 +00:00
Robert Ancell
4a63063be6 Renamed plugin classes to handler (flutter/engine#53736)
The Linux embedder had a number of handlers for Flutter channels that
were named plugin/handler/manager. Rename these all to handler to be
consistent and reduce confusion with Flutter plugins (which these don't
use the infrastructure for).
2024-07-19 12:44:41 +12:00
Jackson Gardner
f4bab93f77 [skwasm] Combine offset and transform properly. (flutter/engine#53967)
Our treatment of the interaction between offset and transform was incorrect. Modified our platform view unit tests to cover more cases of nested offsets and transforms.
2024-07-18 21:44:08 +00:00
Matan Lurey
767eb5b265 Gracefully fail when gn desc returns no targets. (flutter/engine#53999)
Closes https://github.com/flutter/flutter/issues/151990.

This is just a nice QOL change, since the `//` format we're using is not "native" to GN or Ninja.
2024-07-18 21:44:06 +00:00
Bruno Leroux
42ec2e55c5 [Android] Call restartInput selectively on clear (flutter/engine#53662)
## Description

This PR restricts the call to `restartInput` which was added in https://github.com/flutter/engine/pull/49829.
The restart is called when input action is null, DONE, or NONE.

## Related Issue

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

## Tests

Updates 1 test, adds 3 tests.
2024-07-18 20:27:33 +00:00
Zachary Anderson
21df44f8b0 Roll buildroot to 327906297b49980748ea1956019829e7c434a03e (flutter/engine#53994)
To pick up https://github.com/flutter/buildroot/pull/876
2024-07-18 12:45:11 -07:00
Zachary Anderson
441fb4562c Fix race in image_filter_test.dart (flutter/engine#53996)
Fixes https://github.com/flutter/flutter/issues/151973
2024-07-18 17:47:05 +00:00
skia-flutter-autoroll
aa48f15670 Roll Dart SDK from 7b3c16ac1cf9 to 0f61238a27b0 (1 revision) (flutter/engine#53995)
https://dart.googlesource.com/sdk.git/+log/7b3c16ac1cf9..0f61238a27b0

2024-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-55.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,zra@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-07-18 17:33:08 +00:00
Matan Lurey
50e4e12c2e Add a "pub workspace" to the root of the engine repository (flutter/engine#53539)
... and use it in `engine_tool` to prove everything is working, i.e. on CI and elsewhere.

Partial work towards https://github.com/flutter/flutter/issues/147883.
Supersedes and closes https://github.com/flutter/engine/pull/51782 (which was a prototype).

See also:
- https://flutter.dev/go/pub-workspace, the design doc on the feature.
- https://github.com/dart-lang/pub-dev/pull/7762, an example PR.

I'll probably end up moving the inline docs in `pubspec.yaml` to a `docs/*.md` once that's a thing.
2024-07-18 16:18:09 +00:00
skia-flutter-autoroll
fd4eaf4fda Roll Skia from 9d391088f52c to 939e1dac9815 (1 revision) (flutter/engine#53990)
https://skia.googlesource.com/skia.git/+log/9d391088f52c..939e1dac9815

2024-07-18 michaelludwig@google.com [graphite] Snap non-AA stroke rects

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,kjlubick@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-18 15:25:01 +00:00
skia-flutter-autoroll
453c616fbd Roll Dart SDK from 1597fa7cb445 to 7b3c16ac1cf9 (1 revision) (flutter/engine#53988)
https://dart.googlesource.com/sdk.git/+log/1597fa7cb445..7b3c16ac1cf9

2024-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-54.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,zra@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-07-18 13:03:27 +00:00
Robert Ancell
dde01765c9 Use glBlitFramebuffer when rendering (flutter/engine#53080)
This is much faster than using a shader which is not required currently
(we are not doing any transformations).
2024-07-18 16:02:39 +12:00
skia-flutter-autoroll
095683b513 Roll Skia from c670953cacb0 to 9d391088f52c (1 revision) (flutter/engine#53981)
https://skia.googlesource.com/skia.git/+log/c670953cacb0..9d391088f52c

2024-07-17 brianosman@google.com Update stroker code to use SkPoint idiomatically

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,kjlubick@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-18 03:37:21 +00:00
skia-flutter-autoroll
59354c265a Roll Dart SDK from 9b9ca1ff944d to 1597fa7cb445 (1 revision) (flutter/engine#53983)
https://dart.googlesource.com/sdk.git/+log/9b9ca1ff944d..1597fa7cb445

2024-07-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-53.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,zra@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-07-18 01:39:10 +00:00
skia-flutter-autoroll
3546761dad Roll Fuchsia Linux SDK from C_ze_BbJWtfB9GdOA... to PefNEmf1_cZtEGlZc... (flutter/engine#53982)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-18 01:35:25 +00:00
skia-flutter-autoroll
38a5868dbf Roll Skia from e7844530e828 to c670953cacb0 (1 revision) (flutter/engine#53979)
https://skia.googlesource.com/skia.git/+log/e7844530e828..c670953cacb0

2024-07-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from bc467ef5ef35 to 2395877dc55f (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,kjlubick@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-18 00:05:23 +00:00
Jim Graham
2d58c39615 [Impeller] Convert basic AIKS golden tests to use DisplayList (flutter/engine#53969)
Converts several AIKS golden tests to use DisplayList as the mechanism.

In order to convert some of the tests, new factory methods were added to DlColor and tested with new unit tests (an earlier golden test conversion PR had a version of this as well).

Also, a new DisplayList record op was created for ClipOval to handle the AIKS clipping golden tests, but this new recording op is not used from Flutter `ui` code (no plumbing to call it from `lib/ui/painting` or to convert any other DisplayList call to use the new record). An earlier attempt to add the new recording op caused a large number of golden changes upstream so this version will only be used for internal tests and support to use it from apps will follow in more targeted PRs to better manage golden changes. This PR should not result in any changes to goldens outside of internal engine tests.
2024-07-17 23:11:55 +00:00
skia-flutter-autoroll
4f9e912bef Roll Skia from 546120aeaa44 to e7844530e828 (1 revision) (flutter/engine#53976)
https://skia.googlesource.com/skia.git/+log/546120aeaa44..e7844530e828

2024-07-17 brianosman@google.com Remove legacy tangent code from path stroker

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,kjlubick@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-17 22:17:11 +00:00
Chris Bracken
b3ef1d38e9 Add doc comments to build/archives/BUILD.gn (flutter/engine#53973)
The existing comment on gen_snapshot is unclear. Adds comments where
they were missing. Saves future readers some digging through git blame.

## 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 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-07-17 14:44:36 -07:00
skia-flutter-autoroll
200f231572 Roll Dart SDK from d679a4c98193 to 9b9ca1ff944d (1 revision) (flutter/engine#53975)
https://dart.googlesource.com/sdk.git/+log/d679a4c98193..9b9ca1ff944d

2024-07-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-52.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,zra@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-07-17 21:29:47 +00:00
skia-flutter-autoroll
43d518ddf2 Roll Skia from 5efad82d5387 to 546120aeaa44 (5 revisions) (flutter/engine#53972)
https://skia.googlesource.com/skia.git/+log/5efad82d5387..546120aeaa44

2024-07-17 robertphillips@google.com [graphite] Rearrange code in PaintParamsKeyTest
2024-07-17 kjlubick@google.com Generate HLSL outputs as part of the CheckGeneratedFiles job
2024-07-17 bungeman@google.com Define TestRegistry
2024-07-17 bungeman@google.com Put AndroidBlendModesGM in anonymous namespace
2024-07-17 bungeman@google.com Explicilty list SkOSFile_ios.h in gn build

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,kjlubick@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-17 20:38:04 +00:00
skia-flutter-autoroll
4777d3429e Roll Skia from 485bf4ff886b to 5efad82d5387 (1 revision) (flutter/engine#53968)
https://skia.googlesource.com/skia.git/+log/485bf4ff886b..5efad82d5387

2024-07-17 bungeman@google.com Remove AnimCodecPlayerGM

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,kjlubick@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-17 19:20:36 +00:00
Chris Bracken
0362798caa [macOS] Archive universal gen_snapshot binaries (flutter/engine#53962)
In #53524, we started producing universal `gen_snapshot_arm64` and `gen_snapshot_x64` binaries. This migrates away from bundling `gen_snapshot` binaries with x64-only host architecture to universal binaries that bundle both x64 and arm64 host architectures.

Also adds a dependency on `flutter/lib/snapshot:create_macos_gen_snapshots` to the profile build, where it was previously missing. Presumably, `gen_snapshot` was being built as a side-effect of one of the other targets.

Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/69157

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-07-17 19:06:16 +00:00
skia-flutter-autoroll
1a94660875 Roll Skia from 4d2047aa3c8d to 485bf4ff886b (1 revision) (flutter/engine#53963)
https://skia.googlesource.com/skia.git/+log/4d2047aa3c8d..485bf4ff886b

2024-07-17 johnstiles@google.com Add missing SkSL targets to :gpu deps.

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,kjlubick@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-07-17 17:59:59 +00:00