30433 Commits

Author SHA1 Message Date
Harry Terkelsen
aed57ec7af [canvaskit] Enable CanvasKit to compute tight SkPicture bounds (flutter/engine#43361) 2023-08-01 16:07:19 -07:00
skia-flutter-autoroll
3ff184cb6c Roll Dart SDK from 197fc0d7fea2 to 7c03426705da (2 revisions) (flutter/engine#44237)
https://dart.googlesource.com/sdk.git/+log/197fc0d7fea2..7c03426705da

2023-08-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-24.0.dev
2023-08-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-23.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,jacksongardner@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-01 22:49:43 +00:00
John McCutchan
75cc4c162b [Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture. (flutter/engine#44087)
- Introduce TextureRegistry.ImageTexture and related machinery.
- Introduce ImageReaderPlatformViewRenderTarget.
- Introduce HardwareBufferExternalTextureGL and related machinery.

NOTE: ImageReaderPlatformViewRenderTarget requires Android 26.

NOTE: This CL does not enable using ImageReaderPlatformViewRenderTarget
yet.

Related https://github.com/flutter/flutter/issues/130892
2023-08-01 15:39:32 -07:00
Yegor
6136444a48 [web:a11y] add platform view role (flutter/engine#44188)
Add `PlatformViewRoleManager`, the primary role manager for platform views. Currently, all it does is manager the `aria-owns` attribute that determines the screen reader traversal order of the platform view w.r.t. surrounding content.

This is a partial fix for https://github.com/flutter/flutter/issues/124765. While it does not address literally using the TAB key as a means for traversing widgets, it does address traversal via screen reader shortcuts.
2023-08-01 22:25:07 +00:00
skia-flutter-autoroll
c0f9e5ae79 Roll Skia from 18cf818e044f to 4deae93198f9 (1 revision) (flutter/engine#44236)
https://skia.googlesource.com/skia.git/+log/18cf818e044f..4deae93198f9

2023-08-01 johnstiles@google.com Simplify parsing of expression-statements.

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,jacksongardner@google.com,jvanverth@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-01 22:25:04 +00:00
skia-flutter-autoroll
08096c8f9c Roll Skia from 58c031441cbb to 18cf818e044f (6 revisions) (flutter/engine#44234)
https://skia.googlesource.com/skia.git/+log/58c031441cbb..18cf818e044f

2023-08-01 michaelludwig@google.com [skif] Refine ShaderFlags and Builder::eval API
2023-08-01 nicolettep@google.com [graphite] Add Vulkan window context to support viewer
2023-08-01 michaelludwig@google.com Skip ImageFilterCropRect_GPU test on Iris655 ANGLE
2023-08-01 fmalita@chromium.org Add a "twirl" effect to mesh demo slide
2023-08-01 johnstiles@google.com Add uniform-matrix polyfills for unpacking std140 alignment.
2023-08-01 johnstiles@google.com Clean up Modifiers, DSLModifiers and ModifierFlags.

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,jacksongardner@google.com,jvanverth@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-01 21:27:09 +00:00
skia-flutter-autoroll
d59b5e43e4 Roll Fuchsia Mac SDK from g0dgOL2IlZQJCK4El... to 3JSF6hXLRdAK1wUN1... (flutter/engine#44233)
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 jacksongardner@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-01 21:03:53 +00:00
skia-flutter-autoroll
35992ab683 Roll ANGLE from b53d99d87e6a to 5d4b3645d0dc (1 revision) (flutter/engine#44231)
b53d99d87e..5d4b3645d0

2023-08-01 ayzhao@google.com Fix a missing symbol with ANGLE e2e tests

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-01 20:53:45 +00:00
skia-flutter-autoroll
cec2c50d3c Roll Fuchsia Linux SDK from lwCo6le6r0X-Srvx3... to KPSWBhOvG6piddBQG... (flutter/engine#44230)
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 jacksongardner@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-01 20:46:48 +00:00
skia-flutter-autoroll
bb68a95f4a Roll Skia from d53f7b880651 to 58c031441cbb (2 revisions) (flutter/engine#44229)
https://skia.googlesource.com/skia.git/+log/d53f7b880651..58c031441cbb

2023-08-01 johnstiles@google.com Move single-use boolean out of WGSL codegen class.
2023-08-01 herb@google.com Add bounds checking to AutoTArray and AutoSTArray

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,jacksongardner@google.com,jvanverth@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-01 20:18:54 +00:00
Srujan Gaddam
8491586ef9 Remove extends JSTypedArray from JSUint8Array1 (flutter/engine#44175)
Any user @staticInterop types should only subtype the dart:js_interop
types JSObject and or JSAny as user @staticInterop types erase to
JSObject.

In the future, the other JS types will be added as extension types,
allowing users to implement them with their own extension types.

Allows https://dart-review.googlesource.com/c/sdk/+/316865/1 to be
landed.

## 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.
- [ ] 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].
- [ ] All existing and new tests are passing.
2023-08-01 12:39:27 -07:00
gaaclarke
87979d9700 Made the licenses script output all problems (flutter/engine#44223)
fixes: https://github.com/flutter/flutter/issues/131680

verified the behavior in https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8773943493296876561/+/u/test:_licenses_check/stdout

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-01 19:16:44 +00:00
skia-flutter-autoroll
89540a71b0 Roll Skia from a7a3646c2c8a to d53f7b880651 (6 revisions) (flutter/engine#44226)
https://skia.googlesource.com/skia.git/+log/a7a3646c2c8a..d53f7b880651

2023-08-01 herb@google.com Reland "Update AutoTArray to always track size"
2023-08-01 cmumford@google.com [debugger-app] use Git from /cipd/bin if present
2023-08-01 jmbetancourt@google.com [skottie] add boolean return value to Slot Manager setters
2023-08-01 kjlubick@google.com Fix copy-pasta in KeyHelpers
2023-08-01 michaelludwig@google.com Reland "[skif] Update MatrixConvolution to use FilterResult"
2023-08-01 jlavrova@google.com SkUnicode with libgrapheme implementation

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,jacksongardner@google.com,jvanverth@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-01 19:08:32 +00:00
skia-flutter-autoroll
73617f52c2 Roll Clang from ebd0b8a0472b to 07c592048780 (flutter/engine#44224)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/clang-flutter-engine
Please CC jacksongardner@google.com,rmistry@google.com,zanderso@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Clang: https://bugs.fuchsia.dev/p/fuchsia/issues/list?q=component%3AToolchain
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-01 18:58:31 +00:00
Chris Yang
39fd1931c6 [iOS] Add darwin_extension_safe flag and use UIScene api when building for extensions (flutter/engine#43449)
iOS extensions forbids the usage of UIApplication.sharedApplication. This PR refactors the engine to use UISceneAPI when darwin_extension_safe flag is on. Using UISceneAPI can help avoid the usage of `UIApplication.sharedApplication` as much as possible.
This PR also added a new `_extension_safe` variant for the engine build so all the logic with the `darwin_extension_safe` flag is on can be tested separately.

This PR doesn't enable the engine to build for the extension even when darwin_extension_safe is true.

part of https://github.com/flutter/flutter/issues/124289

There are several issues related to UIApplication life cycle and I manually tested they still work with the scene API:

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-01 18:12:45 +00:00
gaaclarke
3c31a896c8 [Impeller] Started using a pool for HostBuffers. (flutter/engine#44081)
This removes ~792 MB/s of allocation when scrolling around the Gallery
((358 MB - 226 MB) * 6).

## before
<img width="1337" alt="Screenshot 2023-07-27 at 1 48 57 PM"
src="https://github.com/flutter/engine/assets/30870216/d320c2da-c333-40b7-9326-c9b69e5ff462">

## after
<img width="1391" alt="Screenshot 2023-07-27 at 1 36 35 PM"
src="https://github.com/flutter/engine/assets/30870216/e3314a03-8691-4766-9989-aef112703384">


## 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.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat

---------

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2023-08-01 09:54:14 -07:00
Zachary Anderson
78e873880b Manual clang roll to ebd0b8a0472b865b7eb6e1a32af97ae31d829033 (flutter/engine#44220)
This is expected to be good-to-go following the fix in https://github.com/flutter/engine/pull/44157
2023-08-01 16:52:56 +00:00
gaaclarke
dbf0e3eead [Impeller] Made the clear optimization handle backdrop filters. (flutter/engine#44192)
fixes https://github.com/flutter/flutter/issues/131576

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-01 16:24:03 +00:00
gaaclarke
1b4f573c46 [Impeller] moved to one staging buffer pool (flutter/engine#44172)
I measured the pool usage while using the wonderous app after having
consolidated the pools by printing capturing the pool usage after every
call of `vmaCreateBuffer`. The max number of allocations ever seen in
this pool were 1288704 B. Each of these pools are 32 MB. So this change
removes 64MB from the baseline memory usage of a Vulkan Flutter engine.
Worse case for a swapchain of 3 would be roughly 3 * 1.2 MB which is
well within the limits of the 32 MB buffer.

Using one pool also increases the likelihood that a buffer will have
been more recently used which leads to better memory performance.

This is safe to do since buffers will only be placed back into the pool
after they are disposed of.

## patch used for measuring
```diff
--- a/impeller/renderer/backend/vulkan/allocator_vk.cc
+++ b/impeller/renderer/backend/vulkan/allocator_vk.cc
@@ -474,6 +474,15 @@ std::shared_ptr<DeviceBuffer> AllocatorVK::OnCreateBuffer(
                                              &buffer_allocation_info  //
                                              )};
 
+  VmaStatistics pool_stats;
+  ::vmaGetPoolStatistics(allocator_.get(), staging_buffer_pool_.get().pool,
+                         &pool_stats);
+  static uint64_t s_max = 0;
+  if (pool_stats.allocationBytes > s_max) {
+    s_max = pool_stats.allocationBytes;
+    FML_LOG(ERROR) << "pool max: " << s_max;
+  }
+
   if (result != vk::Result::eSuccess) {
     VALIDATION_LOG << "Unable to allocate a device buffer: "
                    << vk::to_string(result);
```

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [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-01 09:16:10 -07:00
skia-flutter-autoroll
5ad6c197d5 Roll Dart SDK from 45405dd4ea87 to 197fc0d7fea2 (1 revision) (flutter/engine#44217)
https://dart.googlesource.com/sdk.git/+log/45405dd4ea87..197fc0d7fea2

2023-08-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-22.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,jacksongardner@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-01 14:55:23 +00:00
skia-flutter-autoroll
8d332977b8 Roll Skia from 45290179e017 to a7a3646c2c8a (1 revision) (flutter/engine#44216)
https://skia.googlesource.com/skia.git/+log/45290179e017..a7a3646c2c8a

2023-08-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from cf787b4700de to 1f00510dec37 (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 brianosman@google.com,jacksongardner@google.com,jvanverth@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-01 14:41:06 +00:00
skia-flutter-autoroll
e122c49806 Roll Skia from bddb07184f88 to 45290179e017 (1 revision) (flutter/engine#44215)
https://skia.googlesource.com/skia.git/+log/bddb07184f88..45290179e017

2023-08-01 jvanverth@google.com Revert "Update AutoTArray to always track size"

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jonahwilliams@google.com,jvanverth@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-01 13:58:23 +00:00
skia-flutter-autoroll
f5c5c41e93 Manual roll Dart SDK from aca45d2e133c to 45405dd4ea87 (2 revisions) (flutter/engine#44204)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/aca45d2e133c..45405dd4ea87

2023-08-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.2.0-21.0.dev
2023-07-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.2.0-20.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-01 06:56:23 -07:00
skia-flutter-autoroll
2dad77487e Roll Skia from c74c10128334 to bddb07184f88 (1 revision) (flutter/engine#44214)
https://skia.googlesource.com/skia.git/+log/c74c10128334..bddb07184f88

2023-08-01 jvanverth@google.com Revert "[graphite] Enable Vulkan draws and binding texture/samplers"

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jonahwilliams@google.com,jvanverth@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-01 13:06:39 +00:00
skia-flutter-autoroll
65f04dce63 Roll Skia from 177897b13a89 to c74c10128334 (4 revisions) (flutter/engine#44213)
https://skia.googlesource.com/skia.git/+log/177897b13a89..c74c10128334

2023-08-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 143fa68f50b7 to 6dc0c9d62755 (13 revisions)
2023-08-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from a0873d3f0d98 to fda6bb7fc626
2023-08-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 1695fc6fc41d to a0873d3f0d98 (4 revisions)
2023-08-01 nicolettep@google.com [graphite] Enable Vulkan draws and binding texture/samplers

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jonahwilliams@google.com,jvanverth@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-01 11:48:20 +00:00
skia-flutter-autoroll
56e9c85376 Roll ICU from e8c3bc9ea97d to de4ce0071eb4 (3 revisions) (flutter/engine#44212)
e8c3bc9ea9..de4ce0071e

2023-07-26 kojii@chromium.org [phrase-line-break] Use ML for phrase line breaking
2023-07-11 aredulla@google.com [ssci] Added Shipped field to READMEs
2023-07-10 kojii@chromium.org [phrase-line-break] Add ICU files to support `lw=phrase`

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 jonahwilliams@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-08-01 10:32:35 +00:00
skia-flutter-autoroll
6fcc3916d1 Roll ANGLE from 6dc0c9d62755 to b53d99d87e6a (1 revision) (flutter/engine#44211)
6dc0c9d627..b53d99d87e

2023-08-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1cd9335ae38e to d27b5fe3e6fd (523 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-01 08:39:04 +00:00
skia-flutter-autoroll
78eb107233 Roll Fuchsia Mac SDK from Dd4To9QyMtoPGPIpl... to g0dgOL2IlZQJCK4El... (flutter/engine#44210)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-mac-sdk-flutter-engine
Please CC jonahwilliams@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-01 08:18:12 +00:00
skia-flutter-autoroll
778d7e5c18 Roll Fuchsia Linux SDK from wIpcCOc0TtDYasQbl... to lwCo6le6r0X-Srvx3... (flutter/engine#44208)
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 jonahwilliams@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-01 07:49:58 +00:00
skia-flutter-autoroll
bafe244e55 Manual roll Dart SDK from a58ca112af1c to aca45d2e133c (2 revisions) (flutter/engine#44203)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/a58ca112af1c..aca45d2e133c

2023-07-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-19.0.dev
2023-07-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-18.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-01 04:59:11 +00:00
skia-flutter-autoroll
1b97de650b Manual roll Dart SDK from 0e02245635ea to a58ca112af1c (1 revision) (flutter/engine#44197)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/0e02245635ea..a58ca112af1c

2023-07-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.2.0-17.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-31 21:14:52 -07:00
David Worsham
716b6a2cd4 [fuchsia] Only use upstream vulkan headers (flutter/engine#44157)
Stop using the special fuchsia headers, as they are contributing to
undefined behavior when building with LTO.
They are also no longer needed. All relevant fuchsia extensions were
upstreamed some time ago.

In the process, engage in some cleanup which means the "vulkan_config"
is also no longer needed. Rely on GN "public_deps" to provide the vulkan
include paths to various source sets.

See b/291462180 for more details on why this fix was neccesary.
2023-08-01 13:17:14 +10:00
Matan Lurey
bc3b2e01ef [Impeller] Implement, non user-facing, dithering for LinearGradients. (flutter/engine#44181)
Partial work towards https://github.com/flutter/flutter/issues/131450.

---

Run the Playground locally:

```bash
$ENGINE/out/host_debug_unopt/impeller_unittests \
  --enable_playground \
  --gtest_filter="*CanRenderLinearGradientWithDithering*"
```

Summary of changes:

- Added a playground/test for dithering disabled and enabled.
- Added `bool dither` to Impeller's `Paint`, but `SetDither` (use-facing) is ignored.
- Converted [Skia's dithering](f9de059517/src/opts/SkRasterPipeline_opts.h (L1717)) to GLSL and invoked it when `dither` is set.

## Before

![Screenshot 2023-07-31 at 1 29 16 PM](https://github.com/flutter/engine/assets/168174/51d2f7a0-dc22-44fe-b7f9-990b826c5fd9)

## After

![Screenshot 2023-07-31 at 1 29 25 PM](https://github.com/flutter/engine/assets/168174/78da2efe-2c5d-438f-b7f7-d8eb092c6a2c)

## Deleted Scenes

<details>
<summary>Here are some of my earlier attempts that are fun to share :)</summary>

![Screenshot 2023-07-31 at 11 35 07 AM](https://github.com/flutter/engine/assets/168174/719f97fc-1a3d-4920-8687-486c4de28b79)

![Screenshot 2023-07-31 at 12 12 38 PM](https://github.com/flutter/engine/assets/168174/ed262f83-442f-484b-8288-30e8e0d5e768)

![Screenshot 2023-07-31 at 12 19 56 PM](https://github.com/flutter/engine/assets/168174/057b1f95-fbd2-4ae2-bb25-8dd967cf8466)

![Screenshot 2023-07-31 at 12 25 59 PM](https://github.com/flutter/engine/assets/168174/34857c6e-49cd-40c1-9e91-646b7bfbf97c)

![Screenshot 2023-07-31 at 12 44 08 PM](https://github.com/flutter/engine/assets/168174/3b272428-b5be-4ca5-8cfe-1b12062a64f4)

</details>
2023-08-01 02:02:25 +00:00
skia-flutter-autoroll
79696e3f7a Roll Skia from 2e5f08012a92 to 177897b13a89 (1 revision) (flutter/engine#44199)
https://skia.googlesource.com/skia.git/+log/2e5f08012a92..177897b13a89

2023-08-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 98abc2159e3b to cf787b4700de (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jonahwilliams@google.com,jvanverth@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-01 01:07:03 +00:00
skia-flutter-autoroll
f868c930b7 Roll ANGLE from cb4b1f3641ae to 6dc0c9d62755 (2 revisions) (flutter/engine#44198)
cb4b1f3641..6dc0c9d627

2023-07-31 hob@chromium.org Revert "Use DisplayVkSimple on ChromeOS"
2023-07-31 syoussefi@chromium.org GL: Remove EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-01 00:06:10 +00:00
Chinmay Garde
4c6b677ded [Impeller] Document the fiddly bits about setting up Metal shader source debugging. (flutter/engine#44195)
Saying this fixes the two linked issue pushes the bounds of credulity. But this is the best information we have ATM on how to fix the obscure "Invalid UUID" error. And, I have linked to the PR thread as a breadcrumb. Not sure how to do better 🤷🏽‍♂️.

Fixes https://github.com/flutter/flutter/issues/120326
Fixes https://github.com/flutter/flutter/issues/121430
2023-08-01 00:04:23 +00:00
Chinmay Garde
ee65190753 [Impeller] Add documentation on how to enable Metal Profiling HUD without Xcode. (flutter/engine#44196) 2023-07-31 23:43:01 +00:00
skia-flutter-autoroll
02bd0c4187 Roll ANGLE from 196713767078 to cb4b1f3641ae (1 revision) (flutter/engine#44193)
1967137670..cb4b1f3641

2023-07-31 angle-autoroll@skia-public.iam.gserviceaccount.com Manual Roll VK-GL-CTS from e7b180ad5366 to 00cccd7cf562 (37 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-31 23:14:53 +00:00
Siva
4f13581147 Manual roll of Dart with fixups to zircon system.dart (flutter/engine#44185)
https://dart.googlesource.com/sdk.git/+log/4fd35600b477..0e02245635ea

Merge to Dart Version 3.2.0-16.0.dev
2023-07-31 16:03:14 -07:00
Chinmay Garde
8b852e3aec [Impeller] Update guidance on how to run with Metal validation without Xcode. (flutter/engine#44190)
Fixes https://github.com/flutter/flutter/issues/114202
2023-07-31 22:43:29 +00:00
skia-flutter-autoroll
928169e1b3 Roll ANGLE from faca95f7e81b to 196713767078 (7 revisions) (flutter/engine#44191)
faca95f7e8..1967137670

2023-07-31 hob@chromium.org Reland "Search for system libvulkan on CrOS"
2023-07-31 kbr@chromium.org Support substituting translated shaders.
2023-07-31 thestig@chromium.org Remove unused BrokenClampThatShouldNotBeUsed()
2023-07-31 kbr@chromium.org Metal: document how to print MSL shaders.
2023-07-31 mark@lunarg.com Check that MRTSS bit is supported by format
2023-07-31 hob@chromium.org Use DisplayVkSimple on ChromeOS
2023-07-31 geofflang@chromium.org Vulkan: Skip vertex conversion if the draw has 0 vertices.

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-31 22:34:04 +00:00
Ian Hickson
ddb2a2b8b3 Mention the point of BlendMode.plus and advise on using it. (flutter/engine#44189) 2023-07-31 22:32:17 +00:00
skia-flutter-autoroll
1b46ad1000 Roll Skia from db813f4043fe to 2e5f08012a92 (1 revision) (flutter/engine#44187)
https://skia.googlesource.com/skia.git/+log/db813f4043fe..2e5f08012a92

2023-07-31 herb@google.com Update AutoTArray to always track size

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-31 22:07:08 +00:00
Chinmay Garde
e494c2f4df [Impeller] Update guidance on how to try Impeller on macOS Desktop. (flutter/engine#44186)
The website was updated in https://github.com/flutter/website/pull/9114/files
2023-07-31 21:54:52 +00:00
Chinmay Garde
70d6d7cb22 [Impeller] Add a descriptive blurb about newer Impeller components and fix links. (flutter/engine#44183) 2023-07-31 21:24:12 +00:00
skia-flutter-autoroll
3cbc4eaedf Roll Skia from 06174bc8f4d5 to db813f4043fe (1 revision) (flutter/engine#44182)
https://skia.googlesource.com/skia.git/+log/06174bc8f4d5..db813f4043fe

2023-07-31 herb@google.com Use unique_ptr in THashTable

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-31 21:12:48 +00:00
Jason Simmons
3bb1764557 [Impeller] Create a wrapper Impeller context for each Vulkan surface and its swapchain (flutter/engine#44171)
In https://github.com/flutter/engine/pull/41059 the Android context and surface were changed to share one impeller::ContextVK across all instances of AndroidSurfaceVulkanImpeller.  However, the ContextVK holds a reference to the current swapchain.  If an app uses multiple AndroidSurfaceVulkanImpeller instances (e.g. for platform views), then one surface may overwrite the ContextVK's swapchain while another surface is trying to render.

This patch allows each surface to get its own impeller::Context instance holding a swapchain tied to that surface.  The per-surface contexts will delegate most operations to the shared parent ContextVK.
2023-07-31 20:49:11 +00:00
skia-flutter-autoroll
722441b8f5 Roll Skia from ea0c9c0935ae to 06174bc8f4d5 (2 revisions) (flutter/engine#44179)
https://skia.googlesource.com/skia.git/+log/ea0c9c0935ae..06174bc8f4d5

2023-07-31 brianosman@google.com Remove Debian10-GCC jobs and docker support
2023-07-31 johnstiles@google.com Remove ModifiersPool entirely.

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-31 20:05:20 +00:00
skia-flutter-autoroll
2f777dff81 Roll ANGLE from 2755f73a3461 to faca95f7e81b (1 revision) (flutter/engine#44178)
2755f73a34..faca95f7e8

2023-07-31 i.nazarov@samsung.com Fix memory leak destroying never current Context

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-31 20:01:23 +00:00
skia-flutter-autoroll
e7a92219bb Roll Skia from 9c12eb0e158a to ea0c9c0935ae (4 revisions) (flutter/engine#44177)
https://skia.googlesource.com/skia.git/+log/9c12eb0e158a..ea0c9c0935ae

2023-07-31 brianosman@google.com Switch GCC jobs on CQ to Debian-11/GCC-10.3
2023-07-31 johnstiles@google.com Move storage of Layout to ExtendedVariable.
2023-07-31 kjlubick@google.com Make deleteBackendTexture take a const reference
2023-07-31 johnstiles@google.com Split Variable modifiers() into layout() and modifierFlags().

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-07-31 19:20:37 +00:00