31145 Commits

Author SHA1 Message Date
Matan Lurey
a330c4ff97 Update (flipping the default from false -> true) and deprecate Paint.enableDithering. (flutter/engine#44705)
Update: Blocked on https://github.com/flutter/engine/pull/44912 landing,
and merging into google3.

---

Partial work towards https://github.com/flutter/flutter/issues/112498.

_**tl;dr**: In Impeller's backend we intend to _always_ dither
gradients, and never allow any changes long-term (i.e., write your own
shader if you want different behavior) with the assumption that dithered
gradients look better most of the time, and don't typically hurt
elsewhere._

Note that, at the time of this writing, I couldn't find a single case of
this being set explicitly to `true` inside Google, and there are between
[100 and 200 publicly accessible on
GitHub](https://github.com/search?q=%22Paint.enableDithering%22+language%3ADart&type=code&l=Dart),
of which virtually all are setting it explicitly to `true`.

There are some (valid) concerns this would cause a lot of golden-file
image diffs, so I'm going to seek explicit approval from the Google
testing team as well as someone from the framework team before landing
this commit.
2023-09-01 10:19:59 -07:00
Jonah Williams
baa288096b [Impeller] EntityPass::Clone needs to clone harder (flutter/engine#45313)
Fixes https://github.com/flutter/flutter/issues/133731
2023-09-01 17:19:03 +00:00
Chris Yang
b3fc48b91b Reland "ios: remove shared_application and support app extension build #44732" (flutter/engine#45351)
Relands https://github.com/flutter/engine/pull/44732 with fix. 

The original PR returns nil when the assets is not reachable, in some cases, the assets are not loaded yet but will be loaded later, so we should return the asset URL regardless. 

Also added a fallback to main bundle to match the previous implementation. 

The original PR was failed in internal tests in b/297654739
Now with the fix, all tests passed: cl/561449914

fixes https://github.com/flutter/flutter/issues/124289

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-01 16:56:49 +00:00
skia-flutter-autoroll
67c3c25948 Roll ICU from de4ce0071eb4 to 985b9a6f70e1 (2 revisions) (flutter/engine#45382)
de4ce0071e..985b9a6f70

2023-08-30 ftang@chromium.org Fix double free during OOM
2023-08-30 andreaorru@chromium.org Include icudtl.dat.hash in runtime_deps

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

To file a bug in ICU: https://github.com/unicode-org/icu
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-09-01 16:20:43 +00:00
Brian Osman
19d37a310c Migrate Fuchsia VK calls of GrBackend* (flutter/engine#45380)
Follow-up to https://github.com/flutter/engine/pull/45325

No functional change.
2023-09-01 15:41:43 +00:00
skia-flutter-autoroll
9d90b18967 Roll Skia from 4eb9b17d8e84 to d6266ef14a7e (1 revision) (flutter/engine#45376)
https://skia.googlesource.com/skia.git/+log/4eb9b17d8e84..d6266ef14a7e

2023-09-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 90907540b014 to 15007d22798e (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 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-09-01 14:19:55 +00:00
skia-flutter-autoroll
73970f418a Roll Fuchsia Mac SDK from _x3hf702RacYnw3E6... to sk7JBGzW1Jw10Wy-T... (flutter/engine#45372)
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-09-01 10:12:07 +00:00
Bruno Leroux
1dc91d901e [Linux] Fix channel buffers control commands error handling (flutter/engine#45056)
## Description

This PR fixes a mistake I made on https://github.com/flutter/engine/pull/44636 where the error handling code wrongly relied on `fl_method_channel_invoke_method_finish` instead of  `fl_binary_messenger_send_on_channel_finish`.
The error handling code was not called when running the tests added in https://github.com/flutter/engine/pull/44636 so this mistake did not pop up.

@robert-ancell I added a test that simulates an error response and I had to rely on `g_idle_add` to make it works. Is this approach ok?

## Related Issue

Linux implementation for https://github.com/flutter/flutter/issues/132386

## Tests

Adds one test.
2023-09-01 07:40:25 +00:00
skia-flutter-autoroll
8a374e0c30 Roll Skia from 6d95a1db276d to 4eb9b17d8e84 (1 revision) (flutter/engine#45369)
https://skia.googlesource.com/skia.git/+log/6d95a1db276d..4eb9b17d8e84

2023-09-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 519d330c0d9f to 7c3c7b7b9f01 (15 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-09-01 07:27:19 +00:00
skia-flutter-autoroll
0d018f19c1 Roll Skia from 2916365d0fa6 to 6d95a1db276d (1 revision) (flutter/engine#45368)
https://skia.googlesource.com/skia.git/+log/2916365d0fa6..6d95a1db276d

2023-09-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 2b76b0e00861 to 0432703c10fc

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-09-01 06:13:04 +00:00
skia-flutter-autoroll
47242f91e0 Roll Skia from e585fdc18134 to 2916365d0fa6 (1 revision) (flutter/engine#45366)
https://skia.googlesource.com/skia.git/+log/e585fdc18134..2916365d0fa6

2023-09-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 4d381b7718fd to 2b76b0e00861 (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 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-09-01 05:29:47 +00:00
Jonah Williams
bad97b052b [Impeller] use correct blend mode for performance overlay (flutter/engine#45365)
Man this is a sharp 🔪 

I literally pointed this out in the review and failed to notice the wrong parameter had the blend mode.
2023-09-01 03:47:52 +00:00
skia-flutter-autoroll
83ece1f3e3 Roll Skia from 818f20f3f653 to e585fdc18134 (1 revision) (flutter/engine#45363)
https://skia.googlesource.com/skia.git/+log/818f20f3f653..e585fdc18134

2023-09-01 michaelludwig@google.com [skif] Implement BlurImageFunctor for Graphite

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-09-01 02:25:57 +00:00
skia-flutter-autoroll
748ef893b0 Roll Dart SDK from 9f9bd8cddfb0 to 0c121a6431cc (1 revision) (flutter/engine#45362)
https://dart.googlesource.com/sdk.git/+log/9f9bd8cddfb0..0c121a6431cc

2023-09-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-128.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-09-01 02:22:47 +00:00
Brandon DeRosier
ada39247de Bump impeller-cmake-example to head (flutter/engine#45359)
142507046e
2023-08-31 18:47:04 -07:00
Jonah Williams
ff37fcdf5a [Impeller] copy data out of DlVertices. (flutter/engine#45355)
The implementation of DLVerticesGeometry is holding onto a raw ptr that it doesn't own nor does it know that the lifecycle is deterministic. My bad!

This mostly worked (ehhh) until the stopwatch visualizer change. I've confirmed that going back to copying the data fixes the issue with the stopwatch visualizer.
2023-08-31 23:58:04 +00:00
skia-flutter-autoroll
8d106930d6 Roll Skia from e1b27dcecd0a to 818f20f3f653 (2 revisions) (flutter/engine#45353)
https://skia.googlesource.com/skia.git/+log/e1b27dcecd0a..818f20f3f653

2023-08-31 robertphillips@google.com Check for a valid ProxyCache in ResourceCache::purgeResources
2023-08-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 557268622720 to 90907540b014 (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 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 22:59:18 +00:00
Stephen Adams
182847ec84 [web] More efficient fallback font selection (flutter/engine#44526)
The PR improves the code size and runtime performance of fallback font selection.

### Performance improvements

Initialization of the data structures to support fallback font selection has been moved from creating the FallbackFontManager (first frame) to the first use, i.e. the first frame actually needing a fallback font.

The numbers reported below are for a lightly edited version of the counter demo that appends to the counter about ~300 missing code points that need ~25 fallback fonts to cover the missing code points. Timings taken from a few profiles on my performance workstation.

|  |  Before | After  | 
| --- | ---: | ---: |
| FallbackFontManager() |~100ms | <2ms |
| First need | 0ms | 12ms |
| Subsequent need | 20-30ms | <1ms |

### Size improvements

|  |  Before | After  | Δ |
| --- | ---: | ---: | ---: |
| main.dart.js | 1586405 | 1477319 | -109086 (-6.87%) |
| brotli -9 | 427304 | 401611 | -25693 (-6.01%) |

### Algorithm notes

#### Startup

The old algorithm built an interval tree from the code point ranges of the ~140 fallback fonts and uses the interval tree to build a list of fonts that support each missing code point. The new algorithm uses a binary search map that directly produces the list of fonts. There are fewer binary search ranges (~22k) than the aggregate ranges for all the fonts (~26k).
Most of the startup time gain comes from using a data unpacks directly into a useful form rather than needing processing to build an interval tree (~12ms vs ~100ms).

#### Running

The runtime for font selection is greatly improved for several reasons

- The code point space is partitioned into components so that code point counting can be batched.
- When a font is selected, the counts are updated incrementally rather than being recomputed.
- The counts are held in fields of the NotoFont and component objects rather than in Maps or Sets.

Batching, incremental update and avoiding hash tables are roughly multiplicative in effect.

## Issues

- https://github.com/flutter/flutter/issues/131440

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-31 22:42:20 +00:00
skia-flutter-autoroll
67184abb6e Roll Dart SDK from ac3bc9f6351a to 9f9bd8cddfb0 (1 revision) (flutter/engine#45352)
https://dart.googlesource.com/sdk.git/+log/ac3bc9f6351a..9f9bd8cddfb0

2023-08-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-127.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 22:38:06 +00:00
skia-flutter-autoroll
f6dca9d82b Roll Skia from bf6b239838d3 to e1b27dcecd0a (1 revision) (flutter/engine#45349)
https://skia.googlesource.com/skia.git/+log/bf6b239838d3..e1b27dcecd0a

2023-08-31 bungeman@google.com Roll HarfBuzz from f380a328 to 4cfc6d8e (4 commits)

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 22:11:51 +00:00
Ian Hickson
4366aa7092 Avoid saying exactly who can give test exemptions (flutter/engine#45343) 2023-08-31 21:46:04 +00:00
skia-flutter-autoroll
fe90f70cea Roll Skia from 5d08dadd2ef4 to bf6b239838d3 (1 revision) (flutter/engine#45344)
https://skia.googlesource.com/skia.git/+log/5d08dadd2ef4..bf6b239838d3

2023-08-31 brianosman@google.com Fix more legacy Vk GrBackendSurface constructor 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 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 21:37:01 +00:00
skia-flutter-autoroll
04debdb01d Roll Fuchsia Mac SDK from 7sFO_YvenNXCm6TdK... to _x3hf702RacYnw3E6... (flutter/engine#45348)
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 21:35:09 +00:00
Zachary Anderson
a5bc143d64 Revert "Reland "Build iOS unittest target in unopt builds" (#44356)"" (flutter/engine#45346)
Reverts flutter/engine#44821

clang-tidy failures
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20Production%20Engine%20Drone/137227/overview
2023-08-31 14:05:21 -07:00
Jim Graham
8cbaba6a03 Lazily allocate RasterCacheItems only when caching is enabled (flutter/engine#45211)
Fixes https://github.com/flutter/flutter/issues/133377

The default allocation of RasterCacheItems in the layer tree was showing up in profiles of apps running on Impeller which don't actually use the raster cache.

In order to eliminate the overhead of those allocations, RasterCacheItems are now lazily allocated only when the layers encounter an actual raster_cache during the Preroll phase.
2023-08-31 20:32:06 +00:00
skia-flutter-autoroll
e92e5cd6a9 Roll Skia from 8ff4fd208c26 to 5d08dadd2ef4 (3 revisions) (flutter/engine#45340)
https://skia.googlesource.com/skia.git/+log/8ff4fd208c26..5d08dadd2ef4

2023-08-31 jvanverth@google.com Revert "[graphite] Remove GRAPHITE_TEST_UTILS from Recorder"
2023-08-31 robertphillips@google.com Add missing SK_API to Raster MakeWithFilter declaration
2023-08-31 kjlubick@google.com Add DateTime alias to SkPDFDocument

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 20:10:49 +00:00
Chris Yang
238fda902d Reland "Build iOS unittest target in unopt builds" (#44356)" (flutter/engine#44821)
Relands https://github.com/flutter/engine/pull/44301

The original PR was reverted in https://github.com/flutter/engine/pull/44356

The `assert flutter_dylib_time <= ios_test_lib_time, final_message` check is reverted in 0d8aebd040, so we are safe to land this again. 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-31 20:05:34 +00:00
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