30287 Commits

Author SHA1 Message Date
Bruno Leroux
ae000cbf8c [macOS] Return keyboard pressed state (flutter/engine#42878)
## Description

This PR updates the macOS engine in order to answer to keyboard pressed state queries from the framework (as implemented in https://github.com/flutter/flutter/pull/122885).

## Related Issue

macOS engine implementation for https://github.com/flutter/flutter/issues/87391
Similar to:
- Linux: https://github.com/flutter/engine/pull/42346
- Android: https://github.com/flutter/engine/pull/42758

## Tests

Adds 2 tests.
2023-07-26 07:14:19 +00:00
Dan Field
dee698f80c [Impeller] Remove duplicated code. (flutter/engine#44024)
Contents::ShouldRender already checks whether the stencil_coverage.has_value.
2023-07-26 05:37:23 +00:00
Brandon DeRosier
17530e0b22 [Impeller] Only strip the translation from backdrop filter effect transforms. (flutter/engine#44029)
Resolves https://github.com/flutter/flutter/issues/131305.
2023-07-26 05:17:08 +00:00
David Iglesias
1d2593d09f [web] Preserve canvaskit variant during tests. (flutter/engine#43868)
A ~~simpler~~ very similar version of https://github.com/flutter/engine/pull/43854

* Makes it harder for users to accidentally remove default configuration values, while still allowing them to do so if needed (configuration is now overridden with a subset of values, rather than passing a full configuration object).
  * Moves `merge` from the configuration object and into the override method.
* Removes a test-only configuration option:
  * `window._flutter_canvaskit_variant_for_test_only`

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-07-26 05:04:16 +00:00
skia-flutter-autoroll
84b7d1efc0 Roll Skia from 28773cec6e8d to 826e38ba8db3 (5 revisions) (flutter/engine#44031)
https://skia.googlesource.com/skia.git/+log/28773cec6e8d..826e38ba8db3

2023-07-26 armansito@google.com [sksl][compute] Enable SPIR-V compute test outputs
2023-07-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6f1c3384ecb6 to 46bff0d3d3cf (6 revisions)
2023-07-25 armansito@google.com [sksl][compute] Move compute tests to common filegroup
2023-07-25 michaelludwig@google.com [skif] Don't overload empty bounds in internalSaveLayer
2023-07-25 kjlubick@google.com Decouple SkSpecialSurface and GPU backends

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,jonahwilliams@google.com,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-26 04:32:30 +00:00
skia-flutter-autoroll
1a60ae99f5 Roll Fuchsia Mac SDK from 0StTjIqUxGkc3nOWT... to d6O9t74z-k2svOmvz... (flutter/engine#44030)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-mac-sdk-flutter-engine
Please CC jonahwilliams@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-26 04:26:14 +00:00
skia-flutter-autoroll
aa4817e7df Roll ANGLE from 84f5295c9782 to a09773110c4a (1 revision) (flutter/engine#44028)
84f5295c97..a09773110c

2023-07-26 yuxinhu@google.com Disable the usage of VK_EXT_legacy_dithering

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-flutter-engine
Please CC flutter-engine@google.com,jonahwilliams@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-26 02:45:00 +00:00
Jackson Gardner
8b46c33ac4 Roll fallback fonts. (flutter/engine#44000)
Update our fallback fonts data along with the CIPD package
2023-07-26 01:07:02 +00:00
skia-flutter-autoroll
838b6c6118 Roll Skia from 12d41b6f66ed to 28773cec6e8d (2 revisions) (flutter/engine#44011)
https://skia.googlesource.com/skia.git/+log/12d41b6f66ed..28773cec6e8d

2023-07-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 2ca55949153a to 983f600aab02
2023-07-25 johnstiles@google.com Add support for storage buffers in WGSL.

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,jonahwilliams@google.com,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-26 01:05:42 +00:00
Paul Berry
db661a120d Prepare flutter engine for enabling private final field promotion. (flutter/engine#43959)
Some parts of the flutter engine are built using the latest version of the Dart SDK, ignoring SDK constraints in `pubspec.yaml` files. Therefore, before the Dart SDK can switch on the "private field promotion" feature (https://github.com/dart-lang/language/issues/2020), these parts of the flutter engine need to be modified so that they won't have any "unnecessary `!`" warnings after field private field promotion is enabled. This PR makes the necessary changes.

This PR doesn't introduce any functional change. In principle it might improve performance slightly (by avoiding redundant memory accesses), but in practice the difference is unlikely to rise out of the measurement noise.

Issue fixed by this PR: https://github.com/flutter/flutter/issues/131198

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-07-26 01:04:09 +00:00
skia-flutter-autoroll
971c360087 Manual roll Dart SDK from 61ab5422fb7b to b1e82e2e55b2 (3 revisions) (flutter/engine#44018)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/61ab5422fb7b..b1e82e2e55b2

2023-07-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-348.0.dev
2023-07-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-347.0.dev
2023-07-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-346.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC asiva@google.com,dart-vm-team@google.com,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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-26 01:04:08 +00:00
Matan Lurey
15373f50d3 [Impeller] ToColor should produce a DlColor, not SkColor. (flutter/engine#43987)
Closes https://github.com/flutter/flutter/issues/124455.
2023-07-26 01:00:16 +00:00
skia-flutter-autoroll
e27c1373ad Roll ANGLE from b0b71d59391c to 84f5295c9782 (3 revisions) (flutter/engine#44025)
b0b71d5939..84f5295c97

2023-07-25 geofflang@chromium.org Metal: Flush with NoWait when hitting renderpass count limits
2023-07-25 hailinzhang@google.com Vulkan: disable pipline cache serialization
2023-07-25 geofflang@chromium.org Metal: Re-add flush to eglBindTexImage but as NoWait

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-flutter-engine
Please CC flutter-engine@google.com,jonahwilliams@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-26 00:58:04 +00:00
Callum Moffat
3b22bd4442 Uncap framerate for iOSAppOnMac (flutter/engine#43840)
Right now framerate when platform views are on screen is capped to 80 fps on iOS devices. I tried uncapping the framerate and ran the test app in https://github.com/flutter/flutter/issues/116640 on my M1 Max MBP and didn't notice any of the same slowdowns. `iOSAppOnMac` is only available on Apple Silicon Macs, so the performance baseline is really high. I think it's safe to remove the cap here.

### 120 Hz / ProMotion minimum specs

| Category | Device | SoC | CPU | GPU |
|--|--|--|--|--|
iOS | iPhone 13 Pro | A15 | 2P+4e | 5 EU |
Mac with built-in ProMotion | MacBook Pro 2021 | M1 Pro | 6P+2e |  14 EU |
Mac with external 120Hz display | MacBook Air 2020 | M1 | 4P+4e | 7 EU |

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-07-25 21:29:13 +00:00
skia-flutter-autoroll
0c6cf4c89a Roll ANGLE from 2d5fb09d7f0a to b0b71d59391c (2 revisions) (flutter/engine#44009)
2d5fb09d7f..b0b71d5939

2023-07-25 hob@chromium.org Search for system libvulkan on CrOS
2023-07-25 syoussefi@chromium.org GL: Complete EGL_ANGLE_external_context_and_surface

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-flutter-engine
Please CC flutter-engine@google.com,jonahwilliams@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 18:59:16 +00:00
skia-flutter-autoroll
20e6f3f007 Roll Skia from 7cec4e4e6f6e to 12d41b6f66ed (2 revisions) (flutter/engine#44008)
https://skia.googlesource.com/skia.git/+log/7cec4e4e6f6e..12d41b6f66ed

2023-07-25 kjlubick@google.com Remove graphite code from src/effects
2023-07-25 kjlubick@google.com Move SkBlenderBase::addToKey -> graphite/KeyHelpers

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,jonahwilliams@google.com,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 18:53:44 +00:00
skia-flutter-autoroll
712cd70b0f Manual roll Dart SDK from 8662af7d9aa3 to 61ab5422fb7b (12 revisions) (flutter/engine#44007)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/8662af7d9aa3..61ab5422fb7b

2023-07-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-345.0.dev
2023-07-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-344.0.dev
2023-07-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-343.0.dev
2023-07-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-342.0.dev
2023-07-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-341.0.dev
2023-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-340.0.dev
2023-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-339.0.dev
2023-07-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-338.0.dev
2023-07-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-337.0.dev
2023-07-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-336.0.dev
2023-07-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-335.0.dev
2023-07-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.1.0-334.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC asiva@google.com,dart-vm-team@google.com,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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 18:34:20 +00:00
skia-flutter-autoroll
004871b97b Roll Skia from eb5b5bc4fb86 to 7cec4e4e6f6e (1 revision) (flutter/engine#44003)
https://skia.googlesource.com/skia.git/+log/eb5b5bc4fb86..7cec4e4e6f6e

2023-07-25 armansito@google.com [graphite][vulkan][dawn] Use std140 layout in SSBOs

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,jonahwilliams@google.com,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 18:08:06 +00:00
Kevin Lubick
778cc2a363 Reland "Remove more calls to SkCanvas::flush() and SkSurface::flush()" (flutter/engine#43965)
Relanding https://github.com/flutter/engine/pull/43902 without the
copy-pasta return statements which did not seem to cause a compile
issue, but caused Fuchsia tests to hang.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[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
2023-07-25 14:05:44 -04:00
Jonah Williams
013333b1e7 [Impeller] round scale for glyph atlas cache to 2 decimal places. (flutter/engine#43752)
Fixes https://github.com/flutter/flutter/issues/130750
2023-07-25 17:51:04 +00:00
skia-flutter-autoroll
70ec222a10 Roll ANGLE from 7ae6458b664f to 2d5fb09d7f0a (2 revisions) (flutter/engine#44002)
7ae6458b66..2d5fb09d7f

2023-07-25 syoussefi@chromium.org Stubs for EGL_ANGLE_external_context_and_surface
2023-07-25 geofflang@chromium.org Mention the SwiftShader -> Chromium autoroller for Wranglers

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-flutter-engine
Please CC flutter-engine@google.com,jonahwilliams@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 17:34:05 +00:00
skia-flutter-autoroll
1bf804b7da Roll Skia from 04ab62b4f8c9 to eb5b5bc4fb86 (2 revisions) (flutter/engine#44001)
https://skia.googlesource.com/skia.git/+log/04ab62b4f8c9..eb5b5bc4fb86

2023-07-25 johnstiles@google.com Eliminate fInterfaceBlockMap from Metal codegen.
2023-07-25 nicolettep@google.com [graphite] Add inline uniform block support for Vulkan

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,jonahwilliams@google.com,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 16:36:47 +00:00
skia-flutter-autoroll
ff143b3fac Roll ANGLE from e8c8c5651223 to 7ae6458b664f (1 revision) (flutter/engine#43999)
e8c8c56512..7ae6458b66

2023-07-25 jojwang@google.com Temporarily remove repos involved in llvm builds.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-flutter-engine
Please CC flutter-engine@google.com,jonahwilliams@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 16:34:57 +00:00
Brandon DeRosier
a9297af32e [Impeller] Use basis of effect transform in MatrixFilter. (flutter/engine#43990)
Follow-up/reland of https://github.com/flutter/engine/pull/43943.

Issue https://github.com/flutter/flutter/issues/130355.

I've updated the golden to better reproduce the problem at hand; the
second circle is a scaled down copy of the backdrop. If the matrix
filter is handling the transform correctly, the circle is centered over
the bottom-right-most edge (4:30) of the circle:

![image](https://github.com/flutter/engine/assets/919017/3f2e099d-9d43-4ee6-8efe-3203edad47ad)
2023-07-25 09:32:57 -07:00
skia-flutter-autoroll
c658a5e593 Roll Fuchsia Mac SDK from DO73K2Twew-a51xHm... to 0StTjIqUxGkc3nOWT... (flutter/engine#43996)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-mac-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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 15:49:14 +00:00
skia-flutter-autoroll
ac655fabc8 Roll ANGLE from 1b17c91e4231 to e8c8c5651223 (2 revisions) (flutter/engine#43997)
1b17c91e42..e8c8c56512

2023-07-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 66d6b0dd0c39 to 9fbca2df22a8 (2 revisions)
2023-07-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 7db08a9e0a29 to 6f1c3384ecb6 (24 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-flutter-engine
Please CC bdero@google.com,flutter-engine@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 15:47:03 +00:00
skia-flutter-autoroll
a2dcff4d91 Roll Skia from 81ea617ee386 to 04ab62b4f8c9 (1 revision) (flutter/engine#43994)
https://skia.googlesource.com/skia.git/+log/81ea617ee386..04ab62b4f8c9

2023-07-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4c8d1ddb012a to 6f1c3384ecb6 (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 bdero@google.com,brianosman@google.com,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 15:45:06 +00:00
skia-flutter-autoroll
1823a77ded Roll ANGLE from 2d999f744809 to 1b17c91e4231 (1 revision) (flutter/engine#43993)
2d999f7448..1b17c91e42

2023-07-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 6eba95b5d89b to 0143d0520f3f (584 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-flutter-engine
Please CC bdero@google.com,flutter-engine@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 09:04:53 +00:00
skia-flutter-autoroll
196656a640 Roll Skia from 1d55f968ca23 to 81ea617ee386 (1 revision) (flutter/engine#43992)
https://skia.googlesource.com/skia.git/+log/1d55f968ca23..81ea617ee386

2023-07-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 430a4f559cbc to 2d999f744809 (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 bdero@google.com,brianosman@google.com,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 07:11:27 +00:00
skia-flutter-autoroll
e0aaf2f758 Roll Skia from 4bfaf9944a68 to 1d55f968ca23 (1 revision) (flutter/engine#43991)
https://skia.googlesource.com/skia.git/+log/4bfaf9944a68..1d55f968ca23

2023-07-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 1de81d2a1fc2 to 2ca55949153a (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,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 06:29:34 +00:00
skia-flutter-autoroll
63b093aa5c Roll Skia from e99aea2cffef to 4bfaf9944a68 (2 revisions) (flutter/engine#43989)
https://skia.googlesource.com/skia.git/+log/e99aea2cffef..4bfaf9944a68

2023-07-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 66d6b0dd0c39 to 9fbca2df22a8 (2 revisions)
2023-07-24 bungeman@google.com Avoid sk_sp to static local variable

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,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 05:33:32 +00:00
skia-flutter-autoroll
5f0c90e499 Roll Fuchsia Mac SDK from hUgYN9tEps515M1lg... to DO73K2Twew-a51xHm... (flutter/engine#43981)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-mac-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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 00:13:05 +00:00
skia-flutter-autoroll
b479f9fc76 Roll Skia from 4554d1b35b6e to e99aea2cffef (2 revisions) (flutter/engine#43980)
https://skia.googlesource.com/skia.git/+log/4554d1b35b6e..e99aea2cffef

2023-07-24 michaelludwig@google.com [skif] Use isEmpty64() instead of isEmpty() for layerspace irects
2023-07-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 18e535f0ebf3 to 4c8d1ddb012a (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 bdero@google.com,brianosman@google.com,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-25 00:09:51 +00:00
Brandon DeRosier
716c6afba4 [Impeller] Skip rect clips that do nothing. (flutter/engine#43948)
Resolves https://github.com/flutter/flutter/issues/131100

* Skip rect clips that we know won't further restrict the clip shape.
* Don't append clips to enforce subpass bounds. We currently don't collapse passes when subpass clips are added anyhow, so just a restriction to subpass collapsing in order to keep the current behavior intact.
* Small refactor to reduce confusion: Just place the subpass bounds limit into `EntityPass` itself instead of the delegate.

Built on https://github.com/flutter/engine/pull/43946 (because iOS currently fails validation without it).

Gallery home screen before/after:

![compare](https://github.com/flutter/engine/assets/919017/34608633-6b3b-4979-be2b-f2685b32168f)
2023-07-25 00:02:10 +00:00
Jonah Williams
0e489f3f86 [Impeller] presentKHR from background worker. (flutter/engine#43976)
Testing with validation enabled shows no crashes or validation warnings on Pixel 6 or S10. I believe this is safe since we are correctly synchronized in the acquireNextImage via the presentation semaphore. The only loss is that we will finish the raster task before we know that presentation is failed.

Having said that, we can end up waiting multiple ms for the layout transition and presentation, so that doesn't seem worth it.
2023-07-24 23:29:17 +00:00
Brandon DeRosier
3622aba393 Revert "[Impeller] Fix MatrixFilter multiplication ordering for subpasses." (flutter/engine#43978)
Reverts flutter/engine#43943

Closes https://github.com/flutter/flutter/issues/131182.
Opens https://github.com/flutter/flutter/issues/130355.

Regression spotted in https://github.com/flutter/flutter/issues/131182
2023-07-24 22:57:26 +00:00
skia-flutter-autoroll
cf6887fbc3 Roll Skia from 6c219acc30a5 to 4554d1b35b6e (4 revisions) (flutter/engine#43973)
https://skia.googlesource.com/skia.git/+log/6c219acc30a5..4554d1b35b6e

2023-07-24 jvanverth@google.com [graphite] Add ContextOption to set default MSAA samples.
2023-07-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 1de81d2a1fc2 to 2ca55949153a
2023-07-24 kjlubick@google.com Remove legacy SkMesh functions
2023-07-24 kjlubick@google.com Remove code guarded by SK_SUPPORT_LEGACY_STRIKE_SERIALIZATION

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,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-24 21:45:17 +00:00
Brandon DeRosier
5f3456773c [Impeller] Fix MatrixFilter multiplication ordering for subpasses. (flutter/engine#43943)
Resolves https://github.com/flutter/flutter/issues/130355.

When drawing a backdrop filter, we offset the backdrop entity with
`-local_pass_position` in order to align the backdrop texture with the
position of the pass it's being drawn to. When rendering the filter,
this transform propagates to the filter snapshot. Prior to this change,
that offset was being applied within the space of the backdrop filter's
matrix, which is wrong! It needs to be applied in screen space.

We didn't notice this prior to the coverage hint optimization because we
were previously forcing subpass sizes to match the parent whenever a
backdrop filter was present.

This one was very difficult to reason through at first, and so I added a
detailed comment to explain the rationale behind the behavioral
differences between the backdrop filter and non-backdrop filter cases of
the matrix filter.
2023-07-24 14:07:43 -07:00
Ann Marie Mossman
351ef7a0ce Replace deprecated [UIScreen mainScreen] in FlutterViewController.mm and FlutterViewControllerTest.mm (flutter/engine#43690)
Issue: https://github.com/flutter/flutter/issues/128260

## 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 Hixie said 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.
2023-07-24 13:29:27 -07:00
skia-flutter-autoroll
5118b659a9 Roll Skia from 99e8dc51ba53 to 6c219acc30a5 (4 revisions) (flutter/engine#43970)
https://skia.googlesource.com/skia.git/+log/99e8dc51ba53..6c219acc30a5

2023-07-24 jmbetancourt@google.com replace SlotManager return types with optional values
2023-07-24 robertphillips@google.com [graphite] Support textureSize queries prior to instantiation
2023-07-24 johnstiles@google.com Move SkEnumBitMask from src/core/ to src/base/.
2023-07-24 nicolettep@google.com [graphite] Implement ability to set and cache blend constants in Vulkan

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,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-24 20:03:21 +00:00
Ian Hickson
8125aa1d19 add ColorFilter.toString to web_ui (flutter/engine#43874) 2023-07-24 19:21:13 +00:00
skia-flutter-autoroll
06ec8b59de Roll ANGLE from 5e21d7f02425 to 2d999f744809 (1 revision) (flutter/engine#43968)
5e21d7f024..2d999f7448

2023-07-24 romanl@google.com Android: Add a way to prepare traces without running tests

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-flutter-engine
Please CC bdero@google.com,flutter-engine@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-24 19:16:14 +00:00
XuanTung95
3079f40c36 Fix missing dispose VirtualDisplayController (flutter/engine#43807)
VirtualDisplayController.dispose() is missing when dispose Android view.

*List which issues are fixed by this PR. You must list at least one
issue.*
https://github.com/flutter/flutter/issues/130870

## 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 Hixie said 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
[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

---------

Co-authored-by: John McCutchan <john@johnmccutchan.com>
2023-07-24 11:32:58 -07:00
Jonah Williams
79237f839b [Impeller] provide cull rect to Canvas in GL/Vulakn impeller backend. (flutter/engine#43961)
This was missing compared to the metal version. Doesn't matter on flutter/gallery but might matter elsewhere once platform views are working.
2023-07-24 18:15:52 +00:00
Brandon DeRosier
cf07a16665 [Impeller] Fix clip pipeline validation failure; add dedicated clip shaders. (flutter/engine#43946)
Turns out removing the color attachment is failing Metal validation on iOS due to the pipeline color attachments mismatching the framebuffer (even though it winds up rendering correctly).

So this patch replaces the mechanism with a better default config, including:
* dedicated shaders that are less expensive than Solid Fill
* destination blending

I'll take another swing at trying to get it to work if the iOS benchmarks pop back up a bit from this. For now, this fixes the validation failure and should make clips a tad faster on Vulkan and GLES.
2023-07-24 18:09:56 +00:00
skia-flutter-autoroll
151a22c371 Roll ANGLE from e28575f66ae5 to 5e21d7f02425 (4 revisions) (flutter/engine#43964)
e28575f66a..5e21d7f024

2023-07-24 i.nazarov@samsung.com Vulkan: Remove dead code
2023-07-24 geofflang@chromium.org Metal: Don't flush on eglBindTexImage.
2023-07-24 romanl@google.com Android.bp generation: vulkan-headers LICENSE.txt -> .md
2023-07-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 4a260c12b8c1 to 66d6b0dd0c39 (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/angle-flutter-engine
Please CC bdero@google.com,flutter-engine@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: http://anglebug.com/new
To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-24 17:59:47 +00:00
skia-flutter-autoroll
58b01e24fd Roll Skia from a56bc23bfec7 to 99e8dc51ba53 (5 revisions) (flutter/engine#43963)
https://skia.googlesource.com/skia.git/+log/a56bc23bfec7..99e8dc51ba53

2023-07-24 johnstiles@google.com Move SkBitmaskEnum out of include/private/.
2023-07-24 kjlubick@google.com Remove ganesh code from SkImageFilter_Base
2023-07-24 johnstiles@google.com Add accessor functions to Modifiers for readability.
2023-07-24 johnstiles@google.com Pack 4- and 8-stop gradient offsets into float4s.
2023-07-24 michaelludwig@google.com [graphite] Fix key generation for SkWorkingFormatColorFilter

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,michaelludwig@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-24 17:53:56 +00:00
Zachary Anderson
ef7a6e324b Revert "Remove more calls to SkCanvas::flush() and SkSurface::flush()" (flutter/engine#43957)
Reverts flutter/engine#43902

Speculative revert for Fuchsia tests that began failing/timing-out on
this commit:
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20Fuchsia%20FEMU/16871/overview
2023-07-24 09:09:51 -07:00
skia-flutter-autoroll
7e3b4cdfd6 Roll Fuchsia Linux SDK from A02P1GsGg001-Mpn3... to DOxjABQZ-mA_9Lllw... (flutter/engine#43953)
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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-24 13:30:23 +00:00
Kevin Lubick
ec84f26d46 Remove more calls to SkCanvas::flush() and SkSurface::flush() (flutter/engine#43902)
Skia has removed flushing from both
[SkCanvas](https://skia-review.googlesource.com/c/skia/+/716476) and
[SkSurface](https://skia-review.googlesource.com/c/skia/+/698237). This
migrates the calls to use GrDirectContext directly (or removing no-op
flushes for Raster canvases/surfaces).

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [ ] 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
[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
2023-07-24 08:54:25 -04:00