29502 Commits

Author SHA1 Message Date
skia-flutter-autoroll
51d6f28c6a Roll Dart SDK from 4789a86f4d3f to be9c98daf9df (1 revision) (flutter/engine#57124)
https://dart.googlesource.com/sdk.git/+log/4789a86f4d3f..be9c98daf9df

2024-12-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.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 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-12-11 17:02:18 +00:00
skia-flutter-autoroll
f613aeb267 Roll Dart SDK from d87b2f6d2b03 to 4789a86f4d3f (1 revision) (flutter/engine#57119)
https://dart.googlesource.com/sdk.git/+log/d87b2f6d2b03..4789a86f4d3f

2024-12-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-235.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-12-11 08:00:33 +00:00
skia-flutter-autoroll
61de0da85f Roll Skia from b2f13d9a5678 to 830bc24e0b98 (1 revision) (flutter/engine#57118)
https://skia.googlesource.com/skia.git/+log/b2f13d9a5678..830bc24e0b98

2024-12-11 kjlubick@google.com Remove SK_PDF_BASE85_BINARY and SK_PDF_LESS_COMPRESSION

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 jonahwilliams@google.com,kjlubick@google.com,maxhudnell@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-12-11 07:06:09 +00:00
skia-flutter-autoroll
81c898f771 Roll Dart SDK from f863f0b43625 to d87b2f6d2b03 (2 revisions) (flutter/engine#57110)
https://dart.googlesource.com/sdk.git/+log/f863f0b43625..d87b2f6d2b03

2024-12-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-234.0.dev
2024-12-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-233.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-12-11 06:26:05 +00:00
skia-flutter-autoroll
8e4c32ad4b Roll Skia from 854eb19c722e to b2f13d9a5678 (1 revision) (flutter/engine#57114)
https://skia.googlesource.com/skia.git/+log/854eb19c722e..b2f13d9a5678

2024-12-11 kjlubick@google.com Update IWYU map to make better suggestions around std::swap and std::move

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 jonahwilliams@google.com,kjlubick@google.com,maxhudnell@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-12-11 05:19:53 +00:00
Michael Goderbauer
e6cc4d48cb Add support for dart formatter (flutter/engine#57075)
Currently it is off by default since we haven't migrated any files over to the new format. To try it out, run `dart ci/bin/format.dart -c dart -f`.

Once we turn it on by default `et` will automatically format dart files as it calls into `format.dart`.
2024-12-11 00:02:05 +00:00
skia-flutter-autoroll
53b543cabf Roll Skia from d541f1aa0c9b to e4d2c3dbb848 (2 revisions) (flutter/engine#57106)
https://skia.googlesource.com/skia.git/+log/d541f1aa0c9b..e4d2c3dbb848

2024-12-10 bungeman@google.com Roll FreeType from 83af801b to 59320b2d (16 commits)
2024-12-10 kjlubick@google.com Fix IWYU after recent change

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 jonahwilliams@google.com,kjlubick@google.com,maxhudnell@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-12-10 22:13:59 +00:00
skia-flutter-autoroll
30d4785501 Roll Dart SDK from dd92932823d1 to f863f0b43625 (1 revision) (flutter/engine#57104)
https://dart.googlesource.com/sdk.git/+log/dd92932823d1..f863f0b43625

2024-12-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-232.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-12-10 22:08:04 +00:00
Robert Ancell
85b89155d5 Clean up key embedder responder tests (flutter/engine#57054)
Remove global variable.
Rename function so doesn't look like provided by GLib.
Use g_autoptr to remove explicit unref.
Move type definition inline.
2024-12-11 10:58:22 +13:00
Jonah Williams
e263222f14 [Impeller] reland: switch Pipeline to use raw ptr instead of shared ptr for recorded references. (flutter/engine#57086)
Prev: https://github.com/flutter/engine/pull/57015

There is a unit test that is clearing out the pipeline storage, manually null out captured PipelineRef.
2024-12-10 21:18:46 +00:00
skia-flutter-autoroll
d8cdd81d3e Roll Skia from bd7d952398d5 to d541f1aa0c9b (3 revisions) (flutter/engine#57098)
https://skia.googlesource.com/skia.git/+log/bd7d952398d5..d541f1aa0c9b

2024-12-10 kjlubick@google.com Reapply "Move SkJSON.h to //modules/jsonreader"
2024-12-10 tikuta@google.com add missing includes for the build with use_libcxx_modules
2024-12-10 kjlubick@google.com Make SkAAClip not reject large paths if clip is small enough.

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 jonahwilliams@google.com,kjlubick@google.com,maxhudnell@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-12-10 19:17:11 +00:00
Chris Bracken
721eec4d5b iOS: Add null checks on shell dereference (flutter/engine#57099)
`FlutterEngine` at the `_shell` unique_ptr ivar it owns have different lifetimes. `_shell` is initialised transitively from `runWithEntrypoint`, and reset in `[FlutterEngine destroyContext]`, which is called transitively from `[FlutterviewController dealloc]` via `[FlutterEngine notifyViewControllerDeallocated]`.

As such, all uses of `_shell` should be checked either via an assertion, in cases we know the shell should be non-null, or via a runtime null check in cases where it's expected that it may be null.

Specifically, this guards against a crash that can occur if we get a CoreAnimation transaction commit callback for an inflight frame just as we're shutting down the app (or removing the FlutterView in an add-to-app scenario).

Example stack trace:
```
0  Flutter                        0x11b28 -[FlutterEngine platformView] + 53 (weak_ptr.h:53)
1  Flutter                        0x11994 -[FlutterEngine updateViewportMetrics:] + 186 (ref_ptr.h:186)
2  Flutter                        0x1f854 -[FlutterViewController updateViewportMetricsIfNeeded] + 427 (vector:427)
3  Flutter                        0x1f9b8 -[FlutterViewController viewDidLayoutSubviews] + 1411 (FlutterViewController.mm:1411)
4  UIKitCore                      0x8c864 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 2376
5  QuartzCore                     0x1fa0c CA::Layer::layout_if_needed(CA::Transaction*) + 516
6  QuartzCore                     0x1ae84c CA::Context::commit_transaction(CA::Transaction*, double, double*) + 516
7  QuartzCore                     0x2888 CA::Transaction::commit() + 648
```

Issue: https://github.com/flutter/flutter/issues/98735
Issue: https://github.com/flutter/flutter/issues/159639

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-12-10 19:06:13 +00:00
Brandon Castellano
9d726bb38e [engine] Migrate fuchsia.io Open functions to Open3 (flutter/engine#56818)
Migrate the use of fuchsia.io open functions to the new open3 replacements (which also requires transitioning from OpenFlags -> Flags). Likewise, we update all uses of the SDK VFS library to use the new set of flags.

This work is being done as part of the ongoing io2 migration in https://fxbug.dev/378924259

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-12-10 19:02:01 +00:00
skia-flutter-autoroll
7df25145cc Roll Dart SDK from 1a28e6c86b09 to dd92932823d1 (1 revision) (flutter/engine#57096)
https://dart.googlesource.com/sdk.git/+log/1a28e6c86b09..dd92932823d1

2024-12-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-231.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-12-10 17:44:29 +00:00
skia-flutter-autoroll
44532171ba Roll Dart SDK from d3a963b2f237 to 1a28e6c86b09 (3 revisions) (flutter/engine#57091)
https://dart.googlesource.com/sdk.git/+log/d3a963b2f237..1a28e6c86b09

2024-12-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-230.0.dev
2024-12-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-229.0.dev
2024-12-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-228.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-12-10 13:31:31 +00:00
skia-flutter-autoroll
a2ffd3b55a Roll Fuchsia Linux SDK from tVShMDVFeKJFcDFHJ... to 5taAI9-tnFN84ZJvr... (flutter/engine#57090)
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 jonahwilliams@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-12-10 13:07:14 +00:00
skia-flutter-autoroll
8d24e8a0c7 Roll Dart SDK from 9694974b6d41 to d3a963b2f237 (1 revision) (flutter/engine#57072)
https://dart.googlesource.com/sdk.git/+log/9694974b6d41..d3a963b2f237

2024-12-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-227.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-12-10 07:52:24 +00:00
skia-flutter-autoroll
66c89e1b8e Roll Skia from 949557697922 to bd7d952398d5 (3 revisions) (flutter/engine#57087)
https://skia.googlesource.com/skia.git/+log/949557697922..bd7d952398d5

2024-12-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from ca6066d7097c to a42d0274444b (4 revisions)
2024-12-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from d91e98d1aa3f to 7e54d43d6905 (1 revision)
2024-12-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 22a8762fea90 to 6f3bd8a864bf (13 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,kjlubick@google.com,maxhudnell@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-12-10 07:33:07 +00:00
skia-flutter-autoroll
2e891742b6 Roll Skia from 3a58be4817a8 to e11d70745224 (2 revisions) (flutter/engine#57082)
https://skia.googlesource.com/skia.git/+log/3a58be4817a8..e11d70745224

2024-12-09 lukasza@chromium.org [rust png] Support for encoding `tEXt` chunks.
2024-12-09 kylechar@chromium.org Set FragmentState::constants

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,kjlubick@google.com,maxhudnell@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-12-10 04:01:17 +00:00
gaaclarke
33306239b4 Revert "[Impeller] switch Pipeline to use raw ptr instead of shared ptr for recorded references." (flutter/engine#57079)
Reverts flutter/engine#57015
fixes https://github.com/flutter/flutter/issues/160004
2024-12-09 17:30:26 -08:00
Jonah Williams
b425a87fd3 [Impeller] simplify render target size rounding up heuristics. (flutter/engine#57043)
Remove the over-engineered "slide around round up" herusistic for the same heuristic used by the image filters: if the coverage size is within 30% of the cull rect size, just use the cull rect size.

This stabilizes allocations for the new android slide in page transition, but in a less complicated way than the old herustic.
2024-12-10 01:16:23 +00:00
gaaclarke
2695e35d9d moved device buffer to an untracked handle (flutter/engine#57021)
fixes: https://github.com/flutter/flutter/issues/159745

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-12-09 23:00:57 +00:00
Jonah Williams
81d3d7fbca [Impeller] switch Pipeline to use raw ptr instead of shared ptr for recorded references. (flutter/engine#57015)
Fixes https://github.com/flutter/flutter/issues/159566

We don't need recorded commands to keep pipelines alive as the context does that already.
2024-12-09 20:42:03 +00:00
Jonah Williams
5964dc2244 [Impeller] disable all Adrenos older than 630 (flutter/engine#57069)
Fixes https://github.com/flutter/flutter/issues/159834

Disable all older Adreno GPUs
2024-12-09 20:32:33 +00:00
Brandon DeRosier
4b87db55c6 Roll Skia to 14f8f6d984ff (flutter/engine#57068)
Resolves https://github.com/flutter/engine/pull/57068.

Set args `skia_use_libpng_decode=true` and `skia_use_rust_png_decode=false`.

https://skia.googlesource.com/skia.git/+log/e78dd0265002..14f8f6d984ff

2024-12-09 kjlubick@google.com Update GN build to allow for rust PNG decoding only
2024-12-09 lukasza@chromium.org [rust png] Update Skia => `png` dependency to version 0.17.15.
2024-12-09 kjlubick@google.com Add placeholder files for jsonreader
2024-12-09 20:29:19 +00:00
Robert Ancell
f3c1d7bab8 Make fl_key_channel_responder_handle_event async (flutter/engine#56959)
Replace a callback with a more standard async call
2024-12-10 09:06:22 +13:00
Jonah Williams
529d0d6757 [Impeller] use ES3 extension for external images. (flutter/engine#57018)
The shader language level is 300 or more we need to use GL_OES_EGL_image_external_essl3 instead of GL_OES_EGL_image_external
2024-12-09 18:25:00 +00:00
skia-flutter-autoroll
15af0c4f83 Roll Dart SDK from 264c0c6f5894 to 9694974b6d41 (1 revision) (flutter/engine#57066)
https://dart.googlesource.com/sdk.git/+log/264c0c6f5894..9694974b6d41

2024-12-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-226.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-12-09 18:21:06 +00:00
skia-flutter-autoroll
4037bf256a Roll Skia from afa77852dcde to e78dd0265002 (1 revision) (flutter/engine#57063)
https://skia.googlesource.com/skia.git/+log/afa77852dcde..e78dd0265002

2024-12-09 kjlubick@google.com Reland "Remove JSON output from public API of SkSLDebugTrace"

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,kjlubick@google.com,maxhudnell@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-12-09 16:50:27 +00:00
skia-flutter-autoroll
ffc8dad48b Roll Dart SDK from c7e47c6c5df6 to 264c0c6f5894 (1 revision) (flutter/engine#57060)
https://dart.googlesource.com/sdk.git/+log/c7e47c6c5df6..264c0c6f5894

2024-12-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-225.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-12-09 14:02:38 +00:00
skia-flutter-autoroll
9ff9419e6d Roll Fuchsia Linux SDK from BFJjwUVtBDA2mqqpH... to tVShMDVFeKJFcDFHJ... (flutter/engine#57058)
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,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-12-09 11:47:23 +00:00
skia-flutter-autoroll
01c681d9b1 Roll Skia from c80d6609b95b to ac432c094232 (1 revision) (flutter/engine#57056)
https://skia.googlesource.com/skia.git/+log/c80d6609b95b..ac432c094232

2024-12-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 48b61740d60f to ca6066d7097c (7 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,kjlubick@google.com,maxhudnell@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-12-09 07:33:32 +00:00
Robert Ancell
8cc75a926e Cleanup refactoring in FlKeyboardManager (flutter/engine#56956)
Remove pending keyboard event ID and use the object directly.

Use references to make sure FlKeyboardManagerData is freed.

Refactor marking events as handled
2024-12-09 09:53:58 +13:00
skia-flutter-autoroll
a9c77c889f Roll Fuchsia Linux SDK from __h1RRphItwU5H0tL... to BFJjwUVtBDA2mqqpH... (flutter/engine#57050)
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,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-12-08 10:39:11 +00:00
skia-flutter-autoroll
fd266b33d7 Roll Skia from b37f1430f87a to d1e261ca7f6f (1 revision) (flutter/engine#57039)
https://skia.googlesource.com/skia.git/+log/b37f1430f87a..d1e261ca7f6f

2024-12-07 jie.a.chen@intel.com [Graphite]: Use DawnTexelCopyBufferRowAlignment

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,jvanverth@google.com,kjlubick@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-12-07 10:26:23 +00:00
skia-flutter-autoroll
d32d2ec609 Roll Dart SDK from 838ed940b056 to c7e47c6c5df6 (1 revision) (flutter/engine#57038)
https://dart.googlesource.com/sdk.git/+log/838ed940b056..c7e47c6c5df6

2024-12-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-224.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-12-07 06:19:28 +00:00
skia-flutter-autoroll
99c5f6e7f2 Roll Dart SDK from 67ce49b905f7 to 838ed940b056 (2 revisions) (flutter/engine#57037)
https://dart.googlesource.com/sdk.git/+log/67ce49b905f7..838ed940b056

2024-12-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-223.0.dev
2024-12-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-222.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-12-07 02:05:05 +00:00
skia-flutter-autoroll
897529e800 Roll Fuchsia Linux SDK from DDdLABVLcqOv_axv-... to __h1RRphItwU5H0tL... (flutter/engine#57028)
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,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-12-07 00:19:14 +00:00
Brandon DeRosier
83d36af187 Cover offset+bounds wrapping in the APNG frame region check. (flutter/engine#57025)
The `offset + bounds` calculation in the bounds checks could wrap around, bypassing the check.

(Follow up to https://github.com/flutter/engine/pull/56928)
2024-12-06 23:26:31 +00:00
skia-flutter-autoroll
849bf8bd37 Roll Skia from 0d94e966268b to c9e9ce277b80 (3 revisions) (flutter/engine#57024)
https://skia.googlesource.com/skia.git/+log/0d94e966268b..c9e9ce277b80

2024-12-06 lokokung@google.com [dawn][headers] Update uses to new APIs and enums in buffer/queue.
2024-12-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 11d17e6bd029 to 94052ee8a2fb (2 revisions)
2024-12-06 danieldilan@google.com Reland "Initialize decompress struct with libjpeg-turbo's API"

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC bdero@google.com,jvanverth@google.com,kjlubick@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-12-06 23:06:47 +00:00
Jonah Williams
ebd057a46f [Impeller] store vertex buffers in render pass for gles. (flutter/engine#56991)
Move vertex buffer storage off of the command object. Because we can bind up to 16 (but usually 1) vertex buffers per cmd, storing it on the command requires allocating storage for the full 16 buffers. MOving this to a secondary vector decreases the size of the command object from ~800 bytes to ~200 bytes.
2024-12-06 22:03:11 +00:00
Jonah Williams
d58cd98b8c [Impeller] Add keep alive for 4 frames in render target cache. (flutter/engine#57020)
Improve cache usage by keeping textures alive for 4 frames after the last usage. This improves cache usage in scenarios such as repeatidly dragging the android overscroll functionality.

THis isn't expected to have a negative impact on memory, because a texture cannot be _immediately_ deleted anyway.
2024-12-06 21:43:56 +00:00
hellohuanlin
13c0f5ad58 [ios][platform_view] workaround for non-tappable webview (flutter/engine#56804)
This is pretty tricky bug - I suspect that because Apple's internal recognizer caching an outdated state of our delaying recognizer. 

The conflict happens between WebKit and platform view's recognizers. It happens to all plugins that uses a WKWebView, or any view that has a similar (unknown) gesture setup. 

This fix has to be in the engine (rather than the plugin), because the plugin itself knows nothing about the existence of our delaying recognizer. 

Here are the steps of my research for future reference: 

1. The bug only happens when the overlay flutter widgets blocks the gestures for the platform view (e.g. tap on the platform view area when a flutter context menu is displayed). When the bug happens, WKWebView's link doesn't work anymore, however, the link can still be highlighted when tapped. 

2. When I remove the delaying recognizer from platform view, the link became clickable again. This means that the bug is related to some conflict between WKWebView's internal recognizers and our delaying recognizer. This also means that it is not possible to fix this issue at plugin level, which knows nothing about the delaying recognizer. 

3. When we tap on the web view when context menu is displayed, `blockGesture` will be called, which simply toggles delaying recognizer's state from `possible` to `ended` state, meaning it should block all recognizers from the current gesture (and it correctly did so). Then I use `dispatch_async` and check the state again, and confirmed the state is correctly reset to `possible` state. 

4. Subsequent tap on web view triggers `acceptGesture`, which turns the `possible` state into `failed` state. This subsequent tap only highlights the link, but not activate the link. This suggests that some internal web kit recognizer that handles the highlight sees the `failed` state of delaying recognizer (which is correct), but the recognizer that handles the link activation probably sees the stale state of `possible` or `ended` (which is outdated old state). 

5. So the solution is trying to make the recognizer "see" the updated state rather than the cached old state. 

6. I tried recreating a new delaying recognizer when `blockGesture` is called: 
```
- blockGesture {
  delayingRecognizer.state = .ended
  dispatch_async {
    // force re-create the delaying recognizer
  }
}
```
This fixed the link activation bug, however, when opening the context menu again, the gesture is not blocked anymore. This means web kit internal recognizers likely cache the old delaying recognizer for state update, thus the new instance of delaying recognizer won't work anymore. So we can't change the instance. However, it's a good experiment that confirms my hypothesis that some internal webkit recognizer caches the outdated state of delaying recognizer. 

7. For the above code, rather than using `dispatch_async`, I also tried `dispatch_after`, and it turns out that it only works if the dispatch_after delay is `0` - even if the delay is much smaller than 1 frame's time (16.7ms), it doesn't work. This means the state checking happens either at the end of the current run loop, or beginning of the next run loop. (not too important information, but it helps me better understand how UIKit works). 

8. So from 6, we know that we have to keep the original instance of delaying recognizer. I tried toggling `recognizer.enabled`, it didn't work. I also tried inserting a dummy recognizer, it didn't work. Neither approach triggers the state "refresh" for those webkit internal recognizers. 

9. I tried removing and adding back the delaying recognizer, and it just worked! This means that removing and adding back the delaying recognizer probably triggered UIKit to refresh the states for all its related recognizers (i.e. those recognizers either blocking or being blocked by the delaying recognizer), hence getting the updated state. 

*List which issues are fixed by this PR. You must list at least one issue.*

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

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-12-06 21:43:54 +00:00
gaaclarke
592ceb7326 Reland: Replaces bespoke call captures from mock gles with gmock (flutter/engine#57019)
relands https://github.com/flutter/engine/pull/56995

It previously landed with stale presubmits, this should be up to date now.  I have the fix in a separate commit.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-12-06 21:38:40 +00:00
skia-flutter-autoroll
0e4fafd629 Roll Skia from c9647f13cded to 0d94e966268b (36 revisions) (flutter/engine#57023)
Roll Skia from c9647f13cded to 0d94e966268b (36 revisions)

https://skia.googlesource.com/skia.git/+log/c9647f13cded..0d94e966268b

2024-12-06 alecmouri@google.com Support PNG gainmaps
2024-12-06 danieldilan@google.com Revert "Initialize decompress struct with libjpeg-turbo's API"
2024-12-06 danieldilan@google.com Initialize decompress struct with libjpeg-turbo's API
2024-12-06 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 1e61e82b1b7a to 92c3ee90cfff (9 revisions)
2024-12-06 lukasza@chromium.org Reapply "[rust png] Extract `SkPngEncoderBase::onEncodeRows`."
2024-12-06 jvanverth@google.com Revert "Remove JSON output from public API of SkSLDebugTrace"
2024-12-06 jvanverth@google.com Revert "Move SkJSON.h to //modules/jsonreader"
2024-12-06 jvanverth@google.com Revert "[rust png] Extract `SkPngEncoderBase::onEncodeRows`."
2024-12-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 38268c8df30d to 1e61e82b1b7a (6 revisions)
2024-12-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 73c103d87739 to 48b61740d60f (9 revisions)
2024-12-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0846b50db6b1 to 11d17e6bd029 (6 revisions)
2024-12-05 kjlubick@google.com Move SkJSON.h to //modules/jsonreader
2024-12-05 kjlubick@google.com Remove JSON output from public API of SkSLDebugTrace
2024-12-05 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 3ee07d9e3ba7 to 38268c8df30d (12 revisions)
2024-12-05 jamesgk@google.com [graphite] Add a test for unused target surface on replay
2024-12-05 jamesgk@google.com [graphite] Allow providing unused target surface on replay
2024-12-05 jamesgk@google.com Ignore all deferred canvas tests in Protected configs
2024-12-05 lukasza@chromium.org [rust png] Integrate Rust `png` crate into `SkPngRustEncoderImpl`.
2024-12-05 lukasza@chromium.org [rust png] Extract `SkPngEncoderBase::onEncodeRows`.
2024-12-05 briansalomon@gmail.com Show timer queries for Graphite/Dawn in Viewer stats
2024-12-05 lukasza@chromium.org [rust png] Extract `SkPngEncoderBase::getTargetInfo`.
2024-12-05 lukasza@chromium.org [rust png] Test that can detect encoding RGB vs RGBA mismatch.
2024-12-05 michaelludwig@google.com [ganesh] Check index count for overflow for good measure
2024-12-05 robertphillips@google.com Address some numerical instability in SkRRect::transform
2024-12-05 jamesgk@google.com [graphite] Support mipmapped deferred canvases
2024-12-05 kjlubick@google.com Add graphite-specific version of tools/DisplayParams
2024-12-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 0bb109aa3311 to e42047f0bbac (16 revisions)
2024-12-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ef19ac786024 to 0846b50db6b1 (6 revisions)
2024-12-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 2d420a4dcfc4 to 73c103d87739 (7 revisions)
2024-12-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from e0d7445de8cd to 3ee07d9e3ba7 (18 revisions)
2024-12-04 kjlubick@google.com Slightly improve readability of SkSwizzler_opts
2024-12-04 kjlubick@google.com Help type deduction for old compilers
2024-12-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 7adbb3e81110 to 0bb109aa3311 (14 revisions)
2024-12-04 jvanverth@google.com Catch some excessive loop cases in GrTriangulator.
2024-12-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 04ad645c0403 to 32e4afed6d80
2024-12-04 fmalita@chromium.org [svg] Conditional debugging

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,jvanverth@google.com,kjlubick@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

...
2024-12-06 21:38:39 +00:00
Chris Bracken
f5db949a32 iOS: add null check on create impeller context (flutter/engine#56952)
In the case where `CreateImpellerContext` encounters an error while creating an `impeller::ContextMTL`, we logged an error, returned nullptr, then immediately dereferenced the null pointer. Now, rather than crash due to a segfault, we now intentionally abort with an appropriate error message.

This adds checks in the `FlutterDarwinContextMetalImpeller` initialiser that aborts with an appropriate error message if impeller context creation fails, Metal device creation fails, or texture cache creation fails.

Rather than bailing out and returning nil from the initialiser to pass the buck to the caller, we terminate since without a graphics context, the app won't be able to render anything to begin with.

Issue: https://github.com/flutter/flutter/issues/157489
Issue: [b/378790930](http://b/378790930)

No test changes since this just changes an accidental crash to an intentional crash.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-12-06 19:32:25 +00:00
skia-flutter-autoroll
87af85b89c Roll Dart SDK from 9c9a333c496c to 67ce49b905f7 (2 revisions) (flutter/engine#57013)
https://dart.googlesource.com/sdk.git/+log/9c9a333c496c..67ce49b905f7

2024-12-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-221.0.dev
2024-12-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-220.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-12-06 19:32:24 +00:00
auto-submit[bot]
3e5e7086d5 Reverts "Replaces bespoke call captures from mock gles with gmock (#56995)" (flutter/engine#57016)
Reverts: flutter/engine#56995
Initiated by: jonahwilliams
Reason for reverting: compilation error at head.
Original PR Author: gaaclarke

Reviewed By: {jonahwilliams}

This change reverts the following previous change:
test exempt: test only code

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-12-06 18:01:35 +00:00
gaaclarke
afb249fd2b Replaces bespoke call captures from mock gles with gmock (flutter/engine#56995)
test exempt: test only code

## 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/blob/master/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/engine/blob/main/docs/testing/Testing-the-engine.md
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Chat.md
2024-12-06 09:17:57 -08:00
Jason Simmons
30289be8ba [Impeller] Require the GLES multisampled_render_to_texture2 extension for offscreen MSAA (flutter/engine#56997)
Offscreen MSAA needs the ability to create multisample depth and stencil attachments.
2024-12-06 15:43:23 +00:00