28420 Commits

Author SHA1 Message Date
skia-flutter-autoroll
2783af7183 Roll Skia from 06cd203d0607 to f7e4ddabb754 (2 revisions) (flutter/engine#55041)
https://skia.googlesource.com/skia.git/+log/06cd203d0607..f7e4ddabb754

2024-09-09 fmalita@google.com [skottie] Allow conincident keyframes
2024-09-09 kjlubick@google.com Revert "Update to Bazel 7"

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,bwils@google.com,codefu@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-09-09 16:17:04 +00:00
skia-flutter-autoroll
7d6bb315bc Roll Fuchsia Linux SDK from Dxly0DC9pQXTXVNm0... to kIWQ460iagZLxVRPc... (flutter/engine#55039)
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 codefu@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-09-09 12:10:38 +00:00
Jonah Williams
0a0883219e [engine] dispatch platform channel messages through event loop, except navigation on start. (flutter/engine#55027)
This is a re-land of https://github.com/flutter/engine/pull/55006, except that we special case the navigation channel to immediately dispatch its message if the isolate is not yet running.

This preserves the existing behavior relied upon by several iOS add2app tests, as well as the still used embedder v1 - and potentially undicovered future embedders.
2024-09-08 17:38:18 +00:00
skia-flutter-autoroll
dd4387264c Roll Fuchsia Linux SDK from BF-8UyvqW5l52-hP2... to Dxly0DC9pQXTXVNm0... (flutter/engine#55033)
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 codefu@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-09-08 09:02:23 +00:00
skia-flutter-autoroll
c70a8bb1dd Manual roll Dart SDK from 0f783bdb7a4d to b6c3cd9b93f1 (1 revision) (flutter/engine#55031)
Manual roll requested by asiva@google.com

https://dart.googlesource.com/sdk.git/+log/0f783bdb7a4d..b6c3cd9b93f1

2024-09-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-218.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,codefu@google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-08 06:19:30 +00:00
Jonah Williams
5b3c9eb175 [Impeller] Disable exp canvas. (flutter/engine#55026)
Speculative revert for current devicelab failures.
2024-09-07 17:37:09 +00:00
skia-flutter-autoroll
4059a08e64 Roll Fuchsia Linux SDK from PBeI0gGvgFdXV6hCg... to BF-8UyvqW5l52-hP2... (flutter/engine#55024)
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 codefu@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-09-07 07:41:23 +00:00
auto-submit[bot]
f84f9c92b5 Reverts "[engine] reland: always post tasks for platform channel responses. (#55006)" (flutter/engine#55022)
Reverts: flutter/engine#55006
Initiated by: jonahwilliams
Reason for reverting: still failling mac module test
Original PR Author: jonahwilliams

Reviewed By: {jason-simmons}

This change reverts the following previous change:
Reland of https://github.com/flutter/engine/pull/54975

Fixes the initial route behavior for iOS. Previously the initial route setting would _always_ be posted as a task, which after merging the threads would fire after isolate creation, thus it would not actually update the initial route setting. Fixed Engine constructor so that it reads the initial route from the settings.
2024-09-07 02:56:46 +00:00
Jenn Magder
64437a0b8f Turn off software rendering in iOS scenario golden tests (flutter/engine#55016)
Follow-up to https://github.com/flutter/engine/pull/45093.  Remove software rendering for the golden/screenshot compare iOS scenario tests.  Throw an exception if this flag is passed into the test app.  Delete `RenderingSelectionTest`.

This did require updating some screenshots, so there are changes.

Note, these golden tests are still not running on Impeller, but I'm going to follow-up in https://github.com/flutter/engine/pull/55012.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-07 02:44:26 +00:00
auto-submit[bot]
a16be84457 Reverts "[skwasm] use temporary RawPaint objects (#54917)" (flutter/engine#55018)
Reverts: flutter/engine#54917
Initiated by: jonahwilliams
Reason for reverting: failing on framework -> engine roll  https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20web_skwasm_tests_7_last/10571/overview
Original PR Author: yjbanov

Reviewed By: {eyebrowsoffire}

This change reverts the following previous change:
Same as https://github.com/flutter/engine/pull/54818, but for Skwasm.

Addresses the `Paint` issue in https://github.com/flutter/flutter/issues/153678 in Skwasm
2024-09-07 00:19:45 +00:00
Jonah Williams
8ca7e1cd90 [engine] reland: always post tasks for platform channel responses. (flutter/engine#55006)
Reland of https://github.com/flutter/engine/pull/54975

Fixes the initial route behavior for iOS. Previously the initial route setting would _always_ be posted as a task, which after merging the threads would fire after isolate creation, thus it would not actually update the initial route setting. Fixed Engine constructor so that it reads the initial route from the settings.
2024-09-06 23:48:09 +00:00
skia-flutter-autoroll
e81422cd4c Roll Skia from 4786936b4c0c to 06cd203d0607 (2 revisions) (flutter/engine#55014)
https://skia.googlesource.com/skia.git/+log/4786936b4c0c..06cd203d0607

2024-09-06 kjlubick@google.com Move SkMSec out of public API
2024-09-06 bungeman@google.com Replace "exec_tools" with "tools"

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-06 22:47:24 +00:00
Paul Berry
92e2915b51 [multiple] Avoid new unreachable_switch_default warning. (flutter/engine#54996)
The Dart analyzer will soon be changed so that if the `default` clause
of a `switch` statement is determined to be unreachable by the
exhaustiveness checker, a new warning of type
`unreachable_switch_default` will be issued. This parallels the behavior
of the existing `unreachable_switch_case` warning, which is issued
whenever a `case` clause of a `switch` statement is determined to be
unreachable.

Before adding the new warning to the analyzer, code in the engine needs
to first be updated to eliminate these unreachable `default` clauses, so
that the warning won't cause builds to break.

For more information, see
https://github.com/dart-lang/sdk/issues/54575.
2024-09-06 15:24:36 -07:00
Yegor
adfd4c03de [skwasm] use temporary RawPaint objects (flutter/engine#54917)
Same as https://github.com/flutter/engine/pull/54818, but for Skwasm.

Addresses the `Paint` issue in https://github.com/flutter/flutter/issues/153678 in Skwasm
2024-09-06 22:21:54 +00:00
Jim Graham
6d0f7279e2 [DisplayList] use DlScalar, DlPoint, DlRect exclusively in DlOpReceiver methods (flutter/engine#54982)
Wean the DlOpReceiver interface and implementations off of using the SkScalar, Sk[I]Rect, and SkPoint objects in favor of our own DL/Impeller versions.

The start of an ongoing effort to eventually compartmentalize all use of Skia interfaces into a single backend rendering module that is one of 2 semi-pluggable renderers.
2024-09-06 22:16:05 +00:00
skia-flutter-autoroll
199369b902 Roll Skia from f38ea0134dba to 4786936b4c0c (4 revisions) (flutter/engine#55013)
https://skia.googlesource.com/skia.git/+log/f38ea0134dba..4786936b4c0c

2024-09-06 jvanverth@google.com Revert "[graphite] Swap shape inversion for ClipOps."
2024-09-06 kjlubick@google.com Update to Bazel 7
2024-09-06 lukasza@chromium.org [rust png] Implement `SkPngRustCodec::onGetRepetitionCount`.
2024-09-06 michaelludwig@google.com [graphite] Add replayTranslation and dstCopyOffset to intrinsic uniforms

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-06 21:34:35 +00:00
Jonah Williams
1da5dd68fd [Impeller] opt into exp canvas. (flutter/engine#54913)
Switch back to new canvas implementation, which allows us to complete the display list/impeller interop arc of work. While we're at it, switch the subpass size rounding logic to round out if there is no image filter.

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

Part of https://github.com/flutter/flutter/issues/142054
2024-09-06 20:33:22 +00:00
skia-flutter-autoroll
04fffd2fbe Roll Skia from 8f62a6a4a299 to f38ea0134dba (4 revisions) (flutter/engine#55008)
https://skia.googlesource.com/skia.git/+log/8f62a6a4a299..f38ea0134dba

2024-09-06 michaelludwig@google.com [graphite] Centralize handling of viewport/rtAdjust values
2024-09-06 egdaniel@google.com [Vulkan] Fix deletion of fences on failed submits.
2024-09-06 egdaniel@google.com [Vulkan] Add AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM checks to switch statements.
2024-09-06 robertphillips@google.com [graphite] Move lingering Viewer flag handling to SetTestOptions

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-06 19:39:52 +00:00
Jonah Williams
547dbe4c4c [impeller] fake image for fake tests. (flutter/engine#54974)
Simulator only change to allow toImage and toByteData to not fail when there is no metal context w/ impeller.
2024-09-06 18:53:53 +00:00
skia-flutter-autoroll
ac26f2ceb4 Roll Skia from 6ad117bd2efe to 8f62a6a4a299 (1 revision) (flutter/engine#55001)
https://skia.googlesource.com/skia.git/+log/6ad117bd2efe..8f62a6a4a299

2024-09-06 michaelludwig@google.com [graphite] Move SkSL compilation into MtlGraphics|ComputePipeline::Make

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-06 17:03:27 +00:00
davidhicks980
6674a4c33b Change "there own" to "their own" in Flutter-GPU docs (flutter/engine#54921)
Changed the word "there" to "their" in Flutter GPU doc... which I think is correct, but I could be wrong. Thanks!

- [] 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 the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-06 16:49:18 +00:00
auto-submit[bot]
f3c121ecb5 Reverts "[engine] always force platform channel responses to schedule a task. (#54975)" (flutter/engine#55000)
Reverts: flutter/engine#54975
Initiated by: jtmcdole
Reason for reverting: I believe this change caused flutter/flutter to break in an engine roll. It was one of two changes - the other being a webui change.

Tests broken:

module_test_ios:  testDualCold

router test:

```
[2024-09-05 17:43:20.837343] [STDOUT] stderr: [ +135 ms] VMServiceFlutterDriver: Connected to Flutter application.
[2024-09-05 17:43:20.841927] [STDOUT] stdout: [   +4 ms] 00:00 +0: 
Original PR Author: jonahwilliams

Reviewed By: {jason-simmons, johnmccutchan}

This change reverts the following previous change:
If we use runNowOrPostTask on platform channel responses, then we may not wake up the dart message loop. If nothing else wakes it up, then the embedder may hang on platform channel responses.

This fixes several google3 integration tests when run in merged thread mode.
2024-09-06 15:54:46 +00:00
skia-flutter-autoroll
4363170f96 Roll Skia from b6bab0fde426 to 6ad117bd2efe (2 revisions) (flutter/engine#54999)
https://skia.googlesource.com/skia.git/+log/b6bab0fde426..6ad117bd2efe

2024-09-06 michaelludwig@google.com [graphite] Simplify Dawn bound uniform tracking
2024-09-06 michaelludwig@google.com [graphite] Refactor Dawn intrinsic uniforms handling into helper class

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-06 15:39:50 +00:00
skia-flutter-autoroll
5dbb04ad1e Roll Skia from aec11ae18bb6 to 368f209ccca5 (3 revisions) (flutter/engine#54992)
https://skia.googlesource.com/skia.git/+log/aec11ae18bb6..368f209ccca5

2024-09-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 59eff3660f81 to 61c26fd6930a (3 revisions)
2024-09-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from f982e0beb5db to b96a50f0c8f0 (11 revisions)
2024-09-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from d3b7a448690d to b339ed4daf66 (22 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,codefu@google.com,jlavrova@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-06 08:33:38 +00:00
skia-flutter-autoroll
9975d42922 Roll Fuchsia Linux SDK from xNv47d1TZmK9XgTxu... to PBeI0gGvgFdXV6hCg... (flutter/engine#54990)
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 codefu@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-09-06 06:27:04 +00:00
skia-flutter-autoroll
69ad34593c Roll Skia from 809f868ded1c to aec11ae18bb6 (22 revisions) (flutter/engine#54988)
https://skia.googlesource.com/skia.git/+log/809f868ded1c..aec11ae18bb6

2024-09-05 michaelludwig@google.com [graphite] Store dst copy texture and bounds on RenderPassTask
2024-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3763a16adf08 to a0dffec9be81 (3 revisions)
2024-09-05 robertphillips@google.com [graphite] Update viewer's flag handling
2024-09-05 michaelludwig@google.com [graphite] Convert Uniform|TextureDataBlock to value types
2024-09-05 borenet@google.com [infra] Fix infra_revision in DEPS
2024-09-05 brianosman@google.com Add Skia Client Search HTML source to repository
2024-09-05 michaelludwig@google.com [graphite] Add disable_robustness toggle for viewer/dm/nanobench
2024-09-05 michaelludwig@google.com [graphite] TextureDataBlock holds span of texture proxies
2024-09-05 jvanverth@google.com [graphite] Add DrawAtlasTest.
2024-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from d1a4b0ff5b83 to 59eff3660f81 (5 revisions)
2024-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6256e7687963 to 3763a16adf08 (4 revisions)
2024-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from c0bc4d075afe to d3b7a448690d (17 revisions)
2024-09-05 kylechar@chromium.org [graphite] Disable SSBOs for Dawn/Vulkan
2024-09-04 michaelludwig@google.com [graphite] Move PipelineDataCache into PipelineData.h
2024-09-04 michaelludwig@google.com Add SkArenaAlloc::makeArrayCopy()
2024-09-04 borenet@google.com [bazel] Add BazelBuild job for //example/external_client:use_ganesh_gl
2024-09-04 jmbetancourt@google.com add build clarification to getting started docs
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 725499142cb6 to 6256e7687963 (2 revisions)
2024-09-04 kjlubick@google.com Add Dockerfile/script to build fiddler backend
2024-09-04 brianosman@google.com Guard both divisions in luminosity blend mode
2024-09-04 borenet@google.com [infra] Add explicit DEPS entry for infra repo
2024-09-04 robertphillips@google.com [graphite] Add jobs for testing Tint IR

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-06 02:42:29 +00:00
gaaclarke
bba852ec0c Removes the int storage from Color (flutter/engine#54714)
issue: https://github.com/flutter/flutter/issues/127855
This depends on https://github.com/flutter/flutter/pull/153938 being
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.
- [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-09-05 19:11:25 -07:00
Chris Bracken
3924630cbc iOS,macOS: Add logging of duplicate codesign binaries (flutter/engine#54987)
When duplicates are found in the input lists, log them to stderr. For the case of duplicates across list, we print the whole list, sorted, rather than three separate lists, as it makes it simpler to spot the duplicate, at which point the file will be easy to spot in either `create_ios_framework.py` or `create_macos_framework.py`.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-06 01:27:24 +00:00
Siva
5084e0ca2b Manual roll of Dart. (flutter/engine#54983)
[https://dart.googlesource.com/sdk.git/+log/1a6246225b75..0f783bdb7a4d
](https://dart.googlesource.com/sdk.git/+log/1a6246225b75..0f783bdb7a4d
)
Merging Version 3.6.0-217.0.dev

The change https://dart-review.googlesource.com/c/sdk/+/382385 moved
some package locations and these had to be adjusted in the Flutter DEPS
file.
2024-09-05 16:33:44 -07:00
Chris Bracken
0669d07612 iOS,macOS: add unsigned_binaries.txt (flutter/engine#54977)
There are three categories of binaries produced as part of the framework artifacts:
* Those that use APIs that require entitlements and must be code-signed; e.g. gen_snapshot
* Those that do not use APIs that require entitlements and must be code-signed; e.g. Flutter.framework dylib.
* Those that do not need to be code-signed; e.g. Flutter.dSYM symbols.

Until now, our signing infrastructure has assumed that all mach-o binaries in the artifacts we produce require a signature. dSYM files are not required to be codesigned, although the xcframework containing them are, and as such they cannot be removed or tampered with.

The framework code-signing tests in `dev/bots/suite_runners/run_verify_binaries_codesigned_tests.dart` are only run on post-submit on release branches, and thus, this issue was not uncovered until the first release after all the dSYM work landed. Those tests were updated in https://github.com/flutter/flutter/pull/154591. This updates the framework and artifact archive generation code to also explicitly exclude those files from signing.

Issue: https://github.com/flutter/flutter/issues/154571
Related: https://github.com/flutter/flutter/issues/116493
Related: https://github.com/flutter/flutter/issues/153532

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-05 23:12:42 +00:00
Jason Simmons
3bef64d52b Manual Skia roll to 809f868ded1c (flutter/engine#54972)
Includes a build script update required for a new source file added on Windows
2024-09-05 23:12:40 +00:00
Harry Terkelsen
7bb35d8a86 [canvaskit] Fix incorrect calculation of ImageFilter paint bounds (flutter/engine#54980)
Fixes calculation of `ImageFilter` bounds by taking into account the
offset.

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

## 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-09-05 15:23:37 -07:00
Jonah Williams
326bd99dc9 [engine] always force platform channel responses to schedule a task. (flutter/engine#54975)
If we use runNowOrPostTask on platform channel responses, then we may not wake up the dart message loop. If nothing else wakes it up, then the embedder may hang on platform channel responses.

This fixes several google3 integration tests when run in merged thread mode.
2024-09-05 20:49:56 +00:00
Juanjo Tugores
cf40f73057 Fix unexpected ViewFocus events when Text Editing utilities change focus in the middle of a blur call. (flutter/engine#54965)
In [some cases][1], text editing utilities re-focus the `<input />` element during a blur event. This causes an unusual sequence of `focusin` and `focusout` events, leading to the engine sending unintended events.

Consider the following HTML code:

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <div id="container">
    <input type="" value="1" id="input1">
    <input type="" value="2" id="input2">
    <input type="" value="3" id="input3">
  </div>

  <script>
    container.addEventListener('focusin', (ev) => {
      console.log('focusin: focus was gained by', ev.target);
    });
    container.addEventListener('focusout', (ev) => {
      console.log('focusout: focus is leaving', ev.target, 'and it will go to', ev.relatedTarget);
    });
  </script>
</body>
</html>
```

Clicking input1, then input2, then input3 produces the following console logs:

```
// Input1 is clicked
focusin: focus was gained by <input type value=​"1" id=​"input1">​

// Input2 is clicked
focusout: focus is leaving <input type value=​"1" id=​"input1">​ and it will go to <input type value=​"2" id=​"input2">​
focusin: focus was gained by <input type value=​"2" id=​"input2">​

// Input3 is clicked
focusout: focus is leaving <input type value=​"2" id=​"input2">​ and it will go to <input type value=​"3" id=​"input3">​
focusin: focus was gained by <input type value=​"3" id=​"input3">​
```

Now, let's add a blur handler that changes focus:

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <div id="container">
    <input type="" value="1" id="input1">
    <input type="" value="2" id="input2">
    <input type="" value="3" id="input3">
  </div>

  <script>
    container.addEventListener('focusin', (ev) => {
      console.log('focusin: focus was gained by', ev.target);
    });
    container.addEventListener('focusout', (ev) => {
      console.log('focusout: focus is leaving', ev.target, 'and it will go to', ev.relatedTarget);
    });
    input2.addEventListener('blur', (ev) => {
      input2.focus();
    });
  </script>
</body>
</html>
```

The log sequence changes and gives the wrong impression that no dom element has focus:

```
// Input1 is clicked
focusin: focus was gained by <input type value=​"1" id=​"input1">​

// Input2 is clicked
focusout: focus is leaving <input type value=​"1" id=​"input1">​ and it will go to <input type value=​"2" id=​"input2">​
focusin: focus was gained by <input type value=​"2" id=​"input2">​

// Input3 is clicked, but the handler kicks in and instead of the following line being a focusout, it results in a focusin call first.
focusin: focus was gained by <input type value=​"2" id=​"input2">​
focusout: focus is leaving <input type value=​"2" id=​"input2">​ and it will go to null
```

In addition to that, during `focusout` processing, `activeElement` typically points to `<body />`. However, if an element is focused during a `blur` event, `activeElement` points to that focused element.  Although, undocumented it can be verified with:

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <div id="container">
    <input type="" value="1" id="input1">
    <input type="" value="2" id="input2">
    <input type="" value="3" id="input3">
  </div>

  <script>
    container.addEventListener('focusin', (ev) => {
      console.log('focusin: was gained by', ev.target);
    });
    container.addEventListener('focusout', (ev) => {
      console.log('document.hasFocus()', document.hasFocus());     
      console.log('document.activeElement', document.activeElement);
      console.log('focusout: focus is leaving', ev.target, 'and it will go to', ev.relatedTarget);
    });
    input2.addEventListener('blur', (ev) => {
      input2.focus();
    });
  </script>
</body>
</html>
```

We leverage these behaviors to ignore `focusout` events when the document has focus but `activeElement` is not `<body />`.

https://github.com/flutter/flutter/issues/153022

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-05 18:23:55 +00:00
Jonah Williams
31a579bf40 [Impeller] migrate last color wheel test to DisplayList. (flutter/engine#54964)
Update last AIKS golden test.

Part of Part of https://github.com/flutter/flutter/issues/142054
2024-09-05 17:54:18 +00:00
Jim Graham
534995967b [DisplayList] Remove unnecessary DisplayListBuilder as DlOpReceiver accesses (flutter/engine#54969)
Fixes https://github.com/flutter/flutter/issues/144070

There is a mechanism by which you can access a DisplayListBuilder as if it were a DlOpReceiver for dispatching one DisplayList into another.

This mechanism also resembles the legacy way in which one would write graphics snippets prior to the creation of the DlCanvas interface and so we have dozens of old unit tests which were written to test the Builder class by filling it with commands in the Receiver/Dispatcher format. This type of access is obsolete and maintaining the ability for arbitrary code to talk to a Builder in that manner is getting in the way of future work.

This PR rewrites over 100 of such unit tests to use the standard DlCanvas-style interface to record operations into a Builder, leaving only a dozen or so cases of internal state tests that still inject ops directly to test the internal state keeping.
2024-09-05 16:38:18 +00:00
skia-flutter-autoroll
a5f8116cf1 Roll Skia from 0b24a6d3c514 to 655699edfc97 (4 revisions) (flutter/engine#54958)
https://skia.googlesource.com/skia.git/+log/0b24a6d3c514..655699edfc97

2024-09-04 kjlubick@google.com Update straggling legacy ganesh #include path
2024-09-04 robertphillips@google.com [graphite] Update DM's handling of FakeWGPU jobs
2024-09-04 nicolettep@google.com Add infra jobs to capture more Android perf data
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 79281094cb19 to c0bc4d075afe (5 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,codefu@google.com,jlavrova@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-05 15:10:06 +00:00
skia-flutter-autoroll
babacc8007 Roll Fuchsia Linux SDK from qS4FRrP_KI7czLMKv... to xNv47d1TZmK9XgTxu... (flutter/engine#54968)
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 codefu@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-09-05 05:19:24 +00:00
Harry Terkelsen
acf6660982 Add crossOrigin property to <img> tag used for decoding (flutter/engine#54961)
Adds the `crossOrigin` property to the `<img>` tag used for decoding. This allows us to use cross-origin images in CanvasKit as if it were loaded from the same origin, as long as the CORS headers are properly set on the server hosting the image.

In the case where the image doesn't have proper CORS headers, this change causes an error to occur while attempting to decode, rather than later on in Skia when the image is converted into a texture. Hitting the cross-origin error later causes Skia to behave in undefined ways.

Progress towards https://github.com/flutter/flutter/issues/149843 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-05 00:29:36 +00:00
skia-flutter-autoroll
34bc9af6d5 Manual roll Dart SDK from 139867e57ba9 to 1a6246225b75 (18 revisions) (flutter/engine#54962)
Manual roll requested by kevinjchisholm@google.com

https://dart.googlesource.com/sdk.git/+log/139867e57ba9..1a6246225b75

2024-09-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-216.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-215.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-214.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-213.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-212.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-211.0.dev
2024-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-210.0.dev
2024-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-209.0.dev
2024-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-208.0.dev
2024-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-207.0.dev
2024-09-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-206.0.dev
2024-08-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-205.0.dev
2024-08-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-204.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-203.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-202.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-201.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-200.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-199.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 codefu@google.com,dart-vm-team@google.com,kevinjchisholm@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-09-04 23:58:20 +00:00
gaaclarke
02b8207c9a Framework wide color linear gradients (flutter/engine#54748)
This implements wide gamut color support for gradients in the engine.

issue: https://github.com/flutter/flutter/issues/127855
integration test: https://github.com/flutter/flutter/pull/153976

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-04 23:50:19 +00:00
Matan Lurey
d068ccc47d Add more package:test (removing usages of package:litetest) (flutter/engine#54882)
... also removed a few TODOs, deleted a proof of concept directory.

Work towards https://github.com/flutter/flutter/issues/133569.
2024-09-04 22:42:55 +00:00
Jonah Williams
b9aa7ed855 [Impeller] fix NPE when checking known bad driver. (flutter/engine#54959)
context can be null here which is causing https://github.com/flutter/flutter/issues/154622
2024-09-04 17:44:16 +00:00
skia-flutter-autoroll
dd2395fe5d Roll Skia from d1121ff583c4 to 0b24a6d3c514 (1 revision) (flutter/engine#54957)
https://skia.googlesource.com/skia.git/+log/d1121ff583c4..0b24a6d3c514

2024-09-04 brianosman@google.com Rename all JUMPER macros to SKRP

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-04 14:38:25 +00:00
Kaylee Lubick
ef050da2b8 Use moved Skia Ganesh header files (flutter/engine#54833)
In http://review.skia.org/892736 and http://review.skia.org/893856, Skia
moved its Ganesh headers to align with the Graphite ones. This updates
Flutter to use those moved files.

All changes are mechanical and there is no API difference between the
headers (indeed, the old ones simply `#include` the new ones).

## 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.
- [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.
- [ ] 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-09-04 07:09:51 -07:00
skia-flutter-autoroll
fe5a18dad1 Roll Skia from 04d973ac4f26 to 32ab535755d2 (5 revisions) (flutter/engine#54954)
https://skia.googlesource.com/skia.git/+log/04d973ac4f26..32ab535755d2

2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 0457b8183fa6 to f982e0beb5db
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 5e29f5c97fc4 to 725499142cb6 (5 revisions)
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 22f0ebaf6218 to 0457b8183fa6 (4 revisions)
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3c4bdf66d81d to 5561c71fa64e (1 revision)
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 7abbf53a30e9 to 79281094cb19 (12 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,codefu@google.com,jlavrova@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-04 07:40:27 +00:00
skia-flutter-autoroll
503f3f2778 Roll Fuchsia Linux SDK from BaO2fyTu4jhvdTtdE... to qS4FRrP_KI7czLMKv... (flutter/engine#54951)
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 codefu@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-09-04 04:05:05 +00:00
skia-flutter-autoroll
d88ce55e3d Roll Skia from f53e13c84498 to 04d973ac4f26 (5 revisions) (flutter/engine#54950)
https://skia.googlesource.com/skia.git/+log/f53e13c84498..04d973ac4f26

2024-09-03 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 7f303d9bf39b to 7abbf53a30e9 (16 revisions)
2024-09-03 kjlubick@google.com Enforce IWYU on modules/svg
2024-09-03 jgaillard@google.com Disable musstail for the Android framework version on WIN32
2024-09-03 jvanverth@google.com [graphite] Swap shape inversion for ClipOps.
2024-09-03 jmbetancourt@google.com guard ios test apps with skia_enable_tools

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-04 00:14:22 +00:00
skia-flutter-autoroll
4314e84261 Roll Skia from 0d9333e72a39 to f53e13c84498 (4 revisions) (flutter/engine#54947)
https://skia.googlesource.com/skia.git/+log/0d9333e72a39..f53e13c84498

2024-09-03 robertphillips@google.com [graphite] Fix nanobench handling of the Graphite Options
2024-09-03 bungeman@google.com [pdf] Reduce drawing glyphs as paths
2024-09-03 jvanverth@google.com Revert "Reland "[graphite] Clean out unused Plot backing stores when purging DrawAtlas.""
2024-09-03 jlavrova@google.com Revert "Indicate we are able to root on Pixel5 devices"

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-09-03 21:11:33 +00:00
hellohuanlin
48974293cd [ios][platform_view] fix platform view clipping path intersection (flutter/engine#54820)
It turns out that when there are multiple paths to clip, they are unioned together, rather than intersected. But clipping paths need to be intersected. 

There isn't any good way to intersect arbitrary paths. However, it is easy to intersect rect paths, which is the most common use case. Then we simply fallback to software rendering if we have to intersect non-rect paths. That is: 

**Case 1** Only 1 clipping path (either rect path or arbitrary path):
Hardware rendering. This should be the most common use case

**Case 2** Multiple rect clipping path: 
Hardware rendering. This is also common, and it's the linked issue that we are fixing. 

**Case 3** Other complex case (multiple non-rect clipping path)
Fallback to software rendering. This should be rare. 

After https://github.com/flutter/engine/pull/53826, we don't have a working benchmark that measures the main thread anymore. However, this PR shouldn't impact our ad benchmark, since it only has 1 clipping path. I will verify manually by checking Instruments and make sure no software rendering is happening. But we really should make the benchmark working again, not just for performance improvement, but also for monitoring regression. 

*List which issues are fixed by this PR. You must list at least one issue.*

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-03 20:36:48 +00:00