26254 Commits

Author SHA1 Message Date
skia-flutter-autoroll
690259fcea Roll Skia from 3b0b79511469 to 8feb4b6a4aa6 (18 revisions) (flutter/engine#51305)
https://skia.googlesource.com/skia.git/+log/3b0b79511469..8feb4b6a4aa6

2024-03-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 886dbf1a5a87 to 912fc2090a1b
2024-03-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from fa4c93a17fe6 to b440ca2fa89c (1 revision)
2024-03-08 bungeman@google.com Remove SkScalerContextFTUtils::drawCOLRv1Glyph assert
2024-03-08 nscobie@google.com Experimenting with OWNERS.android rules for SkUserConfig.h files
2024-03-08 jvanverth@google.com [graphite] Add limited resource test for PathAtlases.
2024-03-08 robertphillips@google.com [graphite] Add Android precompile code path
2024-03-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3d5581c920a3 to 563dc550e3e6 (5 revisions)
2024-03-08 bungeman@google.com Add --fontations flag to test Fontations
2024-03-08 robertphillips@google.com Actually propagate the stable key to the blur runtime effects
2024-03-08 mike@reedtribe.org Reapply "factor out SkCTFontCreateExactCopy into its own file(s)"
2024-03-08 jvanverth@google.com [graphite] Disable MSAA support on Mac Intel devices.
2024-03-08 kjlubick@google.com Reland "Fix debugger bazel build"
2024-03-08 fmalita@chromium.org [dm] Skip empty sources
2024-03-08 kjlubick@google.com Remove some dead code guarded by legacy defines
2024-03-08 lovisolo@google.com [bazel] Fix //tools/viewer.
2024-03-08 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 00ea56c88561 to 055af5b4a051 (4 revisions)
2024-03-08 robertphillips@google.com Final batch of StableKeys ...
2024-03-08 robertphillips@google.com Revert "factor out SkCTFontCreateExactCopy into its own file(s)"

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,herb@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 Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-09 03:23:16 +00:00
skia-flutter-autoroll
388e358166 Manual roll Dart SDK from 4c64fcc134bf to b52b754d5d3e (6 revisions) (flutter/engine#51304)
Manual roll requested by zra@google.com

https://dart.googlesource.com/sdk.git/+log/4c64fcc134bf..b52b754d5d3e

2024-03-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-218.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-217.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-216.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-215.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-214.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-213.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-09 03:21:13 +00:00
Chinmay Garde
dfb7d84ab8 [Impeller] Use the AHB prefix for utils that work with Android Hardware Buffers. (flutter/engine#51298)
Also doesn't compile the TU on non-Android platforms.

Part of https://github.com/flutter/engine/pull/51213 being chopped up.

No change in functionality. Just renames and moves stuff around.
2024-03-09 00:52:25 +00:00
Chinmay Garde
fcba196886 [Impeller] Make DeviceHolder follow convention for backend specific utilities. (flutter/engine#51300)
Utilities below the HAL that are backend specific have the VK (in case of Vulkan) suffix. The only class that doesn't follow this convention is/was DeviceHolder. This caused some confusion when reading code leading to wondering what a device holder above the HAL was supposed to do/mean. Adds the VK suffix to device holder with a docstring. Also adds the file the source set as it was missing.

No change in functionality. Just a rename of an existing class.
2024-03-09 00:28:46 +00:00
gaaclarke
b220a37102 [Impeller] implement mask blur for textures (flutter/engine#51183)
fixes https://github.com/flutter/flutter/issues/144266

## 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
2024-03-08 15:58:03 -08:00
Zachary Anderson
286169bb52 Don't rely on dart binary on PATH in run_test.py (flutter/engine#51302) 2024-03-08 23:49:32 +00:00
Juanjo Tugores
976d528d71 Mark the Flutter Views as focusable by setting a tabindex value. (flutter/engine#50876)
Mark the Flutter View as focusable by setting a tabindex value.

* When a given flutter view is focused its tabindex will be `-1`
* When a given flutter view is not focused its tabindex will be `0`
* When semantics are enabled no tabindex will be set.

Relevant Issues are:

* Design doc: https://flutter.dev/go/focus-management 
* Focus in web multiview: https://github.com/flutter/flutter/issues/137443
* Platform dispatcher changes: https://github.com/flutter/engine/pull/49841

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-08 23:36:16 +00:00
Chinmay Garde
4f8e474738 Update the instructions for updating licenses. (flutter/engine#51297)
* Adds markdown formatting to better highlight the important bits.
* Removes the bit about patch files not being valid because they are
copied from the GitHub UI (we use LUCI now).
* Add a shortcut for Mac to apply the patch from your pasteboard.
2024-03-08 15:18:01 -08:00
Harry Terkelsen
4c86674a0f Optimize overlays in CanvasKit (flutter/engine#47317)
Optimize overlays by detecting when Flutter-rendered content intersects
with platform views. Overlay canvases are only needed when the content
intersects, so by checking for this, we can optimize out most overlays.

## 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
2024-03-08 14:28:24 -08:00
skia-flutter-autoroll
4dc296c0ab Roll Fuchsia Linux SDK from 5Ra_AjCji-uR1GaX7... to lAV5jgp4796siOZgI... (flutter/engine#51296)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-08 22:09:14 +00:00
Chinmay Garde
03a4ec697e [Impeller] Add the KHR prefix to existing swapchain utilities. (flutter/engine#51295)
This is part of blowing up https://github.com/flutter/engine/pull/51213 into smaller commits.

Our current swapchain is based on the VK_KHR_swapchain extension. When this was the only swapchain that could be created, the KHR prefix was dropped. Since we are going to be having multiple swapchain types, add the KHR prefix and make room for other swapchains.

No change in functionality. Just renames classes and files.
2024-03-08 22:07:23 +00:00
Zachary Anderson
e1b970ca47 Revert test if changes to golden tests (flutter/engine#51291)
The tests are not running when they should be:
https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20Engine%20Drone/760676/overview
2024-03-08 13:31:18 -08:00
Justin McCandless
3a07dc741a iPad keyboard cut/copy/paste buttons (flutter/engine#50923)
The cut/copy/paste buttons above the keyboard on iPad were previously always greyed out, but now they work.
2024-03-08 13:30:50 -08:00
Dan Field
a4c787e072 Use io.flutter.Build.API_LEVELS rather than android.os.Build.VERSION_CODES (flutter/engine#51171)
Updates the linting script to ban the use of `VERSION_CODES`.

We currently have a mish-mash of using the integers, using `VERSION_CODES`, and even how we import the version codes. This makes it more confusing when doing things like #51070 - I think it is clearer to see `22` than `LOLLIPOP_MR1`.

I'd like to get LGTM (or at least no opinion) from all the requested reviewers here.
2024-03-08 19:04:20 +00:00
Jonah Williams
bcea8bd101 [Impeller] More efficient usage of transient onscreen attachments. (flutter/engine#51206)
Work towards https://github.com/flutter/flutter/issues/144617

> The primary trick here is making sure that the transient attachments for the onscreen (MSAA and Depth/Stencil) are effectively recycled. In fact, I think we can actually make a single Onscreen MSAA and Onscreen Depth/Stencil and share them across the swapchain images - as they should be effectively synchronized already.

Fixes https://github.com/flutter/flutter/issues/141750
2024-03-08 17:27:17 +00:00
zijiehe@
3ad51979fd [Fuchsia] Providing FUCHSIA_SDK_PATH env var for fuchsia lsc (flutter/engine#51234)
This change updates test-scripts with https://crrev.com/c/5347216 so that it can override the sdk location from an env var. The override location can be used by update_product_bundles to download emulator images of an unreleased sdk from gcs buckets. The process is used by fuchsia lsc (https://ci.chromium.org/ui/p/turquoise/builders/global.ci/sdk-core-linux-flutter), now it's failing due to the wrong product_bundle location being used.

This change should have no impact to the existing builders since they do not use either gclient variables relevant. E.g. download_fuchsia_sdk and fuchsia_sdk_path.

Bug: http://b/328110079

FYI: @mbrase 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-08 17:21:05 +00:00
Chris Bracken
c1415300a1 Migrate vulkan_memory_allocator to flutter/third_party (flutter/engine#51275)
Migrates vulkan_memory_allocator from the buildroot's third_party directory to the engine's.

Issue: https://github.com/flutter/flutter/issues/144812
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-08 17:17:16 +00:00
Jason Simmons
7da9c29b79 Update CI scripts to use either src/flutter/third_party/dart or src/third_party/dart (flutter/engine#51276)
See https://github.com/flutter/flutter/issues/143335
2024-03-08 17:00:17 +00:00
Martin Kustermann
899fc2a7e0 Add fuchsia_gn_sdk GN variable pointing to //flutter/tools/fuchsia/gn-sdk (flutter/engine#51287)
The Dart -> Flutter Engine autoroller seems to be failing atm due to
fuchsia build errors.

The Dart SDK CL in [0] is depending on a fuchsia gn sdk import. The
import path defaults to `//third_party/fuchsia/gn-sdk` in the Dart build
rules.

Though flutter seemingly has it in `//flutter/tools/fuchsia/gn-sdk`
(which was added to DEPS in c274921fa6034e5e133129967c0789ab8c7fc827)

=> This is an attempt to override the default & fix autoroller

[0] https://dart-review.googlesource.com/c/sdk/+/355283/14
2024-03-08 14:49:37 +01:00
skia-flutter-autoroll
0c2b784e45 Roll Skia from 093994f8f078 to 15f8d03a9594 (1 revision) (flutter/engine#51280)
https://skia.googlesource.com/skia.git/+log/093994f8f078..15f8d03a9594

2024-03-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 0dc646b71e8d to 886dbf1a5a87 (11 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,herb@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 Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-08 05:46:21 +00:00
Brandon DeRosier
e4a8c84807 [Impeller] Add mask blur style support to the RRect blur fast path. (flutter/engine#51250)
This improves performance by avoiding the 2-pass Gaussian blur in more shadow drawing situations.

The new golden also serves as a good reference for how mask blurs are supposed to work alongside various other paint properties such as color filters, color opacity, image filters, and blending.

![Screenshot 2024-03-06 at 11 47 04 PM](https://github.com/flutter/engine/assets/919017/dee1b56c-d2e4-40bd-9f50-aeba0cfd69f2)

The top 5 shapes are various RRect cases and are rendering correctly via the new blur style implementation in this patch.
The two bottom rows (the triangles and arcs) are non-rrect paths, so they're falling back to rendering using the 2-pass Gaussian blur. Rendering errors are circled in red below:

![Screenshot 2024-03-06 at 11 47 04 PM](https://github.com/flutter/engine/assets/919017/5ac27d71-95e6-4e6e-99d8-7436476e1aee)

* Cases 1, 2, 7, and 9 all appear to rendering fine.
* Cases 3, 4, 5, and 6 all have mask blur styles set to `BlurStyle::kSolid`. After the first clipped overlay has been drawn, subsequent clipped overlays aren't drawing.
* Case 6 is also has the blend mode set to `BlendMode::kExclusion`.
* Cases 8 and 10 are rendering with `BlurStyle::kInner` and `BlurStyle::kOuter` respectfully, but with a blur ImageFilter also set on the paint state. The ImageFilter needs to be applied to the rasterized mask blurred content.
2024-03-08 01:36:09 +00:00
gaaclarke
0ad1f44859 [Impeller] moved tests to aiks_blur_unittests, added warning (flutter/engine#51274)
issue: https://github.com/flutter/flutter/issues/140106

## 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
2024-03-07 17:29:19 -08:00
Chris Bracken
0575633c34 Move ANGLE to flutter/third_party (flutter/engine#51270)
This moves Flutter out of the buildroot's third_party directory and into
//flutter/third_party and updates all BUILD and gni files.

Issue: https://github.com/flutter/flutter/issues/144786
Part of: https://github.com/flutter/flutter/issues/67373

## 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] The odds of this passing on its first CI run is 0%, because
there's no way the licence script isn't going to have a fit over it, at
which point I promise on my honour that I will dutifully fix all the
things it complains about and re-run, probably more than once.
- [X] This PR fulfils the minimum [Canadian
Content](https://www.youtube.com/watch?v=h9NMnPm5kXc&list=PLJ7QPuvv91JuoPWrLhqX0zDFUoLdynMEk&index=3)
regulations mandated by the CRTC.
- [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
2024-03-07 16:23:14 -08:00
skia-flutter-autoroll
d620dd0864 Roll Skia from 4a65dfcc70a5 to bf3f9c5f0edb (4 revisions) (flutter/engine#51268)
https://skia.googlesource.com/skia.git/+log/4a65dfcc70a5..bf3f9c5f0edb

2024-03-07 penghuang@chromium.org Use ProxyTexture::texture()::textureInfo() to determine depth
2024-03-07 michaelludwig@google.com [sksl] support wgsl's frexp/modf intrinsics
2024-03-07 kjlubick@google.com Start enforcing IWYU on src/gpu
2024-03-07 mike@reedtribe.org factor out SkCTFontCreateExactCopy into its own file(s)

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,herb@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 Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-07 23:22:26 +00:00
Jason Simmons
1faf496ee8 [Impeller] Fix a buffer overrun in ImpellerC reflector resource offsets (flutter/engine#51108)
This issue can be reproduced by running the CompilerTest.MustFailDueToMultipleLocationPerStructMember test with ASAN

(The Impeller tests are not yet running with ASAN on CI)
2024-03-07 23:09:20 +00:00
Brandon DeRosier
9944f5554c [Impeller] Record restore clips in the replay mechanism when StC is enabled. (flutter/engine#51259) 2024-03-07 22:21:52 +00:00
skia-flutter-autoroll
ca81103956 Roll Skia from 6bfd57b8790f to 4a65dfcc70a5 (2 revisions) (flutter/engine#51263)
https://skia.googlesource.com/skia.git/+log/6bfd57b8790f..4a65dfcc70a5

2024-03-07 herb@google.com Cleanup SkSwizzler_opt.inc
2024-03-07 kjlubick@google.com Fix debugger bazel build

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,herb@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 Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-07 22:21:50 +00:00
Zachary Anderson
0fb043e6f6 [gn] Disable running some python scripts from GN (flutter/engine#51248)
For https://github.com/flutter/flutter/issues/144430
2024-03-07 22:18:12 +00:00
Chris Bracken
b9d7f23abd Migrate build_overrides from buildroot to engine (flutter/engine#51258)
Files under the build_overrides directory in the buildroot are typically hardcoded imports in third-party dependencies used for project-specific configuration. For example, ANGLE hardcodes an import of `//build_overrides/angle.gni` so that consumers of ANGLE can configure the build to their needs.

This adds a copy all existing src/build_overrides files at the equivalent `src/flutter/build_overrides` path in the engine. A followup patch will replace each existing file under `src/build_overrides` in the buildroot with a shim that just imports the files landed in this patch. This allows third-party dependencies to continue hardcoding the `//build_overrides/foo.gni` path, but provides a seamless path forward when we drop the buildroot.

Issue: https://github.com/flutter/flutter/issues/144790
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-07 21:42:06 +00:00
skia-flutter-autoroll
6f59be7215 Roll Fuchsia Linux SDK from y67DIBX84h7pAekIp... to 5Ra_AjCji-uR1GaX7... (flutter/engine#51261)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-07 20:58:17 +00:00
skia-flutter-autoroll
1894cb830d Roll Skia from cf7fefd0bbfb to 6bfd57b8790f (24 revisions) (flutter/engine#51260)
https://skia.googlesource.com/skia.git/+log/cf7fefd0bbfb..6bfd57b8790f

2024-03-07 robertphillips@google.com Reduce matrix convolution image filter's maximum kernel size
2024-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 99a18601ac24 to e649d06fbad1
2024-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 82a4580a3c5a to f2cacee81b83 (6 revisions)
2024-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from b04a5aef564b to cbf986e97789
2024-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-base from 0ccdb32ff1ca to 453d00b44c6b
2024-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from be5714074b1a to 24edbde4082b
2024-03-07 michaelludwig@google.com [skif] Add direct-drawing analog to getAnalyzedShaderView
2024-03-07 johnstiles@google.com Remove flag for SK_RASTER_PIPELINE_FASTER_POW_LOG.
2024-03-07 jlavrova@google.com Moving to the newer ICU4x version (1.4.1)
2024-03-07 jvanverth@google.com [graphite] Move small path management into RasterPathAtlas.
2024-03-07 robertphillips@google.com Manual Roll Dawn from 91a0358034d1 to 58cd45951deb (15 revisions)
2024-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 9cd617cb0454 to 82a4580a3c5a (3 revisions)
2024-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 756dffd9e74f to 0dc646b71e8d (6 revisions)
2024-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 20d29a6cac1b to 0dc646b71e8d
2024-03-06 michaelludwig@google.com [skif] Add animating blur GM testing each tile mode
2024-03-06 jvanverth@google.com [graphite] Switch RasterPathAtlas to use DrawAtlasMgr.
2024-03-06 kjlubick@google.com Fix IWYU and clang-tidy suggestions on ganesh/geometry
2024-03-06 lovisolo@google.com [bazel] Fix broken CI task: BazelTest-benchmark-cpu_8888_benchmark_test-linux_rbe-linux_x64-NUC9i7QN_Debian11.
2024-03-06 penghuang@chromium.org Fix a crash in debug build
2024-03-06 kjlubick@google.com Try limiting all link jobs to 2 at a time
2024-03-06 nscobie@google.com Build Graphite in Android.bp's libskia_renderengine
2024-03-06 brianosman@google.com Add Cargo.lock and target/ to .gitignore
2024-03-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 49ae911d780a to 9cd617cb0454 (34 revisions)
2024-03-06 michaelludwig@google.com [skif] Separate X and Y transform analysis

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,herb@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 Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-07 20:56:31 +00:00
skia-flutter-autoroll
e365aa3c39 Roll Skia from f17ec7494469 to cf7fefd0bbfb (1 revision) (flutter/engine#51227)
https://skia.googlesource.com/skia.git/+log/f17ec7494469..cf7fefd0bbfb

2024-03-06 drott@chromium.org [Fontations-backend] Color bitmap support.

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,herb@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 Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-07 19:51:12 +00:00
Juanjo Tugores
1e38a17a22 Prepend the accessibility placeholder (flutter/engine#51050)
Prepends the accesibility placeholder. Previously it was being appended (last child) to the body. 

Relevant Issues are:

* Design doc: https://flutter.dev/go/focus-management 
* Focus in web multiview: https://github.com/flutter/flutter/issues/137443
* Platform dispatcher changes: https://github.com/flutter/engine/pull/49841

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-07 18:16:21 +00:00
Jesús S Guerrero
464ecf3948 Skip impeller goldens on release (flutter/engine#51240) 2024-03-07 17:24:33 +00:00
Martin Kustermann
572d662658 Make @keepToString annotation work for web and non-web (flutter/engine#51251)
* Update documentation for the annotation
* Add `@keepToString` annotation to web's `Locale` class (similar to
non-webs `Locale` class)

Issue https://github.com/flutter/flutter/issues/52759
2024-03-07 10:33:13 +01:00
skia-flutter-autoroll
83afc6b52b Roll Dart SDK from 2cdf8f23c55f to 3538739eeea9 (1 revision) (flutter/engine#51249)
https://dart.googlesource.com/sdk.git/+log/2cdf8f23c55f..3538739eeea9

2024-03-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.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 dart-vm-team@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-07 06:38:53 +00:00
Tong Mu
67603e5e32 Reland 5: Multiview pipeline (flutter/engine#51186)
This relands https://github.com/flutter/engine/pull/50931.

The crash that caused the 4th revert has been fixed by https://github.com/flutter/flutter/pull/144212.

[There has been discussion](https://github.com/flutter/engine/pull/51019) on why the benchmark in previous attempts show significant drop in build time. This PR addresses it using option a as described in [this comment](https://github.com/flutter/engine/pull/51186#issuecomment-1977820525).

This PR also addresses https://github.com/flutter/flutter/issues/144584 with option 1. A test is added.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-07 01:54:14 +00:00
Jonah Williams
1322186f32 [Impeller] add a per-frame trace event for heap usage on Vulkan. (flutter/engine#51246)
Part of https://github.com/flutter/flutter/issues/144617

Adds MemoryBudgetUsageMB which includes the MB of VMA allocated GPU and host memory, approximately per frame. This will be recorded in the devicelab and used to track how much memory pressure we're creating.

Split out from https://github.com/flutter/engine/pull/51187 since that was reverted (and doing big changes is a bad idea anyway).
2024-03-07 01:40:04 +00:00
Chris Bracken
0e6d56bc1c Move Abseil from src to flutter third_party dir (flutter/engine#51245)
In combination with:
* https://flutter-review.googlesource.com/c/third_party/abseil-cpp/+/55848
* https://github.com/flutter/buildroot/pull/831

this updates Flutter's references to Abseil from
//third_party/abseil-cpp to //flutter/third_party/abseil-cpp.

Issue: https://github.com/flutter/flutter/issues/144201
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-07 01:19:17 +00:00
skia-flutter-autoroll
049983fc56 Manual roll Dart SDK from 9ea8813ab4d4 to 3ad64881a209 (5 revisions) (flutter/engine#51242)
Manual roll requested by zra@google.com

https://dart.googlesource.com/sdk.git/+log/9ea8813ab4d4..3ad64881a209

2024-03-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-205.0.dev
2024-03-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-204.0.dev
2024-03-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-203.0.dev
2024-03-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-202.0.dev
2024-03-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.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 dart-vm-team@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-07 00:13:11 +00:00
auto-submit[bot]
afd7f9739b Reverts "[Impeller] disable blending in gaussian intermediate steps. (#51118)" (flutter/engine#51244)
Reverts: flutter/engine#51118
Initiated by: jonahwilliams
Reason for reverting: unexpected performance change

https://flutter-flutter-perf.skia.org/e/?queries=sub_result%3D90th_percentile_frame_rasterizer_time_millis%26sub_result%3D99th_percentile_frame_rasterizer_time_millis%26sub_result%3Daverage_frame_rasterizer_time_millis%26sub_result%3Dworst_frame_rasterizer_time_millis%26test%3Dbackdrop_filter_perf_ios__timeline_summary&selected=commit%3D39677%26name%3D%252Carch%253
Original PR Author: jonahwilliams

Reviewed By: {gaaclarke}

This change reverts the following previous change:
Noticed this while working on the StC debugging. We can disable blending on all intermediate gaussian steps. I don't know how much of an impact this has in practice.
2024-03-06 23:55:17 +00:00
auto-submit[bot]
e3e37f2bee Reverts "[Impeller] fold memory check into allocator_vk (#51187)" (flutter/engine#51243)
Reverts: flutter/engine#51187
Initiated by: jonahwilliams
Reason for reverting: unexpected benchmark regression

https://flutter-flutter-perf.skia.org/e/?queries=device_type%3DPixel_7_Pro%26sub_result%3D90th_percentile_frame_rasterizer_time_millis%26sub_result%3D99th_percentile_frame_rasterizer_time_millis%26sub_result%3Daverage_frame_rasterizer_time_millis%26sub_result%3Dworst_frame_rasterizer_time_millis%26test%3Dnew_gallery_impeller__transition_perf&selected=commit%3D396
Original PR Author: jonahwilliams

Reviewed By: {matanlurey}

This change reverts the following previous change:
Various cleanups to Vulkan allocator implementation:

1. Fixes https://github.com/flutter/flutter/issues/137454
2. Fold device transient cap check into allocator.
3. adds debug tracking for total memory usage in MB (a followup change needs to be made to driver to plumb it through)
4. Small cleanups to mock vulkan so an allocator can be created from it.
5. depth/stencil shouldn't be input attachments.

Part of https://github.com/flutter/flutter/issues/144617
2024-03-06 23:52:25 +00:00
skia-flutter-autoroll
149c31822f Manual roll Dart SDK from 50464546d92d to 9ea8813ab4d4 (5 revisions) (flutter/engine#51239)
Manual roll requested by zra@google.com

https://dart.googlesource.com/sdk.git/+log/50464546d92d..9ea8813ab4d4

2024-03-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-200.0.dev
2024-03-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-199.0.dev
2024-03-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-198.0.dev
2024-03-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-197.0.dev
2024-03-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-196.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-06 22:55:58 +00:00
Jesús S Guerrero
06c1e204da Skip impeller goldens on release branches (flutter/engine#51237)
https://github.com/flutter/flutter/issues/144700
2024-03-06 22:00:46 +00:00
Loïc Sharma
ece178965b [Windows] Allow plugins to get views (flutter/engine#51096)
Allow Flutter Windows plugins to get views by their ID.

Design doc: https://flutter.dev/go/desktop-multi-view-runner-apis

Part of https://github.com/flutter/flutter/issues/143767
Part of https://github.com/flutter/flutter/issues/142845

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-06 21:19:19 +00:00
Jim Graham
5193a7bc02 add new builder benchmark with a global saveLayer (flutter/engine#51236)
The existing DisplayListBuilder benchmarks that have a SaveLayer call do so around each rendering call which stresses measuring the cost of the SaveLayer/Restore calls. This new benchmark does a single SaveLayer/Restore around the entire array of rendering ops to measure the performance of adding new calls inside an existing layer.

No tests because this is just a new benchmark.
2024-03-06 20:50:14 +00:00
Brandon DeRosier
80c055bfc9 [Flutter GPU] Move method tests to flutter_tester. (flutter/engine#51223)
Part of https://github.com/flutter/flutter/issues/144640.

I'll be moving the rest of the pipeline-dependent tests and packaging a shader bundle for flutter_tester once Flutter GPU works against Vulkan/swiftshader.
2024-03-06 20:33:01 +00:00
Zachary Anderson
2fdc3293eb Disable flaky linux desktop test (flutter/engine#51231)
For https://github.com/flutter/flutter/issues/138197
2024-03-06 20:27:00 +00:00
Jonah Williams
749903e027 [Impeller] fold memory check into allocator_vk (flutter/engine#51187)
Various cleanups to Vulkan allocator implementation:

1. Fixes https://github.com/flutter/flutter/issues/137454
2. Fold device transient cap check into allocator.
3. adds debug tracking for total memory usage in MB (a followup change needs to be made to driver to plumb it through)
4. Small cleanups to mock vulkan so an allocator can be created from it.
5. depth/stencil shouldn't be input attachments.

Part of https://github.com/flutter/flutter/issues/144617
2024-03-06 20:10:55 +00:00
skia-flutter-autoroll
8ea6cd44a4 Roll Fuchsia Linux SDK from ujOkbeYbrC8loPbfR... to y67DIBX84h7pAekIp... (flutter/engine#51233)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-06 19:58:17 +00:00