26111 Commits

Author SHA1 Message Date
Jason Simmons
f6f7230917 [Impeller] Mark subpass framebuffer fetch tests as unsupported on GLES (flutter/engine#50982)
Currently the GLES backend may claim the framebuffer fetch capability but its implementation does not support the multisample subpass input used in this test.  Do not run this on GLES until there is clarification of the level of framebuffer fetch support intended for the GLES backend.
2024-02-28 20:54:06 +00:00
skia-flutter-autoroll
037e853355 Roll Skia from 93f245da0097 to 27171d6a9205 (1 revision) (flutter/engine#51063)
https://skia.googlesource.com/skia.git/+log/93f245da0097..27171d6a9205

2024-02-28 johnstiles@google.com Fix baseFrequencyY calculation again.

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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-28 20:37:05 +00:00
Jonah Williams
8acca62755 [Impeller] fix render pass depth descriptor. (flutter/engine#51031)
Depth+stencil should be treated as the same attachment. Adding more than one d/s attachment in the render pass descriptor seems to be confusing swiftshader.

@bdero 

This fixes things for me locally, lets let CI take a spin
2024-02-28 20:33:51 +00:00
Jim Graham
98c96670b4 Make Skia object ostream operators work with unit tests (flutter/engine#51041)
Unit tests currently output basic hex dumps of skia objects even though we have ostream operators for many of the common ones. It looks like the operators were created in the wrong namespace (flutter/testing rather than the std namespace). Changing the namespace for the associated `assertions_skia` source files makes them compatible with unit tests that deal with these objects provided that the test files include that header and gn dependency, as verified with the `display_list_unittests` here.
2024-02-28 20:32:07 +00:00
Zachary Anderson
20a707ca00 Revert to goma on mac_clang_tidy builder (flutter/engine#51060)
Reverting for build time regression: https://github.com/flutter/engine/pull/51057#issuecomment-1969647657
2024-02-28 19:41:10 +00:00
Dan Field
98485b3f82 Revert "Bump everything to Android 21" (flutter/engine#51056)
Reverts flutter/engine#51032

Probably causing some of the failures in https://github.com/flutter/flutter/pull/144326

@johnmccutchan fyi
2024-02-28 19:15:04 +00:00
skia-flutter-autoroll
21a5b7d261 Roll Skia from 0c294ee206e8 to 93f245da0097 (2 revisions) (flutter/engine#51055)
https://skia.googlesource.com/skia.git/+log/0c294ee206e8..93f245da0097

2024-02-28 scroggo@google.com Use a VMA block size of only 64k
2024-02-28 senorblanco@chromium.org Fix wireframe mode in GrTriangulator.

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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-28 19:07:24 +00:00
Jonah Williams
919af4322a [Android] update fallback and rendering state to combine impeller + android backend. (flutter/engine#51008)
1. Makes it possible to implement Impeller Vulkan -> Skia fallback.
2. Fixes https://github.com/flutter/flutter/issues/143871
3. Fixes https://github.com/flutter/flutter/issues/143873
4. Work towards https://github.com/flutter/flutter/issues/137798

Combines AndroidRenderingAPI + enable_impeller into a 4 values enum that describes all combinations of rendering behavior: ImpellerVulkan, ImpellerOpenGLES, SkiaOpenGLES, Software. 

Updates the fallback behavior to happen in flutter_main. This allows us to change the value of Settings.enable_impeller to support an Impeller -> Skia fallback.
2024-02-28 18:47:04 +00:00
Brandon DeRosier
3acbd059fd [Impeller] Fix GL depth state. (flutter/engine#51040)
This patch fixes problems with GL depth (in service of
https://github.com/flutter/engine/pull/50856):
* The depth + stencil masks weren't being set prior to clearing.
* When the driver identifies as desktop GL rather than ES, use
`glClearDepth` and `glDepthRange` rather than `glClearDepthf` and
`glDepthRangef`.
2024-02-28 10:41:35 -08:00
skia-flutter-autoroll
55aa1a9d75 Roll Skia from d935943bedcd to 0c294ee206e8 (3 revisions) (flutter/engine#51051)
https://skia.googlesource.com/skia.git/+log/d935943bedcd..0c294ee206e8

2024-02-28 johnstiles@google.com Fix base frequency of stitched Perlin noise.
2024-02-28 nscobie@google.com Re-enable tracing when building for Android framework
2024-02-28 nscobie@google.com [graphite] Add missing failure callback in QueueManager::addRecording

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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-28 17:54:15 +00:00
Zachary Anderson
65ada342b1 When run_tests.py is in --quiet mode, write verbose logs to a file (flutter/engine#51029)
This PR causes `run_test.py` to write `info` and higher logs to
`out/run_tests.log` even when `--quiet` is passed. If `--logs-dir` is
also passed, the logs file is copied to that location after all tests
are run.

These flags are added to one invocation on CI to check the correct
behavior.
2024-02-28 09:47:40 -08:00
skia-flutter-autoroll
264546190d Roll Skia from fe34002ee826 to d935943bedcd (1 revision) (flutter/engine#51049)
https://skia.googlesource.com/skia.git/+log/fe34002ee826..d935943bedcd

2024-02-28 jvanverth@google.com [graphite] Minor DrawAtlas cleanup.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-28 16:46:31 +00:00
Dan Field
6efee79357 Bump everything to Android 21 (flutter/engine#51032)
Followed the linter, got rid of a bunch of version check/guards we don't need anymore.
2024-02-28 15:56:40 +00:00
Jia Hao
b9ebc96690 Add flutter prefix to import (flutter/engine#51042)
Internally, the source transformations need the flutter prefix here to
replace the import with an absolute path for the depot.

b/327318241
2024-02-28 07:55:06 -08:00
Victoria Ashworth
223dbba0c6 Process FlutterMacOS.framework before creating xcframework (flutter/engine#51023)
Process (including stripping) FlutterMacOS.framework before creating it as an xcframework.

Should fix https://github.com/flutter/flutter/issues/144251.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-28 15:24:17 +00:00
skia-flutter-autoroll
a262ad8406 Roll Dart SDK from 44af84628b90 to 7896a944fe67 (1 revision) (flutter/engine#51043)
https://dart.googlesource.com/sdk.git/+log/44af84628b90..7896a944fe67

2024-02-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-186.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 aaclarke@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-02-28 09:51:23 +00:00
skia-flutter-autoroll
e83fcebea5 Roll Skia from a673ab63fccc to cce35b54379c (3 revisions) (flutter/engine#51036)
https://skia.googlesource.com/skia.git/+log/a673ab63fccc..cce35b54379c

2024-02-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 1ce4523589b0 to 22671d61de6c
2024-02-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 34f900647879 to 1ce4523589b0 (7 revisions)
2024-02-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 7b482f48e635 to 11b95ad3e8f7 (8 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-28 06:24:31 +00:00
skia-flutter-autoroll
b70cbd046c Roll Dart SDK from 1e6b559fae88 to 44af84628b90 (1 revision) (flutter/engine#51035)
https://dart.googlesource.com/sdk.git/+log/1e6b559fae88..44af84628b90

2024-02-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-185.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 aaclarke@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-02-28 05:24:23 +00:00
Sam Rawlins
c86194e544 Null-assert the value given to a Completer expecting a non-null value (flutter/engine#49053)
The code with out the null assertion is legal as per the type signature,
but will throw a runtime exception if the nullable value is null. To
make this exception more explicit, the value must be null-checked before
completing the completer with the value.

The analyzer will soon enforce such checks. See dart-lang/sdk#53253.

This PR is behaviorally a no-op.

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


## 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.
- [ ] 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-02-27 17:27:24 -08:00
skia-flutter-autoroll
67cc2ec0a3 Roll Dart SDK from a0e3c16eea3e to 1e6b559fae88 (1 revision) (flutter/engine#51025)
https://dart.googlesource.com/sdk.git/+log/a0e3c16eea3e..1e6b559fae88

2024-02-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-184.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 aaclarke@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-02-28 01:09:35 +00:00
Loïc Sharma
9da5ed5312 [Windows] Reduce log level of unsupported accessibility event message (flutter/engine#51024)
https://github.com/flutter/engine/pull/50975 made the Windows embedder a bit more defensive on accessibility event messages and introduced an error if it received an event it does not support. This change reduces that error to a warning as it can be triggered by hovering over the counter app's `+` button.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-28 00:45:30 +00:00
skia-flutter-autoroll
f0f77d3764 Roll Skia from c8703c91675e to 84c60d70fbbd (4 revisions) (flutter/engine#51021)
https://skia.googlesource.com/skia.git/+log/c8703c91675e..84c60d70fbbd

2024-02-27 jvanverth@google.com [graphite] RasterPathAtlas and SmallPathAtlas fixes.
2024-02-27 johnstiles@google.com Guard SkPerlinNoiseShader::onMakeContext with our new flag.
2024-02-27 johnstiles@google.com Fix turbulence calculation in RP Perlin noise.
2024-02-27 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from f0af4730d927 to 2fb425d2847f (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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-28 00:06:05 +00:00
Loïc Sharma
12228ffd98 [Windows] Make the engine own a map of views (flutter/engine#51017)
Updates Windows engine's data structures to use a map of views.

This is a refactoring with no semantic changes. Flutter Windows's APIs restrict users to 0 or 1 view only - it is not possible to create multiple views yet.

_One small step for Windows. One giant leap for multi-view._

Part of https://github.com/flutter/flutter/issues/143765
Part of https://github.com/flutter/flutter/issues/142845

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-27 23:28:00 +00:00
John McCutchan
cdeb8166a2 Rename some classes in the engine_build_configs package (flutter/engine#51016)
- BuildConfig -> BuilderConfig
- GlobalBuild -> Build
2024-02-27 15:12:10 -08:00
Zachary Anderson
e7b97723ec Remove rewrapper prefix from compiler commands for clang-tidy (flutter/engine#51001)
This PR also enables RBE for builds for clang-tidy.
2024-02-27 14:57:51 -08:00
Matan Lurey
5c4ce0e168 Improve, test, and fix a bug related to adb logcat filtering. (flutter/engine#51012)
1. Write tests for the `AdbLogLine` extension/parsing, and run it on CI.
  Fixes https://github.com/flutter/flutter/issues/144164.

2. Improve the logging to include `androidemu`-related errors logs 
  Work towards https://github.com/flutter/flutter/issues/144164.

3. Clarified logic/fixed a bug related to handling `filterProcessId:
...`
2024-02-27 14:31:08 -08:00
Jason Simmons
e017114099 Move vulkan-deps to //flutter/third_party/vulkan-deps (flutter/engine#51013)
See https://github.com/flutter/flutter/issues/144205
2024-02-27 21:59:00 +00:00
Loïc Sharma
becf9fb52f [Windows] Remove TODONE (flutter/engine#51005)
This TODO is TODONE!

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-27 21:15:06 +00:00
Loïc Sharma
218151583f [Windows] Introduce an accessibility plugin (flutter/engine#50975)
_This is the same pull request as https://github.com/flutter/engine/pull/50898. GitHub broke on the previous pull request so I re-created it_

This moves the logic to handle `flutter/accessibility` messages to a new type, `AccessibilityPlugin`. 

Notable changes:

1. Windows app no longer crashes if it receives accessibility events it does not support
2. Windows app no longer crashes if it receives accessibility events while in headless mode

@yaakovschectman After playing around with this, I ended up using a different pattern than what what I suggested on https://github.com/flutter/engine/pull/50598#discussion_r1488728089. This message handler is simple enough that splitting into a child/base types felt like unnecessary boilerplate. The key thing is separating messaging and implementation logic, which was achieved through the `SetUp` method. Let me know what you think, and sorry for all my flip-flopping on this topic! 😅

This is preparation for: https://github.com/flutter/flutter/issues/143765

Sample app for manual testing: https://github.com/flutter/flutter/issues/113059

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-27 20:59:24 +00:00
skia-flutter-autoroll
c262bcf21c Roll Skia from 1beae57ea0dd to c8703c91675e (1 revision) (flutter/engine#51014)
https://skia.googlesource.com/skia.git/+log/1beae57ea0dd..c8703c91675e

2024-02-27 jvanverth@google.com [graphite] Break out rect management in DrawAtlas.

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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-27 20:49:26 +00:00
Jonah Williams
edb8430817 [Impeller] various StC fixes for GPU -> CPU readback plus BufferBindingGLES error (flutter/engine#50951)
More debugging for https://github.com/flutter/engine/pull/50856

Potentially related to https://github.com/flutter/flutter/issues/141472
2024-02-27 20:35:18 +00:00
skia-flutter-autoroll
fde07188b2 Roll Dart SDK from be6be2b9ba6e to a0e3c16eea3e (3 revisions) (flutter/engine#51015)
https://dart.googlesource.com/sdk.git/+log/be6be2b9ba6e..a0e3c16eea3e

2024-02-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-183.0.dev
2024-02-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-182.0.dev
2024-02-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-181.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 aaclarke@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-02-27 20:35:16 +00:00
skia-flutter-autoroll
3cb97ace80 Roll Fuchsia Linux SDK from JCdhkDSFXzHyPuP4I... to T1xAi_ww_mWEiDkVN... (flutter/engine#51011)
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 aaclarke@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-02-27 20:15:04 +00:00
Robert Ancell
1aa5dbf113 Code consistency fixes in FlScrollingManager (flutter/engine#50959) 2024-02-28 09:06:20 +13:00
Matej Knopp
8ff01af723 [macOS] Use CVDisplayLink to drive repaint (flutter/engine#49159)
Fixes https://github.com/flutter/flutter/issues/49757

This PR synchronises updates with display refresh allowing for true
120hz repaint. It also enforces frame pacing resulting in smoother
experience at both 60hz and 120hz.

*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-02-27 20:48:26 +01:00
Matan Lurey
75bfeb8fb0 Fail lazily when 1+ Skia gold comparions fail. (flutter/engine#51010)
(Speculative) fix for https://github.com/flutter/flutter/issues/144238.

@zanderso Could you review from a CLI angle? I realize this code is not great, but could I do something better here?
2024-02-27 19:08:18 +00:00
Zachary Anderson
186f661615 Adjust Android emulator test timeouts (flutter/engine#51004)
This reduces the scenario app test timeout from 30 minutes to 15 minutes
(passing runs seem to take about 5 minutes), and limits the scenario app
tests from 2 retries to only 1 retry.

These changes will hopefully allow logs collection to be successful when
the tests timeout.
2024-02-27 10:43:58 -08:00
skia-flutter-autoroll
1947128b4a Roll Skia from 636e136b0da9 to 1beae57ea0dd (3 revisions) (flutter/engine#51007)
https://skia.googlesource.com/skia.git/+log/636e136b0da9..1beae57ea0dd

2024-02-27 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 996ab52aeac4 to 7b482f48e635 (2 revisions)
2024-02-27 johnstiles@google.com Revert "Delete legacy shadeSpan implementation of Perlin Noise."
2024-02-27 jvanverth@google.com Revert "[graphite] Enable SmallPathAtlas."

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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-27 18:37:27 +00:00
Jackson Gardner
3af9b7b3ba [skwasm] Clip pictures if they go beyond the bounds of the window. (flutter/engine#50887)
This fixes https://github.com/flutter/flutter/issues/143800, where we are attempting to capture an image that is way too large. We only need to render the part of the image that will be visible in the window.
2024-02-27 18:37:25 +00:00
Dan Field
1ba4c0735b GLES for scenario_app tests using Impeller (flutter/engine#51000)
Follow up on #50977 - enables OpenGLES backend for that test harness.
2024-02-27 17:59:22 +00:00
skia-flutter-autoroll
169507a42a Roll Skia from d5ca52bc7739 to 636e136b0da9 (8 revisions) (flutter/engine#51006)
https://skia.googlesource.com/skia.git/+log/d5ca52bc7739..636e136b0da9

2024-02-27 jlavrova@google.com Reland "Implementing Fontations font scanner"
2024-02-27 johnstiles@google.com Manually roll Dawn to the latest version.
2024-02-27 johnstiles@google.com Delete legacy shadeSpan implementation of Perlin Noise.
2024-02-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from cc25d8806a33 to 32b3df0d7dd6 (5 revisions)
2024-02-27 kjlubick@google.com Minor clang tidy/format fixes
2024-02-27 michaelludwig@google.com Reland "[skif] Add transparent padding to source saveLayers"
2024-02-27 kjlubick@google.com Enforce IWYU on skottie and sksg
2024-02-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from acba61cb3e27 to f0af4730d927 (10 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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-02-27 17:40:09 +00:00
zijiehe@
c274921fa6 [Fuchsia] Use shared gn-sdk from chromium (flutter/engine#50855)
Fuchsia team is working on getting rid of non-versioned libraries and sysroot (see b/40935282), but flutter is using a fairly old version of in-house gn-sdk. It's hard to maintain it anymore.
So this change removes the in-house gn-sdk and replaces it with the gn-sdk from chromium.
This is a prerequisite to select the idk / sdk lib version according to the api-level.

This change contains three parts:
1) Replacing gn-sdk/ with gn-sdk/src/ since the chromium needs a README.chromium in gn-sdk/ folder.
2) Making the existing build rules work with the newer gn-sdk.
3) Drive-by replacing "gtest_runner.shard.cml" with "sys/testing/gtest_runner.shard.cml", it's in fuchsia sdk already.

Bug: [b/40935282](https://issues.chromium.org/issues/40935282?pli=1&authuser=0)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-27 17:30:05 +00:00
Jackson Gardner
fce1fe5b2c Reland "Implement Frame Timing callbacks in Skwasm" (flutter/engine#50987)
This is a reland of the previous PR, now that the blocking Dart SDK issue has been fixed (see https://github.com/dart-lang/sdk/issues/54991).

Also, I addressed an issue where the timings were incorrect due to different time origins on the main thread and web worker. The timings should be accurate now.

Notes from the original PR are as follows:

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

Some notes here:
* Refactored the frame timing systems so that we can deal with asynchronous rendering.
* Consolidated rendering of multiple pictures in skwasm into a single call, so that the rasterization can be properly measured.
* Pulled the frame timings tests into the `ui` test suite so that they run on all renderers (including skwasm).
2024-02-27 16:42:25 +00:00
Zachary Anderson
827e920f48 Move protobuf to //flutter/third_party (flutter/engine#50997)
For https://github.com/flutter/flutter/issues/67373

Currently the files in the secondary buildroot for protobuf are checked
out from their own git repo. Flutter owns a mirror of that repo. To move
protobuf to `//flutter/third_party`, we can land a change in that repo,
and then revert it after we're done with the buildmoot. Alternately, in
this PR, I've just copied the files into the flutter/engine repo under
the secondary buildroot and made the changes.
2024-02-27 08:37:21 -08:00
skia-flutter-autoroll
70e24583ba Roll Skia from 2f2a718b27f7 to d5ca52bc7739 (3 revisions) (flutter/engine#51003)
https://skia.googlesource.com/skia.git/+log/2f2a718b27f7..d5ca52bc7739

2024-02-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 34f900647879 to 73efb9ea35f6
2024-02-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from dd4b27ecbb53 to 34f900647879 (9 revisions)
2024-02-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 0f69b790c7a4 to bbe6452b420c (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,jimgraham@google.com,rmistry@google.com,robertphillips@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-02-27 16:30:27 +00:00
Dan Field
3b99e7ab98 Actually use Impeller in scenario_app tests (flutter/engine#50977)
Right now, the scenario_app tests that claim to use Impeller are not actually using Impeller. This is for a few reasons:

- The arguments passed via instrumentation do not end up by default on the `Intent` for the `Activity` that is under test.
- The arguments passed via instrumentation were in the wrong order and not getting sent to instrumentation at all.

This patch updates existing tests to use a new `@Rule` that reads the arguments from the instrumentation's argument `Bundle` and injects them into the `Intent` that we actually pass to the `Activity` under test. It also updates the argument order in the script and adds a verification that Impeller prints that it is being used at least once.
2024-02-27 04:37:23 +00:00
Matan Lurey
539dc4eccc Respect SIGINT (Ctrl-C) for Android scenario_app. (flutter/engine#50989)
Closes https://github.com/flutter/flutter/issues/144076.

I had to make some other cleanup changes in order to avoid the program
hanging.
2024-02-26 19:17:44 -08:00
skia-flutter-autoroll
6ba5eee587 Roll Dart SDK from 2876f5684ced to 67b2a250747b (1 revision) (flutter/engine#50996)
https://dart.googlesource.com/sdk.git/+log/2876f5684ced..67b2a250747b

2024-02-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-179.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,jimgraham@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-02-27 02:36:15 +00:00
Matan Lurey
adc86fe60b Fix usage of --out-dir with a relative path. (flutter/engine#50992)
@dnfield:

> it looks like the new dart script doesn't necessarily work well with
relative directories for the out dir
2024-02-26 18:35:28 -08:00
skia-flutter-autoroll
9bb1d34f89 Roll Skia from ba3ed5998af3 to aa28c3a30a98 (12 revisions) (flutter/engine#50994)
https://skia.googlesource.com/skia.git/+log/ba3ed5998af3..aa28c3a30a98

2024-02-26 brianosman@google.com Handle recursion limit gracefully in the stroker
2024-02-26 johnstiles@google.com Revert "[skif] Add transparent padding to source saveLayers"
2024-02-26 johnstiles@google.com Use nmad primitive in inverse and transcendental functions.
2024-02-26 herb@google.com Reland "Implement ARM only unpremul using SIMD"
2024-02-26 johnstiles@google.com Add Raster Pipeline fused negative multiply-add primitive.
2024-02-26 michaelludwig@google.com [skif] Add transparent padding to source saveLayers
2024-02-26 kjlubick@google.com Try adding a gn clean before building fontations
2024-02-26 herb@google.com Revert "Implement ARM only unpremul using SIMD"
2024-02-26 herb@google.com Implement ARM only unpremul using SIMD
2024-02-26 jvanverth@google.com [graphite] Enable SmallPathAtlas.
2024-02-26 michaelludwig@google.com Update legacy LCD ARGB32 blitter to match RP for transparent pixels
2024-02-26 johnstiles@google.com Add Perlin Noise Raster Pipeline implementation.

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,jimgraham@google.com,rmistry@google.com,robertphillips@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-02-27 01:58:11 +00:00