25110 Commits

Author SHA1 Message Date
skia-flutter-autoroll
261ebc4fdb Roll Dart SDK from 422e0bcdcf96 to feb35ba49cd7 (2 revisions) (flutter/engine#48839)
https://dart.googlesource.com/sdk.git/+log/422e0bcdcf96..feb35ba49cd7

2023-12-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-209.0.dev
2023-12-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-208.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 chinmaygarde@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
2023-12-08 19:29:12 +00:00
Zachary Anderson
ff0ecf88c5 Run full clang_tidy in presubmit (flutter/engine#48831)
I'm seeing post-submit runs of full clang_tidy taking about ~20-ish
minutes excluding queue time, so the premise of
https://github.com/flutter/flutter/issues/139769 may be incorrect. In
that case, we should re-enable full clang_tidy in presubmit and observe
any impacts to queue time.

Context is that the clang autoroll became unblocked and landed a roll
that passed clang_tidy checks in presubmit, but then failed in post
submit: https://github.com/flutter/engine/pull/48817
2023-12-08 10:00:14 -08:00
skia-flutter-autoroll
6ad3d04825 Roll Skia from 13c286972ea3 to e55567fceb5f (4 revisions) (flutter/engine#48834)
https://skia.googlesource.com/skia.git/+log/13c286972ea3..e55567fceb5f

2023-12-08 kjlubick@google.com Rename legacy Bazel targets in //modules
2023-12-08 johnstiles@google.com Ensure dm reports its progress at least every 4 seconds.
2023-12-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 9da917953470 to d4258544ceac (6 revisions)
2023-12-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from dc4b1acd4859 to b8ca8de43841 (4 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,chinmaygarde@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
2023-12-08 16:27:23 +00:00
skia-flutter-autoroll
00b054b86a Roll Dart SDK from 2c928cc12f94 to 422e0bcdcf96 (1 revision) (flutter/engine#48822)
https://dart.googlesource.com/sdk.git/+log/2c928cc12f94..422e0bcdcf96

2023-12-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-207.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 chinmaygarde@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
2023-12-08 15:32:51 +00:00
Jackson Gardner
3133e1fbca Add the flutter_js target as a dep to web_sdk. (flutter/engine#48814)
Currently, the `flutter_js` target is built as part of the flutter_web_sdk_archive target. However, it should also be built when doing the normal web_sdk, as that is what the monorepo builds (and does its own archiving).
2023-12-08 15:28:12 +00:00
skia-flutter-autoroll
404b3cdb1b Roll Dart SDK from be8a95b6717d to 2c928cc12f94 (6 revisions) (flutter/engine#48818)
https://dart.googlesource.com/sdk.git/+log/be8a95b6717d..2c928cc12f94

2023-12-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-206.0.dev
2023-12-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-205.0.dev
2023-12-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-204.0.dev
2023-12-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-203.0.dev
2023-12-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-202.0.dev
2023-12-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-201.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 chinmaygarde@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
2023-12-08 02:24:22 +00:00
gaaclarke
4124911784 [Impeller] implements new blur tile mode (flutter/engine#48805)
fixes https://github.com/flutter/flutter/issues/139165

## before

<img width="1027" alt="Screenshot 2023-12-07 at 2 18 42 PM"
src="https://github.com/flutter/engine/assets/30870216/606d7203-20d6-4efd-a788-2f539508a280">


## after

<img width="1026" alt="Screenshot 2023-12-07 at 2 14 39 PM"
src="https://github.com/flutter/engine/assets/30870216/8209b372-e477-4552-b4d1-2296b1e6d2d8">


## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-12-07 16:06:04 -08:00
skia-flutter-autoroll
c97bdcde90 Roll Skia from dd7e37c0e2bd to 9e89d96899f4 (2 revisions) (flutter/engine#48809)
https://skia.googlesource.com/skia.git/+log/dd7e37c0e2bd..9e89d96899f4

2023-12-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d5f6f7c34c83 to 9da917953470 (7 revisions)
2023-12-07 johnstiles@google.com Improve diagnostic text from NoDestructor.

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,chinmaygarde@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
2023-12-07 23:12:15 +00:00
skia-flutter-autoroll
91da8ecf7d Roll Skia from b541f668f531 to dd7e37c0e2bd (3 revisions) (flutter/engine#48804)
https://skia.googlesource.com/skia.git/+log/b541f668f531..dd7e37c0e2bd

2023-12-07 bungeman@google.com Fix spelling of MININUM
2023-12-07 nscobie@google.com Allow any exception to pass SkQP's SkSL error tests
2023-12-07 briansalomon@gmail.com Remove empty source list from shared_sources.gni

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,chinmaygarde@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
2023-12-07 22:21:41 +00:00
Jason Simmons
e1ddb5e7f6 Revert Dart SDK back to be8a95b6717d (flutter/engine#48799)
See https://github.com/flutter/flutter/issues/139755
2023-12-07 21:59:06 +00:00
Victoria Ashworth
31210e4a38 Retry when safaridriver fails (flutter/engine#48791)
Starting `safaridriver` is flakey sometimes on macOS 13. It will occasionally error with "Operation not permitted". As a workaround, if it fails with that message, retry starting `safaridriver`.

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

Example of fix on macOS 13 bot: https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20Engine%20Drone/564967/overview
Note: The test is still failing due to https://github.com/flutter/flutter/issues/136279, but you can see it first has error "Operation not permitted" and retries and connects on second attempt.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-07 21:55:06 +00:00
skia-flutter-autoroll
301283a2dd Roll Skia from f49ec3e6c1b1 to b541f668f531 (2 revisions) (flutter/engine#48796)
https://skia.googlesource.com/skia.git/+log/f49ec3e6c1b1..b541f668f531

2023-12-07 jvanverth@google.com [Vulkan] Allow push constants on Qualcomm devices.
2023-12-07 robertphillips@google.com [graphite] Allow 'tall_stretched_bitmaps' to run on the Dawn bots

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,chinmaygarde@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
2023-12-07 21:34:26 +00:00
Jason Simmons
09e12e0f51 Reland "Replace use of Fontmgr::RefDefault with explicit creation calls" (flutter/engine#48764)
Relands https://github.com/flutter/engine/pull/48571 with a patch that uses the directory-based SkFontMgr as a default font manager on Linux
2023-12-07 15:45:08 +00:00
skia-flutter-autoroll
76b315be4d Roll Skia from 308f3d9bef2c to af998f66ae73 (1 revision) (flutter/engine#48784)
https://skia.googlesource.com/skia.git/+log/308f3d9bef2c..af998f66ae73

2023-12-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from 945923e21457 to ffaff60d9659 (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@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
2023-12-07 15:12:49 +00:00
skia-flutter-autoroll
29c963f361 Roll Dart SDK from be8a95b6717d to 4b22e6430c20 (1 revision) (flutter/engine#48768)
https://dart.googlesource.com/sdk.git/+log/be8a95b6717d..4b22e6430c20

2023-12-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-201.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 chinmaygarde@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
2023-12-07 05:48:20 +00:00
skia-flutter-autoroll
7227929e66 Roll Skia from 8ebf43ba1c09 to dbcf508d1dce (1 revision) (flutter/engine#48766)
https://skia.googlesource.com/skia.git/+log/8ebf43ba1c09..dbcf508d1dce

2023-12-07 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll skcms from 529510fe003a to 945923e21457 (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@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
2023-12-07 05:00:22 +00:00
Jason Simmons
6f48ab3443 Revert "Replace use of Fontmgr::RefDefault with explicit creation calls" (flutter/engine#48755)
This reverts commit d5d8b5de90f40644f23d309c0f68d03e299334eb.

The flutter/tests/skp_generator test (running in flutter_tester on
Linux) was failing, along with some customer tests.
2023-12-06 17:50:14 -08:00
skia-flutter-autoroll
e0f9af8da2 Roll Skia from 2abb01e18ab3 to 8ebf43ba1c09 (1 revision) (flutter/engine#48761)
https://skia.googlesource.com/skia.git/+log/2abb01e18ab3..8ebf43ba1c09

2023-12-07 contact@omeid.me Implement onMatchFamilyStyle for SkParagraph.

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,chinmaygarde@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
2023-12-07 01:50:04 +00:00
godofredoc
3551cb7ac6 Remove obsolete properties. (flutter/engine#48753)
These properties were used within recipes to generate the gn and ninja commands for the different platforms. With V2 gn commands and its properties are set explicitly and the properties are not required anymore.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-06 22:55:04 +00:00
skia-flutter-autoroll
d9e59a5f9f Roll Skia from 326bdc97ac40 to 570103e08087 (1 revision) (flutter/engine#48746)
https://skia.googlesource.com/skia.git/+log/326bdc97ac40..570103e08087

2023-12-06 ccameron@chromium.org SkCGUtils: Fix color space usage

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,chinmaygarde@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
2023-12-06 20:17:53 +00:00
Jonah Williams
8b54eb6bf5 [Impeller] Store Buffer/Texture bindings in vector instead of map. (flutter/engine#48719)
Places the binding data in a vector, since they key was only meaningful on metal but not used anywhere. I don't think that we need to specificially handle the case where our own contents bind the same contents multiple times, but interested to discuss if folks disagree.
2023-12-06 19:32:41 +00:00
skia-flutter-autoroll
a75c76e6ec Roll Skia from 33cba437bf70 to 326bdc97ac40 (2 revisions) (flutter/engine#48743)
https://skia.googlesource.com/skia.git/+log/33cba437bf70..326bdc97ac40

2023-12-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from bebb07797be7 to c890c27e81bc
2023-12-06 jvanverth@google.com [GL] Add Apple Silicon support and fix transfer alignment issue.

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,chinmaygarde@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
2023-12-06 19:28:22 +00:00
Jason Simmons
2de054c92a [Impeller] Provide the clear color to an advanced blend if it was optimized out (flutter/engine#48646)
If all previous elements were skipped due to clear color optimization,
then the clear color must be rendered as an input to the advanced blend
if framebuffer fetch is not available.
2023-12-06 10:46:22 -08:00
Loïc Sharma
ea34df3c56 [Windows] Set swap interval on raster thread after startup (flutter/engine#47787)
The EGL context can only be used by a single thread at a time. Currently:

1. The platform thread uses the EGL context to configure the render surface when a `FlutterViewController` is created
2. The raster thread uses the EGL context to render

In a multi-view world, a `FlutterViewController` can be created in parallel to a rendering operation. This results in multiple threads attempting to use the EGL context in parallel, which can crash (see https://github.com/flutter/flutter/issues/137973).

This change configures the render surface on the raster thread if the raster thread exists (aka the engine is running).

Addresses https://github.com/flutter/flutter/issues/137973

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-06 18:44:17 +00:00
Loïc Sharma
6c6f23360c [Windows] Refactor the GLES proc table (flutter/engine#48688)
GLES functions are resolved at runtime. This refactors how these functions are stored by introducing the `GlProcTable` abstraction.

This is a step towards switching the Windows embedder to `FlutterCompositor` rendering as the present callback will use the `GlProcTable` to render OpenGL backing stores.
 
Part of https://github.com/flutter/flutter/issues/128904

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-06 18:19:36 +00:00
Kevin Lubick
d5d8b5de90 Replace use of Fontmgr::RefDefault with explicit creation calls (flutter/engine#48571)
In https://g-issues.skia.org/issues/305780908 Skia is removing the
default SkFontMgr. Previous work consolidated all references to
txt/platform.h and this replaces those last references. I attempted to
mirror the existing functionality, which still responds to GN flags and
the target platform.

After this PR, Flutter should not be depending on the default fontmgr
(and the defines in flutter_defines.gni) will maintain that behavior
until the legacy functions/methods are deleted from Skia. There were a
few tests that I missed on an earlier PR which relied on the default
font (helper added in #47493). These tests were failing because they
were making some assertions related to TextBlobs, which didn't work if
the (now-empty) Typeface they loaded had no glyphs. Thus, I added a few
extra asserts to make sure these textblobs *had* glyphs which make the
failing tests less mysterious, should this issue crop up again.

I cleaned up Flutter's BUILD.gn file for Skia a bit, deleting unused
targets related to the font managers. This involved fixing an implicit
dependency from //third_party/glfw/ to `Gdi32.lib` on Windows.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-12-06 13:02:34 -05:00
Jonah Williams
9eb8dc90f3 [Impeller] disable entity culling by default. (flutter/engine#48717)
From local testing across both flutter galleries, wonderous, some other test apps, the only time this code successfully culls is during the stretch overscroll (and we cull 1 or so entries). The cost of this culling is approximately 20% of entity rendering time, and about 5% of overall raster time.

![image](https://github.com/flutter/engine/assets/8975114/ef85629c-48a8-457f-8385-0c8136404571)
2023-12-06 18:00:07 +00:00
skia-flutter-autoroll
a84b6362ed Roll Skia from 12dffa893c2a to 23e1cb20a6b5 (1 revision) (flutter/engine#48737)
https://skia.googlesource.com/skia.git/+log/12dffa893c2a..23e1cb20a6b5

2023-12-06 briansalomon@gmail.com [graphite] Externalize the use of Asyncify to yield in WASM builds.

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,chinmaygarde@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
2023-12-06 17:02:59 +00:00
skia-flutter-autoroll
909857fc6f Roll Dart SDK from 691e4650ce91 to 6eb13603c212 (1 revision) (flutter/engine#48736)
https://dart.googlesource.com/sdk.git/+log/691e4650ce91..6eb13603c212

2023-12-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-198.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 chinmaygarde@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
2023-12-06 16:28:49 +00:00
skia-flutter-autoroll
e727de502f Roll Skia from afa75c6cf697 to 12dffa893c2a (1 revision) (flutter/engine#48732)
https://skia.googlesource.com/skia.git/+log/afa75c6cf697..12dffa893c2a

2023-12-06 jvanverth@google.com [graphite] Flush all tracked devices when invalidating PathAtlas.

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,chinmaygarde@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
2023-12-06 15:22:12 +00:00
skia-flutter-autoroll
a5f544daf7 Roll Dart SDK from d8efef525ce1 to c3bd23e62ece (1 revision) (flutter/engine#48710)
https://dart.googlesource.com/sdk.git/+log/d8efef525ce1..c3bd23e62ece

2023-12-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-195.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 chinmaygarde@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
2023-12-06 01:35:38 +00:00
Jonah Williams
82a8b5ddcf [Impeller] Vulkan framebuffer fetch via VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS (flutter/engine#48458)
Support framebuffer fetch on devices that have the extension VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS which gives us a fairly easy way to add subpass self dependencies.

Part of https://github.com/flutter/flutter/issues/120223
2023-12-06 00:55:59 +00:00
godofredoc
4431b52677 Remove fuchsia v1 builder. (flutter/engine#48703)
The recipe has been deleted and the build is failing with an infrastructure failure.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-06 00:52:18 +00:00
Jason Simmons
d0ae28c407 [Impeller] Declare specialization constants as floats. (flutter/engine#48644)
This provides more flexibility and works around issues seen when using int constants in GLSL on some devices.

Fixes https://github.com/flutter/flutter/issues/139408
2023-12-05 23:16:19 +00:00
Drew Roen
fd679d8a87 Fix labeler not actually doing any labeling (flutter/engine#48701)
https://github.com/flutter/flutter/issues/139511

The initial formatting that landed just prevented it from failing, but it turns out the new format is completely overhauled.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-05 23:10:27 +00:00
Dan Field
55b16dce91 Roll abseil to d07bb1bc8e59b37204d457ee365b52b0d11feec0 (flutter/engine#48700)
And rolls buildroot to include https://github.com/flutter/buildroot/pull/796
2023-12-05 23:07:40 +00:00
Chinmay Garde
4a1f8fa2f3 Avoid non-const sizes in VLAs. (flutter/engine#48693)
I was shocked this was even legal earlier. But a new Clang roll makes this an a warning which gets converted into an error.

I attempted to roll to the Clang roll the roller did and fixed the issues I found. Hopefully, the next roll is unblocked.

Original failure: https://github.com/flutter/engine/pull/48563
2023-12-05 21:11:23 +00:00
Jonah Williams
8aeac570ad [Impeller] Prefer moving vertex buffer, place on command instead of binding object. (flutter/engine#48630)
Placing the vertex buffer on the binding object meant that we were actually paying 2x the size cost for it (one for vertex bindings, one for fragment bindings). By moving this object onto command itself, we reduce the size and avoid spliting up the command state in a weird way.

Also updates most of the contents to prefer moving the VertexBuffer.
2023-12-05 21:02:52 +00:00
skia-flutter-autoroll
bd05c7a5d3 Roll Skia from c759bbf16310 to 5f54e9f84cff (3 revisions) (flutter/engine#48692)
https://skia.googlesource.com/skia.git/+log/c759bbf16310..5f54e9f84cff

2023-12-05 nicolettep@google.com Allow undefined format from Android format properties and ability to fallback to importing as external
2023-12-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 22e8aaa6d073 to a942c7f6d834 (7 revisions)
2023-12-05 kjlubick@google.com Add empty file to appease Chrome roll

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,chinmaygarde@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
2023-12-05 20:58:08 +00:00
skia-flutter-autoroll
ddfa4dbfec Roll Skia from c0ad3e9bdec0 to c759bbf16310 (1 revision) (flutter/engine#48689)
https://skia.googlesource.com/skia.git/+log/c0ad3e9bdec0..c759bbf16310

2023-12-05 briansalomon@gmail.com [graphite] Test Dawn with no yield context 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,chinmaygarde@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
2023-12-05 19:15:02 +00:00
Jonny Wang
8a83072ebc A11y enabled state (flutter/engine#48653)
Sets enabled state in Fuchsia a11y via the accessibility bridge.

This was added in Fuchsia API v15, which Flutter is updated to use after
#48233.

b/261482081

## 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.
2023-12-05 18:17:28 +00:00
skia-flutter-autoroll
9518a0f00a Roll Skia from bf1db1c75704 to c0ad3e9bdec0 (1 revision) (flutter/engine#48685)
https://skia.googlesource.com/skia.git/+log/bf1db1c75704..c0ad3e9bdec0

2023-12-05 michaelludwig@google.com Stage auto-expansion behavior of kInitFromPrevious SaveLayerFlag

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,chinmaygarde@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
2023-12-05 18:07:46 +00:00
gaaclarke
f12907a9e6 [Impeller] started taking into account integer gaps in blur sigma, turned on linear filter (flutter/engine#48651)
A tiny tweak that should be better math since the sigma will scale based on the actual scale amount considering we have to scale down to discrete boundaries for the downsampled texture.  I also turned on linear sampling while I was at it to try to calm down the jitters.  I think it looks better at small sigmas.

test: This is covered by existing golden tests (when we turn this on).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-05 18:06:06 +00:00
skia-flutter-autoroll
8b00d858e2 Roll Dart SDK from 21574eae3a69 to 8bfec2c7ed43 (2 revisions) (flutter/engine#48683)
https://dart.googlesource.com/sdk.git/+log/21574eae3a69..8bfec2c7ed43

2023-12-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-193.0.dev
2023-12-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-192.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 chinmaygarde@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
2023-12-05 17:39:56 +00:00
Drew Roen
3e22b9fac9 Update labeler to 5.0.0, fix yaml format for labeler 5.0.0 (flutter/engine#48682)
* Manually roll labeler action to 5.0.0
* Fix formatting to match `labeler.yml` requirements for 5.0.0

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-05 17:37:53 +00:00
Jonah Williams
18f1229cfe [Impeller] Make Entity move only, simplify construction of geometry/filter contents. (flutter/engine#48596)
Redo of https://github.com/flutter/engine/pull/48585

Removes the Copy constructor of Entity, adds a clone method. Allows us to ensure that we move entity into the entity pass without using rvalue reference parameters

Fixes https://github.com/flutter/flutter/issues/139569
2023-12-05 17:22:49 +00:00
Jonah Williams
7bad7a0150 [Impeller] Delete tessellation control/eval shader support. (flutter/engine#48649)
We have no plans to ever use these for anything.
2023-12-05 17:11:11 +00:00
skia-flutter-autoroll
210ec33b64 Roll Skia from 7901100ba2d9 to bf1db1c75704 (2 revisions) (flutter/engine#48680)
https://skia.googlesource.com/skia.git/+log/7901100ba2d9..bf1db1c75704

2023-12-05 kjlubick@google.com Move SkWGL out of src/utils
2023-12-05 olv@google.com [ganesh] Add VK_FORMAT_B8G8R8A8_UNORM / kRGB_888x combo

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,chinmaygarde@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
2023-12-05 16:57:23 +00:00
Jonah Williams
5fd638eaa9 [Impeller] Render emoji shadows with correct colors. (flutter/engine#48593)
Fixes https://github.com/flutter/flutter/issues/138819

Emoji glyphs normally ignore their text color (except for alpha channel). Text shadows are created by rendering the font with the shadow color as the text color and then applying a blur. If this is done to an emoji, we need to apply the text color so that the shadow has the correct color.
2023-12-05 16:09:06 +00:00
Jonah Williams
4fae86b741 [Impeller] Document what some of this shader metadata is. (flutter/engine#48647)
ext_res_0 ?!! its just `binding` but for Metal.
2023-12-05 16:03:07 +00:00