Commit Graph

31118 Commits

Author SHA1 Message Date
Hossein Yousefi
5409eadd3c Update comment const_finder.dart (flutter/engine#45180)
The arguments no longer seem to be all required and non-null. Updated the doc comment to reflect this.
2023-08-31 20:04:53 +00:00
Tong Mu
6207fce970 Replace an unnecessary util function with PostSync (flutter/engine#45190)
Fix an unnecessary util function that I created not knowing there's already `PostSync`.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-31 19:36:57 +00:00
skia-flutter-autoroll
2ca0d97895 Roll Skia from cda0cfaadfd7 to 8ff4fd208c26 (3 revisions) (flutter/engine#45337)
https://skia.googlesource.com/skia.git/+log/cda0cfaadfd7..8ff4fd208c26

2023-08-31 armansito@google.com [graphite][dawn] Enable compute unit tests on Dawn
2023-08-31 johnstiles@google.com Disallow `texture2D` without readonly/writeonly qualifier.
2023-08-31 johnstiles@google.com Change meaning of `texture2D` to refer to read-write textures.

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 19:23:09 +00:00
skia-flutter-autoroll
05ff4f8858 Roll Dart SDK from 0cea73a8d3c3 to ac3bc9f6351a (4 revisions) (flutter/engine#45336)
https://dart.googlesource.com/sdk.git/+log/0cea73a8d3c3..ac3bc9f6351a

2023-08-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-126.0.dev
2023-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-125.0.dev
2023-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-124.0.dev
2023-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-123.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 aaclarke@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://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-08-31 18:57:52 +00:00
Chris Bracken
9bf9453e26 [macOS] Link __availability_version_check (flutter/engine#45333)
Links in an implementation of _availability_version_check on macOS.                
This is required due to an upstream compiler builtin (runtime) change              
that marked this function as weakly-linked via `__attribute__((weak import))`   
As such, no linking failure occurs when the function is unavailable at             
link time.                                                                         
                                                                                   
By providing an implementation, the linker picks up our implementation,            
which looks up symbol in question at runtime (via dlsym) on the first              
invocation, caches it for later invocations, then invokes it. This is,             
in fact, precisely what the original clang builtin implementation did.             
                                                                                   
Upstream clang change: https://reviews.llvm.org/D150397                            
                                                                                   
Issue: https://github.com/flutter/flutter/issues/133777 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-31 18:41:00 +00:00
skia-flutter-autoroll
e2b30eb181 Roll Skia from 8c05d5103d6b to cda0cfaadfd7 (3 revisions) (flutter/engine#45334)
https://skia.googlesource.com/skia.git/+log/8c05d5103d6b..cda0cfaadfd7

2023-08-31 michaelludwig@google.com Further increase over-sampling in blurs
2023-08-31 johnstiles@google.com Eliminate makeSampler2D() intrinsic.
2023-08-31 armansito@google.com [graphite][dawn] Support encoding compute dispatch commands

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 18:36:03 +00:00
Zachary Anderson
b308156778 Adds an --rbe option to tools/gn that works on Linux hosts (flutter/engine#45271)
This PR lands changes to `tools/gn` to use Flutter's RBE instance
instead of Goma. It is initially supported only for builds from a Linux
host.

1. Authenticate with `gcloud`
```
engine/src$ ./buildtools/linux-x64/gcloud/bin/gcloud auth application-default login --disable-quota-project
```

2. GN
```
engine/src$ ./flutter/tools/gn --android --android-cpu arm64 --no-lto --runtime-mode debug --rbe
```

3. Build
```
engine/src$ ninja -C out/android_debug_arm64 -j200
```
2023-08-31 11:31:17 -07:00
Brian Osman
c11672e29a Migrate VK calls of GrBackend* (flutter/engine#45325)
In https://skia-review.googlesource.com/c/skia/+/742797 Skia refactored
GrBackend* to not require #ifdefs. This changes
callsites in Flutter to use static functions instead of methods that
were conditionally compiled on those classes.

There should be no functional change.
2023-08-31 14:15:17 -04:00
Zachary Anderson
a810a48372 Roll buildroot (flutter/engine#45329)
To pick up https://github.com/flutter/buildroot/pull/758
2023-08-31 10:51:33 -07:00
Zachary Anderson
aad0b0f680 Revert dl split (flutter/engine#45326)
Reverting for https://github.com/flutter/flutter/issues/133525
fixes: https://github.com/flutter/engine/pull/45326
2023-08-31 17:46:12 +00:00
skia-flutter-autoroll
b1164e4d05 Roll Skia from d113402de2ce to 8c05d5103d6b (4 revisions) (flutter/engine#45331)
https://skia.googlesource.com/skia.git/+log/d113402de2ce..8c05d5103d6b

2023-08-31 michaelludwig@google.com Add X11/xcb packages to install_dependencies.sh
2023-08-31 jvanverth@google.com [graphite] Remove GRAPHITE_TEST_UTILS from Recorder
2023-08-31 armansito@google.com [graphite][dawn] Introduce DawnComputePipeline
2023-08-31 penghuang@chromium.org Update EGL-Registry

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 17:39:22 +00:00
skia-flutter-autoroll
a9ffc23f70 Roll Skia from a295ff96782a to d113402de2ce (1 revision) (flutter/engine#45324)
https://skia.googlesource.com/skia.git/+log/a295ff96782a..d113402de2ce

2023-08-31 herb@google.com Implement the Bentley-Ottmann event queue

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 16:05:07 +00:00
skia-flutter-autoroll
4689031519 Roll Skia from a13a9d6efbbc to a295ff96782a (2 revisions) (flutter/engine#45321)
https://skia.googlesource.com/skia.git/+log/a13a9d6efbbc..a295ff96782a

2023-08-31 johnstiles@google.com Update Ganesh D3D to use combined sampler-textures.
2023-08-31 johnstiles@google.com Add layout(direct3d) flag.

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 15:21:05 +00:00
skia-flutter-autoroll
9d8bb7e81b Roll Skia from 47a7d27ceb93 to a13a9d6efbbc (2 revisions) (flutter/engine#45319)
https://skia.googlesource.com/skia.git/+log/47a7d27ceb93..a13a9d6efbbc

2023-08-31 kjlubick@google.com Misc IWYU cleanups
2023-08-31 penghuang@chromium.org Set dawn_egl_registry_dir for dawn

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 14:32:03 +00:00
skia-flutter-autoroll
82b9f3d220 Roll Skia from 1fae612aee7d to 47a7d27ceb93 (1 revision) (flutter/engine#45318)
https://skia.googlesource.com/skia.git/+log/1fae612aee7d..47a7d27ceb93

2023-08-31 robertphillips@google.com Remove Skia-internal uses of SkImage::makeWithFilter

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 13:42:22 +00:00
skia-flutter-autoroll
013e9c8fc1 Roll Skia from 5f17219305ff to 1fae612aee7d (1 revision) (flutter/engine#45317)
https://skia.googlesource.com/skia.git/+log/5f17219305ff..1fae612aee7d

2023-08-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0d228411886e to 557268622720 (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 09:51:37 +00:00
skia-flutter-autoroll
c0544e5a86 Roll Skia from 676a16152834 to 5f17219305ff (1 revision) (flutter/engine#45316)
https://skia.googlesource.com/skia.git/+log/676a16152834..5f17219305ff

2023-08-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 8b0af482db74 to 519d330c0d9f (9 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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 07:27:23 +00:00
skia-flutter-autoroll
e977470c86 Roll Fuchsia Mac SDK from gWpPuUyuR_hmz9Xmg... to 7sFO_YvenNXCm6TdK... (flutter/engine#45315)
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 aaclarke@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-08-31 06:47:15 +00:00
skia-flutter-autoroll
1d8c3db7ce Roll Skia from adaad6716b2c to 676a16152834 (1 revision) (flutter/engine#45314)
https://skia.googlesource.com/skia.git/+log/adaad6716b2c..676a16152834

2023-08-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 4d381b7718fd to 7bbf981003a2

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 06:33:23 +00:00
Matej Knopp
3cb8e82909 [macOS] Implement unobstructed platform views (flutter/engine#42960)
Fixes https://github.com/flutter/flutter/issues/129073

## Changes to Embedder API

Introduced `FlutterRegion` to represent arbitrary region:
```cpp
typedef struct {
  /// The size of this struct. Must be sizeof(FlutterRegion).
  size_t struct_size;
  /// Number of rectangles in the region.
  size_t rects_count;
  /// The rectangles that make up the region.
  FlutterRect* rects;
} FlutterRegion;
```

Note that this is identical to struct `FlutterDamage` with more generic
naming. Maybe down the line we could deprecate `FlutterDamage` and use
`FlutterRegion` instead.

Introduced `FlutterBackingStorePresentInfo`:
```cpp

typedef struct {
  size_t struct_size;

  /// The area of the backing store that contains Flutter contents. Pixels
  /// outside of this area are transparent and the embedder may choose not
  /// to render them. Coordinates are in physical pixels.
  FlutterRegion* paint_region;
} FlutterBackingStorePresentInfo;
```
In future this struct may also contain more precise hit test region
(when framework supports it) and/or information relevant to partial
repaint (buffer damage, frame damage).

Added a `backing_store_present_info` field to `FlutterLayer`:

```cpp
typedef struct {
  ...
  /// Extra information for the backing store that the embedder may
  /// use during presentation.
  FlutterBackingStorePresentInfo* backing_store_present_info;
} FlutterLayer;
```

## Changes to the macOS embedder

This PR adds support for `FLTEnableSurfaceDebugInfo` flag in main bundle
`Info.plist` that enables visual indicators of overlay layers.

## Example of unobstructed platform views


https://github.com/flutter/flutter/assets/96958/09a75eee-316b-4d53-a8b4-d6bb4e1e52f7

## 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
2023-08-31 08:02:29 +02:00
skia-flutter-autoroll
3c19ca33b4 Roll Skia from af7fb958e7f7 to adaad6716b2c (1 revision) (flutter/engine#45312)
https://skia.googlesource.com/skia.git/+log/af7fb958e7f7..adaad6716b2c

2023-08-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 3bbc85ea8f37 to 4d381b7718fd (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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 05:56:23 +00:00
skia-flutter-autoroll
e40a0a18e1 Roll Skia from 5f3ef5363dbd to af7fb958e7f7 (1 revision) (flutter/engine#45311)
https://skia.googlesource.com/skia.git/+log/5f3ef5363dbd..af7fb958e7f7

2023-08-31 armansito@google.com [graphite][dawn] Introduce error scope utility

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-31 03:16:37 +00:00
Jonah Williams
42f0f83acb [Impeller] CoverGeometry transforms its bounds. (flutter/engine#45308)
Thanks to @bdero 😎 

Fixes https://github.com/flutter/flutter/issues/132802
Fixes https://github.com/flutter/flutter/issues/123142

### Skia

![flutter_02](https://github.com/flutter/engine/assets/8975114/dfb46a22-8d37-40d3-8380-fe2ff3c46a36)

### Impeller

![flutter_01](https://github.com/flutter/engine/assets/8975114/353761b2-f883-4721-9a87-eb25e641ef2f)
2023-08-31 02:54:06 +00:00
Dan Field
ffa16ec08f [Impeller] Reland DlAiksCanvas (flutter/engine#45232)
Relands https://github.com/flutter/engine/pull/45131

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

Differences from last time:

- Some minor merge conflict fixes
- Use the RTree to get the bounds instead of recalculating the bounds
- Make the iOS platform view controller implementation use the impeller-aware slices instead of the display list ones. This has been fixed for Android and the desktop embedding, but I missed iOS. The unit tests weren't actually running before I branched for my PR, @zanderso fixed them up separately and this resulted in catching the failures on post submit last time.
2023-08-31 00:29:23 +00:00
Matan Lurey
293bca4e65 Add a build_bucket_golden_scraper tool. (flutter/engine#45243)
As discussed offline, this is best deleted when Skia-gold is used for
all of our engine tests.

However, this will be useful for unblocking some PRs until then :)

See README.md for details!
2023-08-30 17:26:01 -07:00
Matan Lurey
8a55ee5d07 Add a DlStopwatchVisualizer and conditionally use it for Impeller (flutter/engine#45259)
Closes https://github.com/flutter/flutter/issues/126009.

One major change, as-per @jonahwilliams's feedback, is that I created a helper class called `DlVertexPainter`, which provides a `DrawRect`-like API, but just builds a buffer of vertices, resulting into just a single:

```cc
// Actually draw.
canvas->DrawVertices(painter.IntoVertices(), DlBlendMode::kSrc, paint);
```

Also, added test for it, since there is no way to screenshot test to Impeller overlay yet.

# Impeller

![Screenshot 2023-08-30 at 2 08 51 PM](https://github.com/flutter/engine/assets/168174/13bb83a7-9a02-40ae-b9e4-d71a2e47b594)
2023-08-30 23:15:16 +00:00
skia-flutter-autoroll
1410d8beaa Roll Skia from 185fbe1a264d to 5f3ef5363dbd (9 revisions) (flutter/engine#45305)
https://skia.googlesource.com/skia.git/+log/185fbe1a264d..5f3ef5363dbd

2023-08-30 michaelludwig@google.com Experiment with over-looping blur kernels
2023-08-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 99e7ba4c04b8 to 0d228411886e (11 revisions)
2023-08-30 robertphillips@google.com Add SkImages::MakeWithFilter factories
2023-08-30 robertphillips@google.com Move MakeWithFilter_Shared to SkImageFilter_Base::makeImageWithFilter
2023-08-30 jvanverth@google.com [graphite] Reduce generated SkImage usage in testing code.
2023-08-30 johnstiles@google.com Remove SPIRVDawnCompatFlag from SkSL.
2023-08-30 johnstiles@google.com Enable WGSL when `--config grdawn` is used.
2023-08-30 penghuang@chromium.org Set dawn_opengl_registry_dir dawn build override
2023-08-30 johnstiles@google.com Rename layout(backend) qualifiers to APIs, not languages.

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 22:21:28 +00:00
Jackson Gardner
e9d2afd7d5 [web] Roll to most recent fallback font data (flutter/engine#45301) 2023-08-30 22:03:46 +00:00
Matan Lurey
b68134a74a Increase maximum length of function names from 30 to 60. (flutter/engine#45296)
Unblocks https://github.com/flutter/engine/pull/45243, which adds the function:

```py
def `gather_build_bucket_golden_scraper_tests`():
```
2023-08-30 20:24:03 +00:00
Jackson Gardner
c46824a2fa Add an API in ui_web to create a ui.Image from an ImageBitmap (flutter/engine#45256)
This API will help with situations in which the user has a browser
resource that they want to transform into a `ui.Image` and render
directly into the layer tree. Most browser resources can be converted to
an `ImageBitmap` via the `createImageBitmap` API.
2023-08-30 13:01:22 -07:00
Jason Simmons
204b2e9e9b [Impeller] Reorganize the glyph atlas to improve efficiency when looking up runs of glyphs in the same font (flutter/engine#45191)
The atlas will now store a separate map of glyph positions for each font/scale pair.  This avoids the cost of repeated hashing and copying of font objects for each glyph in a text run.

See https://github.com/flutter/flutter/issues/133201
2023-08-30 19:49:04 +00:00
skia-flutter-autoroll
deb3e06124 Roll Fuchsia Mac SDK from Y2xfuZM0ec5GQfHV8... to gWpPuUyuR_hmz9Xmg... (flutter/engine#45287)
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 aaclarke@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-08-30 18:08:14 +00:00
skia-flutter-autoroll
667cd94c00 Roll Skia from 7a246c9eb086 to 185fbe1a264d (3 revisions) (flutter/engine#45289)
https://skia.googlesource.com/skia.git/+log/7a246c9eb086..185fbe1a264d

2023-08-30 kjlubick@google.com Remove unused SkFuzzLogging and SkAutoTime
2023-08-30 lovisolo@google.com //go.mod: Update to go 1.18 (same as the Go version in //WORKSPACE.bazel).
2023-08-30 michaelludwig@google.com Revert "Exact loops for all 1D blur kernels"

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 17:56:04 +00:00
gaaclarke
abd01ab3c2 Revert "Roll Dart SDK from 0cea73a8d3c3 to 96d3a79547fc" (flutter/engine#45285)
reverts: https://github.com/flutter/engine/pull/45262

issue: https://github.com/flutter/flutter/issues/133677
2023-08-30 10:21:23 -07:00
skia-flutter-autoroll
a31b07c61e Roll Skia from 3489b6d1d613 to 7a246c9eb086 (4 revisions) (flutter/engine#45286)
https://skia.googlesource.com/skia.git/+log/3489b6d1d613..7a246c9eb086

2023-08-30 michaelludwig@google.com [skif] Fix small-sigma threshold on GPU blurs
2023-08-30 sosotsertsvadze2@gmail.com fix: When installing skia on Windows, using emsdk.py, the option --permanent is required for setting environment variables.
2023-08-30 johnstiles@google.com Remove obsolete setting 'fAllowTraceVarInDebugTrace'.
2023-08-30 robertphillips@google.com Call makeImageFunctor explicitly in MakeWithFilter_Shared

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 16:56:50 +00:00
skia-flutter-autoroll
a5444bc48b Roll Skia from a58ccf8ae398 to 3489b6d1d613 (2 revisions) (flutter/engine#45283)
https://skia.googlesource.com/skia.git/+log/a58ccf8ae398..3489b6d1d613

2023-08-30 cmumford@google.com [skottie]: put CanvasKit in expected directory
2023-08-30 michaelludwig@google.com Exact loops for all 1D blur kernels

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 16:07:56 +00:00
skia-flutter-autoroll
5093f62ab8 Roll Skia from 6f4fd97d2f7e to a58ccf8ae398 (1 revision) (flutter/engine#45280)
https://skia.googlesource.com/skia.git/+log/6f4fd97d2f7e..a58ccf8ae398

2023-08-30 robertphillips@google.com Replace onCreateFilterContext virtual with explicit Functor creation

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 14:02:06 +00:00
skia-flutter-autoroll
4eddcaee70 Roll Skia from a2728a7ad2a3 to 6f4fd97d2f7e (2 revisions) (flutter/engine#45278)
https://skia.googlesource.com/skia.git/+log/a2728a7ad2a3..6f4fd97d2f7e

2023-08-30 kjlubick@google.com Add external_client workspace for testing consuming Skia rules
2023-08-30 lovisolo@google.com [bazel] //gm/BazelGMRunner.cpp: Improve structure of output JSON files.

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 13:17:58 +00:00
skia-flutter-autoroll
f49a64b330 Roll Skia from 7492e29ad235 to a2728a7ad2a3 (1 revision) (flutter/engine#45273)
https://skia.googlesource.com/skia.git/+log/7492e29ad235..a2728a7ad2a3

2023-08-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 356ddfc69865 to 99e7ba4c04b8 (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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 08:12:50 +00:00
skia-flutter-autoroll
e5cda8a24e Roll Skia from 80f4d2f303d0 to 7492e29ad235 (1 revision) (flutter/engine#45272)
https://skia.googlesource.com/skia.git/+log/80f4d2f303d0..7492e29ad235

2023-08-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from d6fd7eafb2f7 to 8b0af482db74 (13 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 07:37:18 +00:00
skia-flutter-autoroll
eea341de87 Roll Skia from 03289b20b5d3 to 80f4d2f303d0 (1 revision) (flutter/engine#45270)
https://skia.googlesource.com/skia.git/+log/03289b20b5d3..80f4d2f303d0

2023-08-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 3bbc85ea8f37 to 02497261fadb

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 06:09:21 +00:00
skia-flutter-autoroll
a40e7ae926 Roll Dart SDK from 96d3a79547fc to 4352efd8497d (1 revision) (flutter/engine#45267)
https://dart.googlesource.com/sdk.git/+log/96d3a79547fc..4352efd8497d

2023-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-124.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 aaclarke@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://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-08-30 05:33:52 +00:00
skia-flutter-autoroll
6dae4050bc Roll Skia from fde9fe141863 to 03289b20b5d3 (1 revision) (flutter/engine#45268)
https://skia.googlesource.com/skia.git/+log/fde9fe141863..03289b20b5d3

2023-08-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from d779093a7a96 to 3bbc85ea8f37 (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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 05:32:14 +00:00
skia-flutter-autoroll
758eaf05e7 Roll Fuchsia Mac SDK from QKekosWnIY_ObKstn... to Y2xfuZM0ec5GQfHV8... (flutter/engine#45265)
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 aaclarke@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-08-30 04:44:05 +00:00
skia-flutter-autoroll
32f0709223 Roll Dart SDK from 0cea73a8d3c3 to 96d3a79547fc (1 revision) (flutter/engine#45262)
https://dart.googlesource.com/sdk.git/+log/0cea73a8d3c3..96d3a79547fc

2023-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-123.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 aaclarke@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://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-08-30 01:50:04 +00:00
Jonah Williams
732d38e0ae [Impeller] transform text path offsets so color sources match expected offsets for gradients. (flutter/engine#45255)
Gradient offsets are computed based on path offsets + gradient positions, so we need to shift the points instead of just adding a concat to the canvas. Fixes https://github.com/flutter/flutter/issues/132972

### Skia

![flutter_03](https://github.com/flutter/engine/assets/8975114/182dff72-cd48-4f97-a1e3-ea924f4a0eee)

### Impeller (No Patch)

![flutter_04](https://github.com/flutter/engine/assets/8975114/bb421d86-a588-49b9-879f-209738821898)

### Impeller (W/ Patch)

![flutter_05](https://github.com/flutter/engine/assets/8975114/f2d601b4-d15f-487b-aa65-a61bfc98bde9)
2023-08-30 01:30:59 +00:00
skia-flutter-autoroll
7a42143e0e Roll Skia from e6eb56d9b074 to fde9fe141863 (1 revision) (flutter/engine#45260)
https://skia.googlesource.com/skia.git/+log/e6eb56d9b074..fde9fe141863

2023-08-30 michaelludwig@google.com Combine texture effect creation for 1d and 2d blur cases

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-30 01:25:50 +00:00
Brandon DeRosier
4e8b7c4afa [Impeller] Document the capabilities. (flutter/engine#45253)
Add docstrings for the capabilities. Include examples/extra detail for the more confusing concepts.

Also renames a couple of capabilities for consistency with format terminology:
* SupportsDecalTileMode -> SupportsDecalSamplerAddressMode
* SupportsMemorylessTextures -> SupportsDeviceTransientTextures

PR is built on https://github.com/flutter/engine/pull/45240 (waiting for tree to reopen).
2023-08-29 23:42:56 +00:00
Xilai Zhang
d4b4f3e830 [flutter roll] Revert "ios: remove shared_application and support app extension build" (flutter/engine#45250)
Reverts flutter/engine#44732

context: b/297654739
Synced with Chris and the error message is related to the PR
2023-08-29 23:15:04 +00:00
skia-flutter-autoroll
0293da1f4c Roll Skia from 8a2754a1ae60 to e6eb56d9b074 (3 revisions) (flutter/engine#45248)
https://skia.googlesource.com/skia.git/+log/8a2754a1ae60..e6eb56d9b074

2023-08-29 johnstiles@google.com Add paint-params key info to Shaders pane in Viewer.
2023-08-29 lovisolo@google.com [bazel] bazel_test_gm.go task driver: Upload PNGs to Gold.
2023-08-29 robertphillips@google.com Split the skif::Context's Functors out into their own object

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 aaclarke@google.com,brianosman@google.com,jlavrova@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-08-29 23:09:44 +00:00