28674 Commits

Author SHA1 Message Date
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
Chinmay Garde
3a10aabff9 [Impeller] Remove implicit calls to glGetError in opt modes. (flutter/engine#54016)
This many explicit calls are all but useless unless you are doing bringup. And we do that in unopt modes anyway. Having this on in even the debug and profile opt modes was turning out to be pretty egregious.
2024-07-22 17:16:02 +00:00
auto-submit[bot]
508890ef88 Reverts "[Impeller] enable ahb swapchain on emulators. (#54019)" (flutter/engine#54022)
Reverts: flutter/engine#54019
Initiated by: jonahwilliams
Reason for reverting: does not work on CI emulators
Original PR Author: jonahwilliams

Reviewed By: {chinmaygarde}

This change reverts the following previous change:
Fixes  https://github.com/flutter/flutter/issues/147533

This works now that the backpressure issue is fixed. Maybe the wait semaphore didn't work, but the CPU wait on the fence does.
2024-07-22 16:51:47 +00:00
Jonah Williams
dd16661b5c [Impeller] enable ahb swapchain on emulators. (flutter/engine#54019)
Fixes  https://github.com/flutter/flutter/issues/147533

This works now that the backpressure issue is fixed. Maybe the wait semaphore didn't work, but the CPU wait on the fence does.
2024-07-22 15:50:19 +00:00
Jonah Williams
0e9b328fc2 [Impeller] detect max cull rect on bounds. (flutter/engine#54013)
Fixes https://github.com/flutter/flutter/issues/151785

if the bounds given to impeller SaveLayer is kMaxCullRect, treat this as unbounded.
2024-07-20 17:29:28 +00:00
Jonah Williams
5c954b9cfe [Impeller] try disabling backpressure in AHB swapchain. (flutter/engine#54012)
Enabling the ahb backpressure has increased frame times - probably because this is now WAI and delaying the HB readyness. Lets try disabling it before we back out the AHB swapchain again.

See https://flutter-flutter-perf.skia.org/e/?begin=1721400948&end=1721487348&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%3D41656%26name%3D%252Carch%253Dintel%252Cbranch%253Dmaster%252Cconfig%253Ddefault%252Cdevice_type%253DPixel_7_Pro%252Cdevice_version%253Dnone%252Chost_type%253Dlinux%252Csub_result%253D90th_percentile_frame_rasterizer_time_millis%252Ctest%253Dnew_gallery_impeller__transition_perf%252C

Test: this is all benchmark performance we're testing.
2024-07-20 17:21:25 +00:00
Chris Bracken
a03068b535 [iOS] Eliminate --clang-dir flag (flutter/engine#54008)
This is only ever used for gen_snapshot_arm64 where the value will only
ever be 'clang_x64'. If we were to migrate builds to arm64 hosts, the
gen_snapshot_x64 target would be broken as the script stands today.

This flag is never passed by recipe infra or outside callers, and can
thus be safely inlined. The same refactoring was performed for
generating universal gen_snapshots in #53954.

A followup patch will update the location where this gen_snapshot binary
is generated (and adds an arm64 host binary build), and the merged
universal gen_snapshot_${target_cpu} will be written to the root output
directory.

This is minor pre-factoring to simplify the followup patch, which
migrates to universal binaries for iOS.

Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/69157
2024-07-19 17:31:38 -07:00
Chris Bracken
89811b3627 Move !is_android to build_engine_artifacts declaration (flutter/engine#54006)
The `//flutter/build/archives:artifacts` target is used to build a zip
archive (artifacts.zip) of host tools such as flutter_tester, the Dart
kernel compiler, the impellerc shader compiler, and other tooling that
is bundled in debug-mode host builds.

This moves the `!is_android` to the definition of
`build_engine_artifacts`. This is required because of the way that we
produce 32-bit arm gen_snapshot for Android on Windows hosts, which
relies on the regular x64 host toolchain due to us having no 32-bit arm
toolchain for Windows. As such, `current_toolchain == host_toolchain` on
that platform.

```
build_engine_artifacts =
    flutter_build_engine_artifacts &&
    (current_toolchain == host_toolchain ||
     (is_linux && !is_chromeos && current_cpu != "arm") || is_mac || is_win)
```

On iOS builds, we don't have this issue since `current_toolchain` will
be one of:
* `//build/toolchain/mac:ios_clang_arm`
* `//build/toolchain/mac:ios_clang_arm_sim`
* `//build/toolchain/mac:ios_clang_x64_sim`

Whereas `host_toolchain` will be one of:
* `//build/toolchain/mac:clang_arm64`
* `//build/toolchain/mac:clang_x64`

This patch also adds documentation to clarify the purpose of this target
and where related artifacts are produced so that future readers don't
need to do a deep dive into our build plumbing to figure this out.

While the target itself is primarily intended for producing host
binaries, one target binary (gen_snapshot) is bundled into the same
archive bundle as the host tools. This should be refactored such that
just like iOS and Android, they are bundled into their own
target-platform-specific archive, and the tool code accordingly updated
to pull these down into the appropriate cache directory.

As a side-note, on macOS we do rely on this archive target for the host
tools, but the bundled gen_snapshot is unused -- instead, one produced
by the //flutter/sky/tools/create_macos_gen_snapshots.py script used.
This should be fixe in a followup patch.

Related: https://github.com/flutter/flutter/issues/38935

Identified while trying to resolve:
Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/69157

## 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-07-19 13:34:28 -07:00
Zachary Anderson
63d8e2bbe6 [et] Plumb -j to ninja (flutter/engine#54005)
Also computes a better `-j` when RBE is enabled.

Fixes https://github.com/flutter/flutter/issues/147667
2024-07-19 20:28:47 +00:00
Jonah Williams
7b3144290f [Impeller] re-enable AHB swapchain. (flutter/engine#53978)
Fixes https://github.com/flutter/flutter/issues/148139

Block on the CPU rather than immediately beginning encoding. Seems to fix the synchronization issues that we knew about. We need to find a way to use AHB swapchains, as it seems like correct synchronization via either SurfaceView or a SurfaceControl hierarchy will require exposing our rendering as a SurfaceTransaction.
2024-07-19 20:05:12 +00:00
Harry Terkelsen
9e797d1461 [canvaskit] Decode images using <img> tag decoding (flutter/engine#53201)
Prefer to decode images using the browser API rather than with CanvasKit to avoid jank when decoding.

Part of deprecating the HTML renderer: https://github.com/flutter/flutter/issues/145954

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