Commit Graph

33786 Commits

Author SHA1 Message Date
skia-flutter-autoroll
eca4147eea Roll Dart SDK from 6f8bcd5b48ab to 6ff9926232bd (1 revision) (flutter/engine#50079)
https://dart.googlesource.com/sdk.git/+log/6f8bcd5b48ab..6ff9926232bd

2024-01-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-76.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,jacksongardner@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-01-26 09:42:23 +00:00
skia-flutter-autoroll
943dbf01f7 Roll Dart SDK from 00784f1f22b5 to 6f8bcd5b48ab (1 revision) (flutter/engine#50074)
https://dart.googlesource.com/sdk.git/+log/00784f1f22b5..6f8bcd5b48ab

2024-01-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-75.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,jacksongardner@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-01-26 05:49:23 +00:00
David Iglesias
9cc9f396b5 [web] Add views proxy and getInitialData. (flutter/engine#49320)
Adds a Dart API so Application/Plugin programmers can retrieve the `initialData` configuration value that may be passed when adding a view from JS in a multiViewEnabled app.

When adding a view to an app like this:

```js
flutterApp.addView({
  hostElement: someElement,
  initialData: {
    randomUUID: globalThis.crypto.randomUUID(),
  }
});
```

`initialData` can be accessed from Dart by defining a JS-interop class like:

```dart
import 'dart:js_interop';

// The JS-interop definition of the `initialData` object passed to the views of this app.
@JS()
@staticInterop
class InitialData {}

/// The attributes of the [InitialData] object.
extension InitialDataExtension on InitialData {
  external String? get randomUUID;
}
```

And then, from the code of the application:

```dart
...
  Widget build(BuildContext context) {
    final int viewId = View.of(context).viewId;
    final InitialData? data = ui_web.views.getInitialData(viewId) as InitialData?;
    return Text('${data?.randomUUID}');
  }
...
```

## Testing

Will add unit tests once naming is sorted out :)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-26 02:36:37 +00:00
David Iglesias
4292cddf6f [web] Prevent re-rendering disposed views when the engine hot restarts. (flutter/engine#49958)
While debugging a different [issue](https://github.com/flutter/flutter/issues/141588), @elliette identified a problem with the web engine when a flutter web app hot-restarts.

TL;DR: the engine is requesting the framework to re-render a view as it tears them down, causing an assertion failure.

This fix stops listening to changes on view "disposed" events when the engine itself is being disposed, so it doesn't trigger re-renders for views that are never coming back.

## Issues

* Fixes https://github.com/flutter/flutter/issues/142030

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-26 02:26:21 +00:00
skia-flutter-autoroll
7505f6bdaf Roll Dart SDK from 2fb950853f06 to 00784f1f22b5 (3 revisions) (flutter/engine#50068)
https://dart.googlesource.com/sdk.git/+log/2fb950853f06..00784f1f22b5

2024-01-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-74.0.dev
2024-01-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-73.0.dev
2024-01-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-72.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,jacksongardner@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-01-26 01:44:05 +00:00
Matan Lurey
036ccdbd2c Avoid sizing ImageReaderSurfaceProducer smaller than 1x1 (flutter/engine#50066)
Partial fix towards https://github.com/flutter/flutter/issues/142082.

This fixes OpenGLES + SurfaceProducer, but not Vulkan + SurfaceProducer (that requires VK-specific changes).
2024-01-26 00:56:58 +00:00
Jonah Williams
472d16e991 Use clamp sampling mode in external texture. (flutter/engine#50063)
This is a more reasonable default sampling mode.
2024-01-25 16:14:04 -08:00
John McCutchan
b9c9338455 Reland Optimizations for TLHC frame rate and jank (flutter/engine#50065)
- ImageReaderSurfaceProducer no longer drops frames when the producer
and the consumers are up to two frames out of sync.
- Have the native C++ side of the Android external textures check if a
new frame has been pushed and that the texture needs to be updated. This
avoids having to schedule a task on the raster thread for each updated
texture.
- Notify the engine earlier that a frame is needed when updating a TLHC
texture.
- Reland fix: Call SurfaceTextureExternalTexture::ProcessFrame if
dl_image_ is null.
2024-01-25 16:01:54 -08:00
skia-flutter-autoroll
0b56f7ab32 Roll Fuchsia Linux SDK from Igt2rE-R6rgfmTRaF... to WHlwlOwznFknNm5IS... (flutter/engine#50059)
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 jacksongardner@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-01-25 23:54:52 +00:00
auto-submit[bot]
d4a6b6d842 Reverts "Optimizations for TLHC frame rate and jank" (flutter/engine#50062)
Reverts flutter/engine#50033
Initiated by: zanderso
This change reverts the following previous change:
Original Description:
- ImageReaderSurfaceProducer no longer drops frames when the producer and the consumers are up to two frames out of sync.
- Have the native C++ side of the Android external textures check if a new frame has been pushed and that the texture needs to be updated.  This avoids having to schedule a task on the raster thread for each updated texture.
- Notify the engine earlier that a frame is needed when updating a TLHC texture.
2024-01-25 23:31:18 +00:00
Brandon DeRosier
5e80d9e9e1 [Impeller] Fix advanced blend alpha issue, improve blend goldens. (flutter/engine#50035)
Figured out one of the problems...

Multiply before (notice weird alpha behavior on the bird):
<img width="401" alt="Screenshot 2024-01-25 at 12 07 50 AM" src="https://github.com/flutter/engine/assets/919017/91c7891f-58f8-4337-b9d6-f49803938a53">

Multiply after:
<img width="401" alt="Screenshot 2024-01-25 at 12 06 43 AM" src="https://github.com/flutter/engine/assets/919017/233ede85-bdc5-475e-83bd-3263959c7d2a">
2024-01-25 22:53:44 +00:00
Eitan Liu
745af8297c Fix android new engine in group (flutter/engine#49659)
Fix android `FlutterFragmentActivity.createFlutterFragment()` new engine in group.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-25 22:03:57 +00:00
Jesse Seales
405711406e Remove fuchsia from allowed_hosts post-migration (flutter/engine#50013)
Fuchsia is no longer referenced as a host for dependencies and should not be in the future. This change removes the host from allowed_hosts.

Also included is a cleanup of the ocmock comment since there is now a flutter mirror and there will not be more github references directly in the future.

Verified that this change passes `gclient verify` (with the exception of the `buildroot` dependency which fails because of github not being in allowed_hosts, not because of the fuchsia change).

Addresses b/308986699

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-25 21:47:49 +00:00
skia-flutter-autoroll
c60ba1487d Roll Skia from 801bb44f2b09 to cc5124317c18 (1 revision) (flutter/engine#50054)
https://skia.googlesource.com/skia.git/+log/801bb44f2b09..cc5124317c18

2024-01-25 egdaniel@google.com Removed unused params to our VMA wrapper.

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,jacksongardner@google.com,lovisolo@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-01-25 21:25:06 +00:00
Bruno Leroux
282cb244ad Fix a typo in ChannelBuffers documentation (flutter/engine#49928)
Fix one typo in ChannelBuffers documentation
2024-01-25 21:17:17 +00:00
Dan Field
b3ab50daf2 Add include suggested by clang-tidy (flutter/engine#49898)
This is from the google3 roll. Adding this cuts down on noise for rollers.
2024-01-25 21:15:00 +00:00
Callum Moffat
b473589fe5 Refactor macOS trackpad gesture tracking (flutter/engine#49424)
The AppKit state machine was not well understood before. Sometimes the engine would leave orphan PanZoomStart after a certain sequences including NSEventPhaseMayBegin

Now track each gesture's specific phase instead of boolean true/false which doesn't really accurately represent the system state.

Fixes https://github.com/flutter/flutter/issues/140730
FIxes https://github.com/flutter/flutter/issues/136622
2024-01-25 21:10:06 +00:00
Nishant Kumar
f27cfea630 winding order from tesellator.h to formats.h (flutter/engine#49865)
i have removed WindingOrder from tesellator.h and moved it to formats.h . Fixes https://github.com/flutter/flutter/issues/138832

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-25 21:05:18 +00:00
Ian Hickson
a0953fac8d Roll webp to 1.3.2 (flutter/engine#49883) 2024-01-25 21:05:16 +00:00
John McCutchan
c4781018bc Optimizations for TLHC frame rate and jank (flutter/engine#50033)
- ImageReaderSurfaceProducer no longer drops frames when the producer
and the consumers are up to two frames out of sync.
- Have the native C++ side of the Android external textures check if a
new frame has been pushed and that the texture needs to be updated. This
avoids having to schedule a task on the raster thread for each updated
texture.
- Notify the engine earlier that a frame is needed when updating a TLHC
texture.
2024-01-25 12:44:38 -08:00
skia-flutter-autoroll
1b83114766 Roll Skia from 29b545e4356b to 801bb44f2b09 (1 revision) (flutter/engine#50051)
https://skia.googlesource.com/skia.git/+log/29b545e4356b..801bb44f2b09

2024-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from a7ae764f6888 to 32bf255b2c46

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,jacksongardner@google.com,lovisolo@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-01-25 20:37:19 +00:00
Jonah Williams
c80a0580f4 [Impeller] Fix mipmap generation for Vulkan render target textures. (flutter/engine#49848)
Potentially fixes https://github.com/flutter/flutter/issues/141495

The texture used as a render target attachment can have miplevels, but
the image view cannot. Unconditionally create two image views per
texture (this could be optimized in some cases), where the specific
"render target texture view" always sets a mipcount of 1.

In theory this should allow us to generate mipmaps for textures that are
used as render target attachments, including toImage and toImageSync
textures which are currently missing this functionality.

---------

Co-authored-by: Aaron Clarke <aaclarke@google.com>
Co-authored-by: gaaclarke <30870216+gaaclarke@users.noreply.github.com>
2024-01-25 12:28:26 -08:00
Jason Simmons
2bc62b42f1 [Impeller] Do not emit metadata for structs that are not part of the shader's interface (flutter/engine#50029)
Fixes https://github.com/flutter/flutter/issues/138404
2024-01-25 19:48:57 +00:00
skia-flutter-autoroll
5a1ecec956 Roll Skia from de46a989e0ca to 29b545e4356b (1 revision) (flutter/engine#50047)
https://skia.googlesource.com/skia.git/+log/de46a989e0ca..29b545e4356b

2024-01-25 fmalita@chromium.org [skottie] Add TrivialFontRunIterator build option

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,jacksongardner@google.com,lovisolo@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-01-25 19:41:10 +00:00
Jonah Williams
48384a2022 [Impeller] write vertices geometry data to host buffer. (flutter/engine#49741)
Now that host buffer writes go directly to device buffers, there is no advantage to creating dedicated device buffers for the vertices contents.

Fixes https://github.com/flutter/flutter/issues/141202
2024-01-25 18:58:57 +00:00
Jonah Williams
f9923488be Revert "[Impeller] round up subpass coverage when it is close to (and smaller) than root pass size." (flutter/engine#50041)
Reverts flutter/engine#49925

This did not improve benchmarks: https://flutter-flutter-perf.skia.org/e/?queries=device_type%3DPixel_7_Pro%26sub_result%3D90th_percentile_frame_rasterizer_time_millis%26sub_result%3D99th_percentile_frame_rasterizer_time_millis%26sub_result%3Daverage_frame_rasterizer_time_millis%26sub_result%3Dworst_frame_rasterizer_time_millis%26test%3Dnew_gallery_impeller_old_zoom__transition_perf&selected=commit%3D38910%26name%3D%252Carch%253Dintel%252Cbranch%253Dmaster%252Cconfig%253Ddefault%252Cdevice_type%253DPixel_7_Pro%252Cdevice_version%253Dnone%252Chost_type%253Dlinux%252Csub_result%253D99th_percentile_frame_rasterizer_time_millis%252Ctest%253Dnew_gallery_impeller_old_zoom__transition_perf%252C

From follow up investigation: some of the routes hit this optimization, while some did not as the the bounds size seems to depend on the exact contents.
2024-01-25 18:51:23 +00:00
skia-flutter-autoroll
99bdce66a4 Roll Skia from bcc2e8b6105a to de46a989e0ca (1 revision) (flutter/engine#50046)
https://skia.googlesource.com/skia.git/+log/bcc2e8b6105a..de46a989e0ca

2024-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from 8e2678463dae to c7ed7da64071 (3 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,lovisolo@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-01-25 18:43:04 +00:00
gaaclarke
d8b2624fcf [Impeller] turned on vulkan validation for all but one golden test (flutter/engine#50045)
fixes https://github.com/flutter/flutter/issues/142017

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-25 18:38:17 +00:00
skia-flutter-autoroll
b35b7d7917 Roll Skia from 56c06ee7a252 to bcc2e8b6105a (2 revisions) (flutter/engine#50042)
https://skia.googlesource.com/skia.git/+log/56c06ee7a252..bcc2e8b6105a

2024-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll vulkan-deps from 601d5676bb98 to 43b6e2049a16 (3 revisions)
2024-01-25 michaelludwig@google.com [skif] Add stats tracking for surfaces/shader types

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,jacksongardner@google.com,lovisolo@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-01-25 17:14:23 +00:00
Jonah Williams
14fe2f8c27 [Impeller] call shutdown method in Android context. (flutter/engine#49992)
The Impeller context requires us to call Shutdown to ensure that all of its spawned worker threads are joined, ensuring that the raster thread retains the last reference. Without this, we may either destroy parts of the context to early, or attempt to join into a worker thread which will fail.
2024-01-25 17:02:34 +00:00
maRci002
e0a9cc7ce0 [web] add support for AppLifecycleState changes (flutter/engine#44720)
closes flutter/flutter#53107

This PR introduces support for `AppLifecycleState` on Web, aligning the web's lifecycle events with those of the mobile platforms. This ensures a more consistent developer experience and better lifecycle management across all platforms.

**PR includes:**

- Page Visibility Handling: Integrated the `visibilitychange` DOM event to determine if the app is in a `resumed` or `paused` state based on the visibility state of the document.
- Page Transition Handling: Used `beforeunload` events to better manage the `detached` state.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-25 16:31:12 +00:00
skia-flutter-autoroll
75bd18f4b2 Roll Skia from 416d7b0e5ba1 to 56c06ee7a252 (1 revision) (flutter/engine#50040)
https://skia.googlesource.com/skia.git/+log/416d7b0e5ba1..56c06ee7a252

2024-01-25 penghuang@chromium.org Replace push_back() in `DrawList::recordDraw()` with emplace_back()

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,jacksongardner@google.com,lovisolo@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-01-25 16:19:25 +00:00
skia-flutter-autoroll
3a3b5667b9 Roll Skia from 699ee2b7cf34 to 416d7b0e5ba1 (2 revisions) (flutter/engine#50039)
https://skia.googlesource.com/skia.git/+log/699ee2b7cf34..416d7b0e5ba1

2024-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4784bfd700e3 to 601d5676bb98 (3 revisions)
2024-01-25 drott@chromium.org [Fontations-backend] Keep outline collection object alive

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,jacksongardner@google.com,lovisolo@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-01-25 14:37:05 +00:00
skia-flutter-autoroll
d832cd08b2 Roll Dart SDK from beb003009a4d to 2fb950853f06 (1 revision) (flutter/engine#50037)
https://dart.googlesource.com/sdk.git/+log/beb003009a4d..2fb950853f06

2024-01-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-71.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,jacksongardner@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-01-25 13:50:22 +00:00
zijiehe@
538d967f7c [Fuchsia] Redo - Use chromium test-scripts to download images and execute tests (flutter/engine#49940)
This change is a redo of https://github.com/flutter/engine/pull/49847.

https://github.com/zijiehe-google-com/engine/compare/4530942..main
should show the diff between this and the original change; mainly fixes
the https://github.com/flutter/flutter/issues/141907.

Following paragraph is copied from the original change.

This change can be executed from buildroot by

```
python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py
```

Bug: https://github.com/flutter/flutter/issues/140179

- [V] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [V] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [V] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [V] I listed at least one issue that this PR fixes in the description
above.
- [V] 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.
- [V] I updated/added relevant documentation (doc comments with `///`).
- [V] I signed the [CLA].
- [V] All existing and new tests are passing.
2024-01-25 11:58:03 +00:00
skia-flutter-autoroll
e364938a0d Roll Skia from 21c53af2e9f5 to 699ee2b7cf34 (1 revision) (flutter/engine#50034)
https://skia.googlesource.com/skia.git/+log/21c53af2e9f5..699ee2b7cf34

2024-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2978450af17b to 8e2678463dae (3 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,lovisolo@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-01-25 07:41:22 +00:00
skia-flutter-autoroll
e98db50c55 Roll Dart SDK from 6211fedca10c to beb003009a4d (1 revision) (flutter/engine#50032)
https://dart.googlesource.com/sdk.git/+log/6211fedca10c..beb003009a4d

2024-01-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-70.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,jacksongardner@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-01-25 05:38:49 +00:00
skia-flutter-autoroll
fe7d9de4b9 Roll Skia from c0544410fc8e to 21c53af2e9f5 (1 revision) (flutter/engine#50031)
https://skia.googlesource.com/skia.git/+log/c0544410fc8e..21c53af2e9f5

2024-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 18030a03d509 to be3d39c26501 (6 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,lovisolo@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-01-25 05:31:19 +00:00
skia-flutter-autoroll
5551b0b5b3 Roll Skia from 571873c31056 to c0544410fc8e (1 revision) (flutter/engine#50030)
https://skia.googlesource.com/skia.git/+log/571873c31056..c0544410fc8e

2024-01-25 johnstiles@google.com Allow Skia to build properly when is_component_build is set.

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,jacksongardner@google.com,lovisolo@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-01-25 04:32:13 +00:00
John Stiles
cd6d342e31 Use top-level GN arg for Skottie instead of CanvasKit-specific arg. (flutter/engine#50019)
The GN flag `skia_canvaskit_enable_skottie` is being retired at http://review.skia.org/805336
2024-01-25 03:43:05 +00:00
skia-flutter-autoroll
7e1b6e9ad5 Roll Skia from 3b7accdf8ed8 to 571873c31056 (1 revision) (flutter/engine#50026)
https://skia.googlesource.com/skia.git/+log/3b7accdf8ed8..571873c31056

2024-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from be50cd418ee1 to 4784bfd700e3 (2 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,lovisolo@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-01-25 01:37:23 +00:00
Jonah Williams
05e3314f30 [Impeller] round up subpass coverage when it is close to (and smaller) than root pass size. (flutter/engine#49925)
Work towards https://github.com/flutter/flutter/issues/136510

generally speaking, we try to size subpasses as small as we possibly can as an optimization for memory usage and fragment load. Though with specific blend modes and/or filters we are required us to flood to a larger size. However in some cases, this optimization is counter productive - as we can only recycle textures that are exactly the same size.

In scenario where a large subpass slightly changes sizes every frame (such as for the android zoom page transition), the tight sizing is maximally inefficient as we discard and recreate large textures each frame.

This PR adds a heuristic which (at least locally) improves this by rounding up subpass size that is within 10% of the root pass size.
2024-01-25 01:21:41 +00:00
MarkZ
6d345a5475 Adding DDC module system targets to web SDK artifacts. (flutter/engine#47783)
This is part of an ongoing effort to replace DDC's module system in Flutter Web (for hot reload support).

Side effects of this change include doubling the code generated by DDC whenever this build pathway is hit (until the full module system transition lands), but this shouldn't affect debug performance. We may be able to lock this behind a build flag if this is an issue. 

See related issue: https://github.com/dart-lang/sdk/issues/52361
2024-01-25 00:52:16 +00:00
Hasan Mohsin
eb072d8928 [Windows] Set cursor immediately when framework requests update (flutter/engine#49784)
On Windows, when using a `MouseRegion` widget to change the cursor it is not actually updated until the cursor is moved. This is because the Windows embedder only updates the `current_cursor_` field but does not actually set the cursor until the window receives the `WM_SETCURSOR` message when the mouse moves. This change makes it set the cursor immediately.

Fixes flutter/flutter#76622
2024-01-25 00:48:23 +00:00
Loïc Sharma
7aecd394de [Windows] Introduce egl::Surface and egl::WindowSurface (flutter/engine#49983)
This introduces the `egl::Surface` and `egl::WindowSurface` types to abstract a raw `EGLSurface`. This also removes some - but not all - EGL surface logic out from `EGLManager`.

Subsequent pull requests will be necessary to:

1. Move ownership of the `egl::WindowSurface` from `egl::Manager` to `FlutterWindowsView`
2. Refactor external texture's off-screen EGL surface to use `egl::Surface`

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-25 00:30:53 +00:00
skia-flutter-autoroll
4c683a6680 Roll Skia from 588caf1ceddd to 3b7accdf8ed8 (1 revision) (flutter/engine#50025)
https://skia.googlesource.com/skia.git/+log/588caf1ceddd..3b7accdf8ed8

2024-01-24 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from 1100cc5c72c6 to 2978450af17b (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 brianosman@google.com,jacksongardner@google.com,lovisolo@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-01-25 00:16:08 +00:00
skia-flutter-autoroll
3c8c5690fd Roll Dart SDK from e0bf6a261895 to 6211fedca10c (1 revision) (flutter/engine#50021)
https://dart.googlesource.com/sdk.git/+log/e0bf6a261895..6211fedca10c

2024-01-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-69.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,jacksongardner@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-01-24 23:23:43 +00:00
skia-flutter-autoroll
3fb1af7d31 Roll Skia from 247a61a5496d to 588caf1ceddd (2 revisions) (flutter/engine#50020)
https://skia.googlesource.com/skia.git/+log/247a61a5496d..588caf1ceddd

2024-01-24 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from bc789bb959cd to 18030a03d509 (10 revisions)
2024-01-24 drott@chromium.org [Fontations-backend] Implement optimized fillPath() drawing operation

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,jacksongardner@google.com,lovisolo@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-01-24 23:16:48 +00:00
skia-flutter-autoroll
b1b2abeee0 Roll Skia from 7d69d275afd8 to 247a61a5496d (1 revision) (flutter/engine#50018)
https://skia.googlesource.com/skia.git/+log/7d69d275afd8..247a61a5496d

2024-01-24 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll vulkan-deps from 561e7fd2eb22 to be50cd418ee1 (5 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,lovisolo@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-01-24 22:33:39 +00:00
skia-flutter-autoroll
a82ee888c2 Roll Skia from 643160445720 to 7d69d275afd8 (3 revisions) (flutter/engine#50016)
https://skia.googlesource.com/skia.git/+log/643160445720..7d69d275afd8

2024-01-24 armansito@google.com [graphite] ReadOnlyStorageBuffer ComputeStep resource type
2024-01-24 armansito@google.com [graphite][vello] BUFFER_BINDING macro
2024-01-24 kjlubick@google.com Fix includes in SkDebug_win to be base-friendly

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,jacksongardner@google.com,lovisolo@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-01-24 21:24:33 +00:00