27884 Commits

Author SHA1 Message Date
Jonah Williams
80fd1f7fbf [iOS] Switch to FlutterMetalLayer by default. (flutter/engine#54086)
For this to work, we need to provide our own capture scope otherwise the default scope won't capture our commands.

This is required as part of the work to switch to unmerged threads for PVs (https://github.com/flutter/engine/pull/53826), as I can confirm @knopp 's observations that the performance is much worse with the default CAMetalLayer.

Fixes https://github.com/flutter/flutter/issues/140901
2024-07-24 23:10:11 +00:00
skia-flutter-autoroll
274cf5f243 Roll Skia from 54d1434637a1 to 55ecdde3a5fa (3 revisions) (flutter/engine#54089)
https://skia.googlesource.com/skia.git/+log/54d1434637a1..55ecdde3a5fa

2024-07-24 jvanverth@google.com Update comment in patheffects.cpp.
2024-07-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 52a246a737a2 to a6d9a7de5704
2024-07-24 robertphillips@google.com [graphite] Add comments to public API re Graphite-specific deprecations

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,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-24 22:02:13 +00:00
Chris Bracken
c100e07c9e [iOS] Build universal gen_snapshots for iOS (flutter/engine#54009)
This merges the macOS and iOS rules for creating the `gen_snapshot_arm64` and `gen_snapshot_x64` used to build for iOS devices, as well as for iOS simulators on both arm64 hosts (`gen_snapshot_arm64`) and x64 hosts (`gen_snapshot_x64`). The macOS rules have already been updated to generate universal binaries for each of these that can be run on both Apple Silicon and Intel Mac hosts.

This also updates `create_full_ios_framework.py` to bundle the newly-generated universal gen_snapshot binaries and produce the artifacts.zip archive that is uploaded via the build config in `mac_ios_engine.json`.

The `create_arm_gen_snapshot` rule remains until I'm 100% convinced it's not used for macOS host Android target builds.

Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/69157

This is stacked on top of https://github.com/flutter/engine/pull/54008.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-07-24 21:56:16 +00:00
Matan Lurey
c696d2cf7b Move testing/litetest to pub workspaces. (flutter/engine#54082)
More incremental version of https://github.com/flutter/engine/pull/53997.
2024-07-24 21:02:17 +00:00
skia-flutter-autoroll
c464074946 Roll Skia from 1561e2127c6f to 54d1434637a1 (2 revisions) (flutter/engine#54087)
https://skia.googlesource.com/skia.git/+log/1561e2127c6f..54d1434637a1

2024-07-24 johnstiles@google.com Allow `writeFunctionCallArgument` to add multiple arguments.
2024-07-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8e90204125ac to 560809a2d33f (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 brianosman@google.com,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-24 20:42:16 +00:00
Jim Graham
9078eeec8b [Impeller] Use new DisplayList SaveLayer unbounded flag (flutter/engine#54085)
Impeller had been disabling a save layer bounds optimization under certain conditions that were meant to imply that the layer was unbounded.

The DisplayList now includes a flag indicating exactly when the layer is unbounded so we will now use that flag instead of an assumed implication to check for this condition.
2024-07-24 19:48:04 +00:00
skia-flutter-autoroll
eebe1f4930 Roll Skia from c11932925658 to 1561e2127c6f (5 revisions) (flutter/engine#54084)
https://skia.googlesource.com/skia.git/+log/c11932925658..1561e2127c6f

2024-07-24 johnstiles@google.com Add push_back_n and pop_back_n to FixedArray.
2024-07-24 nicolettep@google.com [Dawn] Add YCbCr conversion information to DawnTexture keys
2024-07-24 johnstiles@google.com Use swizzles to save space during code minification.
2024-07-24 jvanverth@google.com [graphite] Fix backend texture variants of surface tests.
2024-07-24 scroggo@google.com Mention Java requirement in Android build instructions

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,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-24 19:24:32 +00:00
Matan Lurey
cfe0de9c8f Suggest a few common vscode extensions. (flutter/engine#53974)
For example, without the markdown preview, files in `docs/**/*.md` don't all render.
2024-07-24 18:49:05 +00:00
Robert Ancell
e0a1f3492a Fix embedder comments about struct_size (flutter/engine#54077) 2024-07-24 18:20:19 +00:00
Jonah Williams
9d7ce06c95 share platform view slicing logic across iOS and Android. (flutter/engine#54010)
This removes support for "unobstructed platform views" on iOS - instead prefering to use the Android strategy of minimizing overlay layers, as this is generally more performant.
2024-07-24 18:02:09 +00:00
Jackson Gardner
851a3e5829 [skwasm] Fix platform view occlusion logic. (flutter/engine#54061)
The occlusion rectangle for platform views was going through this `inverseMapRect` code path, which actually was giving us the wrong results. The operations should just be doing the normal transformation on the rectangles to get the right result. It actually turns out we don't need the inverse mapping function, so I removed it, and I renamed the somewhat confusingly named `cullRect` function to `mapRect` which I think makes a bit more sense.

This should resolve https://github.com/flutter/flutter/issues/152139
2024-07-24 17:48:48 +00:00
skia-flutter-autoroll
f8d61bdc72 Roll Skia from 25f26f673502 to c11932925658 (4 revisions) (flutter/engine#54081)
https://skia.googlesource.com/skia.git/+log/25f26f673502..c11932925658

2024-07-24 johnstiles@google.com Fix fuzzer-discovered issue with switch variable-hoisting.
2024-07-24 robertphillips@google.com Switch the Galaxy S24 Protected jobs from Ganesh to Graphite
2024-07-24 bungeman@google.com Update XCode 11.4.1 to 15.4
2024-07-24 johnstiles@google.com Remove unused 'fIsClone' from VarDeclaration.

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,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-24 17:15:23 +00:00
Camille Simon
0619de0107 Upgrade Engine Android SDK to 35 (flutter/engine#53574)
**REVIEW BUT DO NOT MERGE:** Will merge after https://github.com/flutter/buildroot/pull/870 lands.

1: Updates engine to use Android 35. Part of https://github.com/flutter/flutter/issues/150215.
Engine step of https://github.com/flutter/flutter/blob/master/docs/platforms/android/Upgrading-Engine's-Android-API-version.md.

2: Updates test runner AGP version to 8.5, engine Gradle version to 8.9 to accommodate update.

3: Fixes lint and suppresses deprecation warnings caused by the update. None of the deprecations are unknown by the team (they are handled in the code), but the tests emitted warnings.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-07-24 16:54:38 +00:00
Robert Ancell
102617432b Don't rely on the renderer accessing the engine through the view. (flutter/engine#54049)
In the multi-view case there will be 0-N views, so instead hold a weak
reference on the engine.
2024-07-25 02:41:31 +12:00
skia-flutter-autoroll
549a525563 Roll Skia from 0315e534d936 to a9b1043eb23e (1 revision) (flutter/engine#54076)
https://skia.googlesource.com/skia.git/+log/0315e534d936..a9b1043eb23e

2024-07-24 kjlubick@google.com Remove legacy graphite image factories

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,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-24 12:26:32 +00:00
skia-flutter-autoroll
d9da7de57c Roll Dart SDK from f4f95688d5ca to 0b3c00feefb1 (1 revision) (flutter/engine#54075)
https://dart.googlesource.com/sdk.git/+log/f4f95688d5ca..0b3c00feefb1

2024-07-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-77.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,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://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-07-24 10:14:09 +00:00
Robert Ancell
83dca15abd Rename FlBackingStoreProvider to FlFramebuffer (flutter/engine#54047)
The name was confusing, as it only provided one type of backing store.
FlBackingStoreProvider sounds more like an interface that the
FlFramebuffer would implement if we had multiple backing stores.

Use OpenGL types for values.

Fix cases where this was sometimes called a texture.

Improve documentation.

Remove the use of GdkRectangle for dimensions - the framebuffer only has
a width and a height. There was code that was using the x,y values which
would always have been zero - this has now been removed.
2024-07-24 18:55:36 +12:00
Robert Ancell
bc9c7efb58 Remove unnecessary double cast (flutter/engine#54044) 2024-07-24 18:54:42 +12:00
Robert Ancell
904a1ab58f Fix variable name (flutter/engine#54045) 2024-07-24 18:54:30 +12:00
skia-flutter-autoroll
7c9ee3bb53 Roll Skia from 3f1b4e98f65a to 7ad882fb5320 (4 revisions) (flutter/engine#54071)
https://skia.googlesource.com/skia.git/+log/3f1b4e98f65a..7ad882fb5320

2024-07-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f211552c7990 to 8e90204125ac (2 revisions)
2024-07-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 64c6d0a7cb1f to d77400c7282a (8 revisions)
2024-07-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 74e2fbfd1765 to 90fdaa810322 (35 revisions)
2024-07-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 94d0b98eea9e to d77400c7282a

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,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-24 06:52:29 +00:00
skia-flutter-autoroll
aab723ee0c Roll Dart SDK from e53beb039093 to f4f95688d5ca (1 revision) (flutter/engine#54068)
https://dart.googlesource.com/sdk.git/+log/e53beb039093..f4f95688d5ca

2024-07-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-76.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,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://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-07-24 05:07:24 +00:00
Srujan Gaddam
0f69778e71 Change JSArray.length to return int (flutter/engine#54051)
This is in preparation for
https://dart-review.googlesource.com/c/sdk/+/373884, which will add length to the extension type itself. This will shadow the extension member, so we should make sure the type signatures match.
2024-07-24 01:12:19 +00:00
skia-flutter-autoroll
fa03262127 Roll Dart SDK from 17131486a2f7 to e53beb039093 (1 revision) (flutter/engine#54066)
https://dart.googlesource.com/sdk.git/+log/17131486a2f7..e53beb039093

2024-07-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-75.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,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://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-07-24 01:00:17 +00:00
skia-flutter-autoroll
e582c6b5ee Roll Fuchsia Linux SDK from ZcBsXDojTYbriHD7_... to qA7S-DZ5FyMtcM7_J... (flutter/engine#54064)
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://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-07-24 00:56:23 +00:00
Jim Graham
57d78e3da4 [DisplayList] Fix assertions on DisplayList verbose comparison tests (flutter/engine#54065)
Fixes 2 problems recently uncovered in the DisplayList verbose comparison test mechanism:

- The verbose compare methods never asserted a test failure, relying on the caller to do so from their return value - but they also did not prompt the caller to check the return value. So a `[[nodiscard]]` is added to remind test writers that they need to assert on the return value
- As a result of the above, some bad tests were recently added to the tree that were failing but did not assert a test failure. Now that the `[[nodiscard]]` is added, they failed to compile and had to have asserts added.

A secondary problem is that those non-failing tests were inadvertently cherry-picked from a reverted PR that is being reintroduced in incremental sections so as to avoid large scale golden image failures. The tests depend on parts of that PR that haven't been pulled forward yet (but will soon be) so those tests shouldn't have been added in the first place (and were failing, but not causing a gtest failure because of their missing asserts). They remain here, but their results are reversed to indicate the current state of affairs (they assert that the missing functionality isn't in place yet). Their assertions will be reverted when/as the missing functionality is pulled forward in a more incremental (responsible) way.
2024-07-24 00:18:05 +00:00
Chris Bracken
51706cd06f [iOS] Flush layer pool after platform view dispose (flutter/engine#54056)
`FlutterPlatformViewLayerPool` is a pool of iOS layers used for rendering platform views on iOS. When layers are no longer needed, we currently mark them available for re-use but we never actually flush them and thus recover the memory associated with these layers once we know that the layers are no longer needed.

We now flush the layer pool on `SubmitFrame` if a previously-used layer is no longer used in the current frame. In theory, this could cause a performance regression in the case where an additional layer is needed every second or third frame, but we should keep it simple on the first pass and only complicate things later if warranted.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-07-23 23:55:04 +00:00
Chris Bracken
16455a2543 [iOS] Mark EmbeddedViewCount const (flutter/engine#54062)
Since this method isn't mutating the pool, we should mark it const.

Cleanup spotted while working on https://github.com/flutter/engine/pull/54056.

No test because no semantic change. The compiler is the test.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-07-23 23:50:58 +00:00
skia-flutter-autoroll
e9d5c35bf1 Roll Skia from f4355cf73508 to 3f1b4e98f65a (1 revision) (flutter/engine#54060)
https://skia.googlesource.com/skia.git/+log/f4355cf73508..3f1b4e98f65a

2024-07-23 michaelludwig@google.com [graphite] Use non-aa bounds renderer for pixel-aligned rects

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,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-23 23:47:36 +00:00
skia-flutter-autoroll
24151460a2 Roll Skia from 2d518b6a793a to f4355cf73508 (9 revisions) (flutter/engine#54058)
https://skia.googlesource.com/skia.git/+log/2d518b6a793a..f4355cf73508

2024-07-23 jvanverth@google.com Disable path_text_clipped_uncached on Pixel4XL Vulkan configs
2024-07-23 johnstiles@google.com Mark samplers as explicitly-sampled when passing them to a function.
2024-07-23 michaelludwig@google.com Revert "[skif] Use src blending when possible"
2024-07-23 jamesgk@google.com Further limit F16 draw test
2024-07-23 bungeman@google.com Remove use of enable_skslc flag
2024-07-23 johnstiles@google.com Simplify control flow in css_hwb_to_srgb.
2024-07-23 chengyangyang-hf@loongson.cn [loong64] Optimize gauss blur imagefilter.
2024-07-23 nathanasanchez@google.com [SkSL] Change specialization mapping to expression
2024-07-23 jvanverth@google.com [graphite] Fix basic drawShadow functionality.

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,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-23 22:02:25 +00:00
skia-flutter-autoroll
5a9f3da0be Roll Dart SDK from eeb2e4e409bf to 17131486a2f7 (1 revision) (flutter/engine#54055)
https://dart.googlesource.com/sdk.git/+log/eeb2e4e409bf..17131486a2f7

2024-07-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-74.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,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://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-07-23 20:20:01 +00:00
skia-flutter-autoroll
85d9c4aa4a Roll Skia from a9019fddac28 to 2d518b6a793a (4 revisions) (flutter/engine#54052)
https://skia.googlesource.com/skia.git/+log/a9019fddac28..2d518b6a793a

2024-07-23 jamesgk@google.com Don't test F16 draws with advanced blend modes
2024-07-23 bungeman@google.com Android SkFontMgr prioritize stated weight
2024-07-23 sharaks@google.com Merge 4 release notes into RELEASE_NOTES.md
2024-07-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 5d0bdd3702f7 to f211552c7990 (2 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-23 19:38:14 +00:00
Jonah Williams
ae1f3bc7a9 [Impeller] add emulated advanced blend support for exp canvas. (flutter/engine#54020)
Refactors flip backdrop into a shared method and adds supported for emulated advanced blends in exp canvas. Last missing feature (AFAIK).
2024-07-23 18:23:14 +00:00
skia-flutter-autoroll
7ba8933ea6 Roll Skia from 1cda2a7b0ee4 to a9019fddac28 (3 revisions) (flutter/engine#54050)
https://skia.googlesource.com/skia.git/+log/1cda2a7b0ee4..a9019fddac28

2024-07-23 sharaks@google.com Update Skia milestone to 129
2024-07-23 johnstiles@google.com Use a separate overload for stable-ID calculation.
2024-07-23 johnstiles@google.com Migrate the specialized function-decl key into SkSLSpecialization.

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,jamesgk@google.com,jonahwilliams@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-07-23 18:21:12 +00:00
Jim Graham
3aafd537ae [DisplayList] track unbounded state on save layers and DisplayLists (flutter/engine#54032)
New flags on SaveLayerOptions will report if a saveLayer result is unbounded because a rendering operation within its contents did not have a definable bounds and there was no clip installed at the time (consider DrawPaint for example). A similar flag is found on DisplayList objects which reports if their top level had an unbounded operation.
2024-07-23 18:15:18 +00:00
Robert Ancell
94a7e50936 Temporarily disable use of glBlitFramebuffer on NVIDIA (flutter/engine#54040)
Workaround for https://github.com/flutter/flutter/issues/152099
2024-07-24 05:08:11 +12:00
Robert Ancell
c9ddcc41a4 Set the view ID for FlView (flutter/engine#54043)
Follow up to https://github.com/flutter/engine/pull/54018.
2024-07-24 04:57:12 +12:00
Chinmay Garde
f4e4700369 [Impeller] Implement OpenGL to Vulkan texture trampolining. (flutter/engine#53966)
This decouples the Impeller on-by-default effort from the release schedule and [plugin migrations](https://github.com/flutter/flutter/issues/151018).

The plugin migration documented in [go/impeller-plugin-migration][plugin-migration] is still recommended and facilitates zero-copy texture transfers between OpenGL and Vulkan. To recap, the plugin migration is to move away from the OpenGL-only SurfaceTexture APIs in the plugin interface.

This patch facilitates rendering OpenGL textures in a Vulkan renderer using texture trampolining using a single device-device transfer on all devices that support Impeller using the Vulkan renderer.

The performance of this approach is more than acceptable but at the cost of an additional texture allocation and will serve as a fallback to the for any remaining unmigrated plugins (all first-party plugins will already be migrated when the Impeller is on by default and we are following up on the migration of the major third-party plugins as well).

This is a straight improvement to the current state of things were unmigrated plugins will render an empty quad.
2024-07-23 16:41:20 +00:00
skia-flutter-autoroll
8f1ab25913 Roll Skia from f9a9c31b433b to 1cda2a7b0ee4 (72 revisions) (flutter/engine#54048)
Roll Skia from f9a9c31b433b to 1cda2a7b0ee4 (72 revisions)

https://skia.googlesource.com/skia.git/+log/f9a9c31b433b..1cda2a7b0ee4

2024-07-23 jamesgk@google.com [graphite] Force shader blending for kPlus
2024-07-23 michaelludwig@google.com [skif] Use src blending when possible
2024-07-23 nathanasanchez@google.com [SkSL][WGSL] Add unsized array parameter support in WGSL
2024-07-23 nathanasanchez@google.com [SkSL][Metal] Add unsized array parameter support in Metal
2024-07-23 johnstiles@google.com Fix fuzzer-discovered issue with struct redefinition.
2024-07-23 johnstiles@google.com Enable IWYU on SkSLTransform.h.
2024-07-23 johnstiles@google.com Track function calls via a stable ID instead of via pointer.
2024-07-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 85edb907199e to 7691cea7e53b (6 revisions)
2024-07-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 64c6d0a7cb1f to 6e7a5b65bfbc
2024-07-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from e1d5da316bdf to 64c6d0a7cb1f (15 revisions)
2024-07-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 2b33822c849c to 5d0bdd3702f7 (6 revisions)
2024-07-22 johnstiles@google.com Fix fuzzer-discovered issue with var-decls in a static switch.
2024-07-22 nicolettep@google.com [Dawn] Add YCbCr information to SamplerDesc; DawnSampler keys
2024-07-22 michaelludwig@google.com [skif] Don't force strict mode if the entire draw is safe but small
2024-07-22 bungeman@google.com Use snprintf instead of sprintf
2024-07-22 kjlubick@google.com Let old iOS builds download Xcode and set gn targets
2024-07-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from cf5bc2e4a408 to b7ecdc86a7b4
2024-07-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 87ec89cd0d09 to 52a246a737a2
2024-07-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from 6abcfbb93857 to 5084439cd9c3
2024-07-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-base from 6341b74cad37 to ca44dd6ab7bf
2024-07-22 nathanasanchez@google.com [SkSL][SPIR-V] Reuse synthesized samplers per specialization.
2024-07-22 chengyangyang-hf@loongson.cn [loong64] Optimize H5 video playback.
2024-07-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from be96f8cab214 to 2b33822c849c (1 revision)
2024-07-22 johnstiles@google.com Keep track of the current ModuleType as it is being compiled.
2024-07-22 michaelludwig@google.com [graphite] Read aggregate SSBO once in main()
2024-07-22 michaelludwig@google.com Revert "[graphite] Add AtlasProvider::freeGpuResources()"
2024-07-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from e1d5da316bdf to f7a02ed14681
2024-07-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 298c34c0e789 to e1d5da316bdf (18 revisions)
2024-07-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 374b289efbec to 74e2fbfd1765 (1 revision)
2024-07-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 19d877fcfda0 to be96f8cab214 (1 revision)
2024-07-21 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from 0e598a0c3f18 to 85edb907199e (7 revisions)
2024-07-21 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 8201eb0de74d to 374b289efbec (25 revisions)
2024-07-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8968630f35e6 to 19d877fcfda0 (1 revision)
2024-07-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 46869d939056 to 8968630f35e6 (4 revisions)
2024-07-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 400de76a98c4 to e1d5da316bdf
2024-07-19 johnstiles@google.com Migrate SkSL::Module into dedicated header.
2024-07-19 johnstiles@google.com Fix GLSL output when ES3 reserved words are used in the program.
2024-07-19 chengyangyang-hf@loongson.cn [Loong64] Added binary compatibility support.
2024-07-19 johnstiles@google.com Mark unsupported texture/sampler types as reserved.
2024-07-19 brianosman@google.com Limit search path when dynamically loading Windows system DLLs
2024-07-19 kjlubick@google.com Remove unnecessary casts
2024-07-19 bungeman@google.com Inline deprecated MTLGPUFamily values
2024-07-19 kjlubick@google.com Add Michael to include/ OWNERS
2024-07-19 johnstiles@google.com Factor out call-map lookup into a helper function.
2024-07-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 81ae4bd4a651 to 46869d939056 (2 revisions)
2024-07-19 brianosman@google.com Disable advanced blend on old NVIDIA via ANGLE
...
2024-07-23 16:37:24 +00:00
skia-flutter-autoroll
3355a9d3db Roll Dart SDK from 50d9bb72a128 to eeb2e4e409bf (1 revision) (flutter/engine#54046)
https://dart.googlesource.com/sdk.git/+log/50d9bb72a128..eeb2e4e409bf

2024-07-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-73.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,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://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-07-23 16:08:05 +00:00
skia-flutter-autoroll
0aebcbd947 Manual roll Skia from 939e1dac9815 to f9a9c31b433b (3 revisions) (flutter/engine#54037)
Manual roll requested by zra@google.com

https://skia.googlesource.com/skia.git/+log/939e1dac9815..f9a9c31b433b

2024-07-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ace59194583a to a0aa5f0d3b26 (11 revisions)
2024-07-18 sunnyps@chromium.org graphite: Cleanup StrikeCache in freeGpuResources
2024-07-18 johnstiles@google.com Avoid cloning IR during backend code generation.

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,jamesgk@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-07-23 15:15:23 +00:00
skia-flutter-autoroll
e1e0e21336 Roll Dart SDK from 7beae001e066 to 50d9bb72a128 (1 revision) (flutter/engine#54042)
https://dart.googlesource.com/sdk.git/+log/7beae001e066..50d9bb72a128

2024-07-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-72.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,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://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-07-23 11:53:37 +00:00
Robert Ancell
e1f2360083 Add fl_engine_add/remove_view (flutter/engine#54018)
This is API that will be required when we get multi-view support on
Linux. While this internal API is not currently used, I've made a PR so
it can be more easily reviewed.
2024-07-23 23:34:47 +12:00
Robert Ancell
d11f10ccb6 Make FlWindowStateMonitor (flutter/engine#54011)
Split window state monitor out of FlView and FlEngine to make it easier
to handle different API when using GTK4. It also allows better tests.
2024-07-23 22:47:56 +12:00
skia-flutter-autoroll
8681443a2c Roll Dart SDK from b937619129a4 to 7beae001e066 (1 revision) (flutter/engine#54036)
https://dart.googlesource.com/sdk.git/+log/b937619129a4..7beae001e066

2024-07-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-71.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-07-23 04:59:35 +00:00
skia-flutter-autoroll
94ebb2e4b5 Roll Fuchsia Linux SDK from PefNEmf1_cZtEGlZc... to ZcBsXDojTYbriHD7_... (flutter/engine#54029)
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-07-22 22:50:07 +00:00
skia-flutter-autoroll
70aebff7ac Manual roll Dart SDK from 503192257a47 to b937619129a4 (13 revisions) (flutter/engine#54028)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/503192257a47..b937619129a4

2024-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-70.0.dev
2024-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-69.0.dev
2024-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-68.0.dev
2024-07-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-67.0.dev
2024-07-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-66.0.dev
2024-07-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-65.0.dev
2024-07-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-64.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-63.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-62.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-61.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-60.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-59.0.dev
2024-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-58.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,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-07-22 22:30:23 +00:00
Chinmay Garde
1c56fe1f1f [Impeller] Cleanly revert requiring backpressure for AHB swapchains. (flutter/engine#54027)
Revert 2cdd45bfd9a9000d68f4df043a71a3dd6c68c5b0

This was a partial revert. See explanation in https://github.com/flutter/engine/pull/54012#issuecomment-2243812137
2024-07-22 22:24:05 +00:00
skia-flutter-autoroll
d5da2b6729 Manual roll Dart SDK from 0f61238a27b0 to 503192257a47 (2 revisions) (flutter/engine#54026)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/0f61238a27b0..503192257a47

2024-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-57.0.dev
2024-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-56.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,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-07-22 21:28:24 +00:00
Jonah Williams
bb010156f5 [Impeller] ensure fp rounding errors don't cause us to lose a row of pixels when computing text positions. (flutter/engine#54015)
Dividing then multipliying can lead to position values like 432.99987 which end up losing a pixel.
2024-07-22 19:03:04 +00:00
Chris Bracken
08c7b8d6e2 Prepend third_party/pyyaml to python sys.path (flutter/engine#54023)
Previously we were appending Flutter's fork of third_party/pyyaml to the Python sys.path. In the case where a bot image or local install already has pyyaml installed elsewhere on the path, ours will fail to be picked up. Instead prepend to the path.

Issue spotted by jsimmons@.

Related: https://github.com/flutter/engine/pull/54001

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-07-22 17:38:07 +00:00