26378 Commits

Author SHA1 Message Date
Chinmay Garde
dcd175ecb5 Add missing license blocks. (flutter/engine#51496)
These are files that the license script ignores.
2024-03-18 20:47:23 -07:00
skia-flutter-autoroll
045db5d9a5 Roll Dart SDK from f874a4976038 to 3e64b8fcbfb7 (1 revision) (flutter/engine#51509)
https://dart.googlesource.com/sdk.git/+log/f874a4976038..3e64b8fcbfb7

2024-03-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-245.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 bdero@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-03-19 03:39:25 +00:00
skia-flutter-autoroll
c6217d6266 Roll Fuchsia Linux SDK from I5fL_9DJQBS1Bydbz... to ppkQSDakw0QcsVt8u... (flutter/engine#51507)
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 bdero@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-03-19 02:38:34 +00:00
skia-flutter-autoroll
32024d317c Roll Skia from 7e207af2200b to 2f07d8e1829b (1 revision) (flutter/engine#51505)
https://skia.googlesource.com/skia.git/+log/7e207af2200b..2f07d8e1829b

2024-03-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from d52adb9ccd98 to defc2fa459b6 (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 bdero@google.com,brianosman@google.com,nicolettep@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-19 00:48:09 +00:00
skia-flutter-autoroll
458c9f1d36 Roll Skia from 9950dc8ec6fd to 7e207af2200b (4 revisions) (flutter/engine#51502)
https://skia.googlesource.com/skia.git/+log/9950dc8ec6fd..7e207af2200b

2024-03-18 kjlubick@google.com Enforce IWYU on more src/gpu and ganesh files
2024-03-18 lehoangquyen@chromium.org Graphite/Dawn: Eliminate Device::Tick() usages.
2024-03-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 61f5e95eb939 to 3cebaae67436 (3 revisions)
2024-03-18 drott@chromium.org [Fontations-backend] Make Fontations typeface aware of own style

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-18 23:43:19 +00:00
Ian Hickson
5bcbffa2f0 More renderdoc_frame_capture.md updates (flutter/engine#51499)
Now that I have it working, here's everything I learned.
2024-03-18 23:04:30 +00:00
Chinmay Garde
df4c56a538 [Impeller] Allow identifying device driver and vendor information. (flutter/engine#51498)
Fixes https://github.com/flutter/flutter/issues/145119
2024-03-18 22:37:29 +00:00
Chinmay Garde
cf0b9e869c A native Android unit-testing harness. (flutter/engine#51479)
Sets up rules to create an APK that is comprised of solely native code. Existing executable targets (like GTests) can then use this to run on Android devices while having access to activities, windows, etc.. This allows for broader test coverage. Basically, anything that needed an ANativeWindow could only be tested in an integration test.

Executables that need access to the native activity must provide an implementation of `NativeActivityMain` that returns a custom subclass of `flutter::NativeActivity`. The `native_activity_apk` reads like an `executable` or `shared_library` target. Just one that packages that executable in an APK.

The APK is built using the Android Tools and does not use Gradle. Creating a new APK after invalidating some code takes ~200ms on my machine. The edit, compile, run cycle for only a tiny bit worse than testing on the host.

Builds on top of this new infrastructure to create a `GTestActivity` that runs an existing test suites. This works really well except the GTest suite logs to `STDOUT` whereas the engine logs to `logcat`. To quickly work around this, a custom test status listener has been wired up. This only displays the test results to logcat today but a similar mechanism can be used to talk to the test runner in the host. I will wire this up in an upcoming patch as there is no hooks into this from CI right now.

Creates an APK variant of the `impeller_toolkit_android_unittests` harness.
2024-03-18 22:32:08 +00:00
auto-submit[bot]
6b4cbcfa1a Reverts "[Fuchsia] only download fuchsia deps when necessary (#51439)" (flutter/engine#51500)
Reverts: flutter/engine#51439
Initiated by: zijiehe-google-com
Reason for reverting: broke dart->flutter roller due to the expected licenses not being included without `download_fuchsia_deps` in `.gclient`.
Original PR Author: zijiehe-google-com

Reviewed By: {zanderso}

This change reverts the following previous change:
This is a quick follow up of https://github.com/flutter/engine/pull/51072 to only download fuchsia deps (via download_fuchsia_deps gclient arg) when necessary. Considering the pr/51072 is very huge, keeping these condition changes in a separate change would be cleaner.

The wiki has been updated already since setting the download_fuchsia_deps gclient arg explicitly won't break the existing workflow. I also mentioned in the wiki that building and running fuchsia needed a linux box (an explicit assertion in the with_envs.py).

Bug: http://b/40935282

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-18 22:26:48 +00:00
Martin Kustermann
d7ce346fba [web] Avoid using js_util.{jsify,dartify}() in dart2wasm for converting to JS wrappers (flutter/engine#51375)
The `js_util.jsify()` related code shows up in CPU profile of wonderous.

=> Any `SkwasmObjectWrapper` object invokes this logic in the
constructor and dispose method.

This PR

* makes `DomFinalizationRegistryExtension` accept `JSAny` types instead
of Dart types and internally converting
  => Callsites can call more precise `<>.toJS*` extension methods
=> Will avoids extra type checks on the objects when we can call
`Object.toJSBox` directly

* makes us use a `toJSWrapper` / `fromJSWrapper` which will not delegate to a recursive `jsify()` but simply externalize the wasm gc object
=> We cannot use `Object.toJSBox` due to it being slower to create JS
boxes as it semantically does something different atm (see issue below)
=> Instead use conditional import of `dart:_wasm` which provides the
necessary primitives
  => Similar for going from JS to Dart.

* Avoid converting from Dart object to `JSAny` more than needed
(we did the operation twice for each registration and once for
unregistration)

Issue https://github.com/dart-lang/sdk/issues/55183
2024-03-18 23:04:13 +01:00
Ian Hickson
393125b2f2 Add details to renderdoc_frame_capture.md (flutter/engine#51483)
I still haven't figured out how to make this work, but here's some additional details that I did figure out!
2024-03-18 21:35:38 +00:00
Jason Simmons
0daed16f21 Write recent logcat output to the LUCI log directory if an Android unit test fails (flutter/engine#51462) 2024-03-18 19:01:18 +00:00
Loïc Sharma
21c9a731f0 [Embedder API] Remove view (flutter/engine#51400)
Adds `FlutterEngineRemoveView` to the embedder API. This will be used to destroy a view.

The embedder API does not allow embedders to create multiple views yet.

Design doc: https://flutter.dev/go/multi-view-embedder-apis

Part of https://github.com/flutter/flutter/issues/144806
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-03-18 18:23:22 +00:00
Jenn Magder
d30a412e28 Support accessibility back gesture to pop route from view controller (flutter/engine#51241)
Adapted suggestion from https://github.com/flutter/flutter/issues/74246#issuecomment-971326926 to pop the route if the view controller route if `accessibilityPerformEscape` is called at that level in the responder chain.

Ideally this could know if the route was successfully popped, and only then return `YES` (halting propagation through the responder chain).

I confirmed by editing https://docs.flutter.dev/cookbook/navigation/navigation-basics#interactive-example as a demo that that the two-finger scrub (move two fingers back and forth three times quickly, making a "z") navigates back to the last route, and that the [`SementicObject`](e889b287f1/shell/platform/darwin/ios/framework/Source/SemanticsObject.mm (L763)) scrub, which already worked, continued to work.

I'm not super familiar with this code, hopefully there aren't further gotchas I'm not thinking of.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-18 18:11:59 +00:00
Yegor
896df78f52 [web] remove Tappable from basic set of a11y roles; add it case by case (flutter/engine#51466)
Remove the `Tappable` role from the `PrimaryRoleManager.withBasics` constructor. Only add `Tappable` to primary roles that know for sure they need it.

Fixes https://github.com/flutter/flutter/issues/144364
2024-03-18 17:35:21 +00:00
Jonah Williams
375b19aae9 [Impeller] revert vestiges of submit batching. (flutter/engine#51450)
Fixes https://github.com/flutter/flutter/issues/144616

Submit batching has been off for a while. This just removes the unused parts of the API.
2024-03-18 17:09:53 +00:00
zijiehe@
8265636e88 [Fuchsia] only download fuchsia deps when necessary (flutter/engine#51439)
This is a quick follow up of https://github.com/flutter/engine/pull/51072 to only download fuchsia deps (via download_fuchsia_deps gclient arg) when necessary. Considering the pr/51072 is very huge, keeping these condition changes in a separate change would be cleaner.

The wiki has been updated already since setting the download_fuchsia_deps gclient arg explicitly won't break the existing workflow. I also mentioned in the wiki that building and running fuchsia needed a linux box (an explicit assertion in the with_envs.py).

Bug: http://b/40935282

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-18 16:30:20 +00:00
gaaclarke
076f29066c [Impeller] make sure to render TiledTextureContents if the geometry doesn't fit in the texture's bounds. (flutter/engine#51393)
fixes https://github.com/flutter/flutter/issues/144836

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-18 16:13:03 +00:00
skia-flutter-autoroll
73ef24cd2b Roll Skia from 38f06cbd2f37 to 666607a99603 (2 revisions) (flutter/engine#51484)
https://skia.googlesource.com/skia.git/+log/38f06cbd2f37..666607a99603

2024-03-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from e63bdbab3146 to 4f2a3beecc3a
2024-03-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 50284718beca to e63bdbab3146 (12 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 bdero@google.com,brianosman@google.com,nicolettep@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-18 06:28:23 +00:00
skia-flutter-autoroll
240f60fe46 Roll Fuchsia Linux SDK from Ow67Jf4AHxeapVlCa... to I5fL_9DJQBS1Bydbz... (flutter/engine#51482)
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 bdero@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-03-18 01:28:28 +00:00
Ian Hickson
d2783de382 Minor markup tweaks in render_frame_capture.md (flutter/engine#51480) 2024-03-17 20:41:25 +00:00
Zachary Anderson
66fa3dd66c Pass some missing --disable-dart-dev and --suppress-analytics to dart (flutter/engine#51473) 2024-03-17 08:46:11 -07:00
skia-flutter-autoroll
da17e2adc4 Roll Fuchsia Linux SDK from nTth7xxzAfENAJjMH... to Ow67Jf4AHxeapVlCa... (flutter/engine#51477)
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 bdero@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-03-16 23:24:25 +00:00
skia-flutter-autoroll
d0e7d1b502 Roll Dart SDK from 2241333f69f3 to 934c41c1c18e (1 revision) (flutter/engine#51465)
https://dart.googlesource.com/sdk.git/+log/2241333f69f3..934c41c1c18e

2024-03-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-239.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 bdero@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-03-16 04:39:05 +00:00
Jim Graham
95ce640b6a Silence gn warning about unused Skia flag (flutter/engine#51464)
This flag was generating an unused warning when running gn. The builds
would still be created and would build fine, but the warning is noise.
2024-03-15 19:20:22 -07:00
Jim Graham
a3fa6b7ab0 Reland "Add DisplayList Region and Transform benchmarks to CI" (flutter/engine#51458)
Reverts https://github.com/flutter/engine/pull/51432

Originally landed as https://github.com/flutter/engine/pull/51429, but the appropriate executables were not listed in the standalone build files.
2024-03-16 01:24:20 +00:00
Chinmay Garde
695a720ded Re-land "[Impeller] A toolkit for managed handles to Android NDK vended objects." (flutter/engine#51460)
This reverts commit 037aa6b4caa6a3a726e67e519324b2c0a1ec274a.

The original cause of the revert was a flake introduced because the unit-test could request a frame from the Choreographer if it ran long enough. The availability checks in the choreographer were inaccurate after we intentionally backed out of using the Callback32 variant on 32 bit platforms.

The new tests didn't catch it because of an unrelated issue. In the first version of the patch for review, the proc table was only supposed to run on API levels 29 and above. When @dnfield requested we also get rid of the NDK helpers, the choreographer and additional utilities were added. But the API level gate in the new test harness wasn't removed. This made the tests be skipped. That gate has been removed entirely now. The error that cause the revert because of flakiness will now be a reliable failure.
2024-03-16 00:15:07 +00:00
skia-flutter-autoroll
804f78575c Roll Skia from 11b1a958c2ac to 2d46a81facd8 (11 revisions) (flutter/engine#51459)
https://skia.googlesource.com/skia.git/+log/11b1a958c2ac..2d46a81facd8

2024-03-15 briansalomon@gmail.com [graphite] Fix issue swizzle issue in GenerateMipmaps.
2024-03-15 michaelludwig@google.com [skif] Intersect src with image bounds in FilterResult::MakeFromImage
2024-03-15 kjlubick@google.com Remove Metal #ifdefs from GrDirectContext
2024-03-15 49699333+dependabot[bot]@users.noreply.github.com Bump follow-redirects from 1.15.4 to 1.15.6 in /modules/pathkit
2024-03-15 robertphillips@google.com [graphite] Add PictureShader to Precompilation system
2024-03-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c73858de2cb7 to 7f64e5c71f61 (2 revisions)
2024-03-15 michaelludwig@google.com [skif] Add insetByPixel() helper for subsetting by 1px inset
2024-03-15 sophiewen@google.com Export DataURIResourceProviderProxy
2024-03-15 drott@chromium.org [Fontations-backend] Move typeface initialization to Make factory
2024-03-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 9bae58594634 to 7220307bb2fb (5 revisions)
2024-03-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 50284718beca to decb591ea60d

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-15 23:15:23 +00:00
Loïc Sharma
2e10c04742 [Windows] Move to new present callback (flutter/engine#51293)
Migrates the Windows embedder to the new present callback which includes a `view_id` value.

Design doc: https://flutter.dev/go/multi-view-embedder-apis

Part of https://github.com/flutter/flutter/issues/144810
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-03-15 21:46:59 +00:00
Matan Lurey
4fc6efad78 Log messages when an image successfully uploads to Skia Gold (flutter/engine#51455)
Work towards https://github.com/flutter/flutter/issues/145219.

Combined with https://github.com/flutter/engine/pull/51454, we should be more "sure" that (a) Skia Gold is getting every image we're uploading and (b) Flutter Gold is correctly flagging untriaged images.

/cc @gaaclarke
2024-03-15 21:44:06 +00:00
Matan Lurey
2d4c61e417 Add more explicit logging (just to stderr) if a try-job detects an untriaged image (flutter/engine#51454)
Work towards https://github.com/flutter/flutter/issues/145219.

Previously all logging would be silent in the case that `test_foo` uploads a digest that is considered "untriaged", and we'd be entirely reliant on the `flutter-gold` check to pick this up asynchronously. 

As part of debugging https://github.com/flutter/flutter/issues/145219 (but probably to keep this code indefinitely, it's not harmful), we now unconditionally log the swallowed failures to `stderr` so they will show up in our LUCI logs.

/cc @gaaclarke @jonahwilliams
2024-03-15 21:44:04 +00:00
auto-submit[bot]
037aa6b4ca Reverts "[Impeller] A toolkit for managed handles to Android NDK vended objects. (#51334)" (flutter/engine#51457)
Reverts: flutter/engine#51334
Initiated by: matanlurey
Reason for reverting: Broke engine post-submit, see https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8753367119442265873/+/u/test:_Android_Unit_Tests__API_28_/stdout.
Original PR Author: chinmaygarde

Reviewed By: {dnfield}

This change reverts the following previous change:
Only available on Android device API levels >= 29. Proc table is setup has versioning checks. All handles are type safe. Collection of handles takes into account cleanup tasks (like reparenting surface controls). The proc table contains code duplicated in ndk_helpers and I will remove that in favor of this in a subsequent patch.

Part of https://github.com/flutter/engine/pull/51213 being chopped up.
2024-03-15 21:35:37 +00:00
Chinmay Garde
38ec9b7328 [Impeller] A toolkit for managed handles to Android NDK vended objects. (flutter/engine#51334)
Only available on Android device API levels >= 29. Proc table is setup has versioning checks. All handles are type safe. Collection of handles takes into account cleanup tasks (like reparenting surface controls). The proc table contains code duplicated in ndk_helpers and I will remove that in favor of this in a subsequent patch.

Part of https://github.com/flutter/engine/pull/51213 being chopped up.
2024-03-15 20:45:15 +00:00
Harry Terkelsen
3eb357342b [canvaskit] Fix backdrop filter with platform views as children (flutter/engine#51442)
There is a bug in CanvasKit where a backdrop filter with a platform view
as a child will cause the backdrop filter to apply multiple times. This
change fixes it by only applying the backdrop filter once.

The bug case is more likely to happen since
https://github.com/flutter/engine/pull/47317 landed because when we
encounter an invisible platform view, we always create a new SkPicture
instead of continuing to use the same SkPicture.

BEFORE:

![canvaskit_backdropfilter_with_platformview_BAD](https://github.com/flutter/engine/assets/1961493/c1fa766f-ebf7-4468-9ea7-8ab0d51314c7)

AFTER:

![canvaskit_backdropfilter_with_platformview](https://github.com/flutter/engine/assets/1961493/57d27d62-ee49-43a2-af3f-e532aaba0ffb)


## 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-03-15 11:40:10 -07:00
skia-flutter-autoroll
0b1158bdb7 Roll Skia from 54ecc23acf31 to 11b1a958c2ac (1 revision) (flutter/engine#51440)
https://skia.googlesource.com/skia.git/+log/54ecc23acf31..11b1a958c2ac

2024-03-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from bd8fc9f85c40 to 50284718beca (21 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 bdero@google.com,brianosman@google.com,fmalita@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-15 18:02:21 +00:00
Jim Graham
3942f01773 [DisplayList] Pre-Compute saveLayer bounds in DLBuilder (flutter/engine#50935)
Previously the DisplayListBuilder would only pass along bounds for a saveLayer when they were supplied by the caller that was building the DisplayList. This would require Impeller to use post-processing of the EntityPass lists to compute them on its own.

DisplayList can now compute those bounds as it builds the DisplayList to save dispatch clients from having to do so on their own. It will also provide an indicator in the case when the caller supplied bounds that ended up being too small to capture all of the content, causing clipping by the layer render target.
2024-03-15 17:45:05 +00:00
skia-flutter-autoroll
29b329e44a Roll Fuchsia Linux SDK from da-siZ7wPDA0Z0wXJ... to nTth7xxzAfENAJjMH... (flutter/engine#51446)
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 bdero@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-03-15 17:43:07 +00:00
skia-flutter-autoroll
132d712fcd Roll Dart SDK from 406955fe6950 to 03cc4d817056 (1 revision) (flutter/engine#51441)
https://dart.googlesource.com/sdk.git/+log/406955fe6950..03cc4d817056

2024-03-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-236.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 bdero@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-03-15 17:43:05 +00:00
Dan Field
bc4ed312b3 Add a pixel test to cover multiple clips with a BDF (flutter/engine#51431)
Same test as in https://github.com/flutter/engine/pull/51416.

This test should pass without the revert here because the StC related changes make the optimized path work again.
2024-03-15 17:39:08 +00:00
Tomasz Gucio
1767a8c6d6 Add missing baseline check in text layout tests (flutter/engine#51444)
This PR adds a check for the `baseline` value in text layout service tests that appears to be missing.

Test-exempt: increasing test coverage only.
2024-03-15 17:39:06 +00:00
skia-flutter-autoroll
d432c7ce04 Roll Skia from 52bb1539c5cf to 54ecc23acf31 (11 revisions) (flutter/engine#51438)
https://skia.googlesource.com/skia.git/+log/52bb1539c5cf..54ecc23acf31

2024-03-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 14272f958e34 to c73858de2cb7 (6 revisions)
2024-03-14 kjlubick@google.com Remove flutter_defines
2024-03-14 bungeman@google.com Remove SkTypeface::onGetAdvancedMetrics base implementation
2024-03-14 robertphillips@google.com [graphite] Fix ImageWrapTextureMipmapsTest Protected handling
2024-03-14 bungeman@google.com Remove Sfntly support
2024-03-14 lehoangquyen@chromium.org Graphite/Dawn: increase max cached textures' bind groups to 4096.
2024-03-14 fmalita@chromium.org Add GrGLCoreFunctions.h to public.bzl
2024-03-14 kjlubick@google.com Avoid shadowing fStream in SkWuffsCodec
2024-03-14 fmalita@chromium.org [skottie] SkottieTool missing header
2024-03-14 kjlubick@google.com Avoid copying data multiple times in SkCodecImageGenerator
2024-03-14 kjlubick@google.com Fix skottie dependency for canvaskit

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-15 03:54:12 +00:00
Matan Lurey
898ffe5b14 Add android_debug_unopt_arm64 to local_engine.json. (flutter/engine#51427)
As written:

```sh
flutter % et query builders | grep unopt_arm64                           
   "android_debug_unopt_arm64" config
   "host_debug_unopt_arm64" config
```

Yay!
2024-03-15 03:18:23 +00:00
Matan Lurey
f223f5044b Remove the Android-drawn surface rendering from scenario_app. (flutter/engine#51433)
Closes https://github.com/flutter/flutter/issues/144365.

Wasn't able to delete as much as I wanted (it's used by the video-rendering code path), but it should fix the problem we're seeing. I expect this change to remove the bottom (Android-rendered) image from our golden files for `ExternalTexturesTests`.
2024-03-15 03:18:21 +00:00
zijiehe@
fb4d1819e7 [Fuchsia] Remove the use of //build/ in fuchsia (flutter/engine#51072)
### Motivation of the change:

Both dart and flutter are using fairly outdated gn-sdk without properly maintained. Currently @hjfreyer is working on version'ed IDK / SDK libs which requires changes in gn-sdk to use the right version of the libs in fuchsia/sdk/obj/{arch}-api-{level} rather than the one in the fuchsia/sdk/arch. But current implementation does not support choosing the right version.

### Blocking issue:

The new gn-sdk (in flutter/tools/fuchsia/gn-sdk) generates multiple BUILD.gn files rather than a large BUILD.gn the previous version created. So most of the build rules need to switch from the old `fidl:{api}` build rule to `fidl/{api}` rule. The same change will happen in the dart/sdk, i.e. http://go/dart-reviews/356924. But since the two repos cannot have one single atomic change, changing either side first will cause flutter to break. E.g. the linkage error caused by duplicated symbols will happen if we change the dart/sdk first, since in flutter, it will still refer to the old build rules in the middle.

### Solutions:

Ideally we can create redirect rules in the current `build/fuchsia` buildroot tree to redirect the old rules into the new one, so we can make the change in the flutter first then dart/sdk. But creating the rules is not trivial and will only be used once.

So an alternative solution is

- pause the dart/sdk -> flutter roll
- submit dart/sdk change (http://go/dart-reviews/356924)
- update this change to manually bring the dart/sdk change, namely the `dart_revision` in the DEPS file and signatures in the ci/licences.
- resume the dart/sdk -> flutter roll.

But it requires this change itself to be reviewed first, and I'd like to know your opinion before moving forward.

See corresponding dart/sdk change at http://go/dart-reviews/356924.

### //build/fuchsia/ from buildroot should be removed after this change.

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

FYI: @hjfreyer 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-15 02:52:21 +00:00
Matan Lurey
9daf9265d9 Add some header-goodies for et. (flutter/engine#51434)
I.e. a "open issues" and "file an issue" link.

---------

Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2024-03-14 16:38:46 -07:00
Jonah Williams
d2ecc4e431 [Impeller] revert glyph atlas texture recycling. (flutter/engine#51428)
This is a speculative fix for https://github.com/flutter/flutter/issues/144331 . I don't have a repro, but I think this may be due to https://github.com/flutter/flutter/issues/144498 , wherein setting the contents of a texture is unsynchronized.
2024-03-14 23:22:24 +00:00
auto-submit[bot]
3f6a94fb39 Reverts "Add DisplayList Region and Transform benchmarks to CI (#51429)" (flutter/engine#51432)
Reverts: flutter/engine#51429
Initiated by: bdero
Reason for reverting: Engine tree breakage

```
+ /b/s/w/ir/cache/builder/src/out/host_release/display_list_region_benchmarks --benchmark_format=json
/b/s/w/ir/cache/builder/src/flutter/testing/benchmark/generate_metrics.sh: line 17: /b/s/w/ir/cache/builder/src/out/host_release/display_list_region_benchmarks: No such file or directory
```
Original PR Author: flar

Reviewed By: {godofredoc}

This change reverts the following previous change:
These benchmark results aren't shown in Skia perf because they were never added to the CI tasks to run.
2024-03-14 23:06:26 +00:00
Jim Graham
48d118fb05 Add DisplayList Region and Transform benchmarks to CI (flutter/engine#51429)
These benchmark results aren't shown in Skia perf because they were never added to the CI tasks to run.
2024-03-14 22:41:31 +00:00
Matan Lurey
d4cb8de3ba Reduce code-duplication a bit and add more error context across SkiaGoldClient. (flutter/engine#51426)
- Replaced manual `StringBuffer()..writeln('stdout: ...')` with a single
`SkiaGoldProcessError` constructor.
- Updated tests to make sure it's working.

_/cc @dnfield @jonahwilliams FYI only._
2024-03-14 14:55:40 -07:00
Zachary Anderson
da1a3b464c [et] build and run commands disable RBE with a flag or when not available (flutter/engine#51404) 2024-03-14 14:30:41 -07:00