Commit Graph

28829 Commits

Author SHA1 Message Date
auto-submit[bot]
65114d1bfb Reverts "Manual roll Dart SDK from d916a5f69a48 to 75bf9e183a33 (1 revision) (#55838)" (flutter/engine#55850)
Reverts: flutter/engine#55838
Initiated by: zanderso
Reason for reverting: Blocking roll to the framework due to https://github.com/flutter/flutter/issues/156654
Original PR Author: skia-flutter-autoroll

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:

Manual roll requested by zra@google.com

https://dart.googlesource.com/sdk.git/+log/d916a5f69a48..75bf9e183a33

2024-10-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-0.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,jacksongardner@google.com,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-10-12 17:17:46 +00:00
Jim Graham
9e747c2eb6 Delete last usages of MockCanvas test mechanism (flutter/engine#55840)
The MockCanvas API was originally used to test the output of rendering methods to match them against a reference set of "MockData" structures. This API has been superseded by just using a DisplayListBuilder to record reference operations and then to compare the resulting DisplayList objects.

This PR deletes the last remaining uses of MockCanvas as well as the mechanism itself.
2024-10-12 05:15:17 +00:00
skia-flutter-autoroll
8da20b0a97 Roll Skia from 97cebfb06139 to d2833b68c8c7 (9 revisions) (flutter/engine#55846)
https://skia.googlesource.com/skia.git/+log/97cebfb06139..d2833b68c8c7

2024-10-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 73fd75175922 to ab901eb0f984 (7 revisions)
2024-10-11 bungeman@google.com Clean up references to SkDevice::createDevice
2024-10-11 fmalita@google.com [skottie] Fix Viewer crash on invalid json inputs
2024-10-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f58427c0db47 to 73fd75175922 (3 revisions)
2024-10-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from ae5c3b969e66 to 3ef8d1714d61 (6 revisions)
2024-10-11 cwallez@chromium.org DawnCaps: Prepare for Dawn's output stuct StringView change.
2024-10-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from bf6353777f11 to 462486a81e05 (6 revisions)
2024-10-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 68d8508758f2 to f3c7cc5c580e (31 revisions)
2024-10-10 jreck@google.com Fix SkRRect::dumpToString

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-12 03:21:05 +00:00
Jonah Williams
c9f0e8a458 [Impeller] delete a bunch of dead filter code. (flutter/engine#55841)
All of these filter graph methods are not used or only used to test themselves in a limited unit test. Delete!
2024-10-12 02:15:23 +00:00
AthulJoseph
3214f65fa3 [Impeller] Added support to set polygon mode in Flutter GPU. (flutter/engine#55804)
Added support to set polygon mode in Flutter GPU. This fixes the issue [#142732](https://github.com/flutter/flutter/issues/142732).
2024-10-12 01:07:36 +00:00
skia-flutter-autoroll
96ab9b9e30 Manual roll Dart SDK from d916a5f69a48 to 75bf9e183a33 (1 revision) (flutter/engine#55838)
Manual roll requested by zra@google.com

https://dart.googlesource.com/sdk.git/+log/d916a5f69a48..75bf9e183a33

2024-10-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.7.0-0.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,jacksongardner@google.com,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-10-11 23:42:53 +00:00
skia-flutter-autoroll
3f6fabf728 Roll Fuchsia Linux SDK from 1OZ2rHDklRNSZRUrc... to tNuwSyjjbdU9HjOwQ... (flutter/engine#55837)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jacksongardner@google.com,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-10-11 23:41:19 +00:00
Chinmay Garde
19709fe088 [Impeller] libImpeller: Upload missing arm artifacts. (flutter/engine#55790)
Should have been a part of 9910c947f6 but I missed these.
2024-10-11 20:23:45 +00:00
auto-submit[bot]
205b056c01 Reverts "[Fuchsia] Use more high level fuchsia-gn-sdk templates (#55445)" (flutter/engine#55834)
Reverts: flutter/engine#55445
Initiated by: zijiehe-google-com
Reason for reverting: This change would break the build_fuchsia_artifacts.py without https://github.com/flutter/engine/pull/55832/files. I'd merge two into one.
Original PR Author: zijiehe-google-com

Reviewed By: {jrwang}

This change reverts the following previous change:
This change removes the in-house built pm-based build rules in favor of the high level fuchsia_component / fuchsia_package in the gn-sdk.

The build_fuchsia_artifacts.py is still using pm, and it will be handled in a following change.

Bug: http://b/353729557, http://b/368608542

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-11 17:51:47 +00:00
Chinmay Garde
225aa6dee4 [Impeller] libImpeller: Fix missing exports on some paint methods. (flutter/engine#55814)
cc @lyceel. I'll followup with a linker script to to verify this later.
2024-10-11 17:51:26 +00:00
zijiehe@
54e9d74b7a [fuchsia] Use the right versioned libs according to the target-api-level (flutter/engine#55786)
Except for the vulkan, target-api-level should control the versions of the other libraries rather than the ones in ToT (//fuchsia/sdk/$host_os/arch/$target_cpu/dist).

FYI: @hjfreyer
Bug: http://b/40935282

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-11 17:27:05 +00:00
zijiehe@
297cf4be72 [Fuchsia] Use more high level fuchsia-gn-sdk templates (flutter/engine#55445)
This change removes the in-house built pm-based build rules in favor of
the high level fuchsia_component / fuchsia_package in the gn-sdk.

The build_fuchsia_artifacts.py is still using pm, and it will be handled
in a following change.

Bug: http://b/353729557, http://b/368608542

## 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-10-11 08:41:35 -07:00
hellohuanlin
21eb44914c [ios][platform_view] Fix Platform view gesture recognizer with iPad pencil getting stuck (flutter/engine#55724)
## Summary 

I came across our the "gesture recognizer delegate" implementation and it is quite odd (see below). After fixing it, the problem is resolved. However, it's hard to reason about how it's related to iPad pencil, since it's internal logic that we don't know (see my research below). 

## Gesture recognizer delegate

### Existing odd implementation

- shouldBeRequiredToFailByGestureRecognizer: 

`otherGestureRecognizer != self` is always YES because the delegate set to self, hence `gestureRecognizer` must be self, hence `otherGestureRecognizer` must not be self. 

- shouldRequireFailureOfGestureRecognizer: 

`otherGestureRecognizer == self` is always NO, for the same reason described above. 

### new implementation: 

After digging into various PRs, the idea seems to be that we want to have a precedence of "Forwarding recognizer >  Delaying recognizer > Other recognizers in platform view". 

- shouldBeRequiredToFailByGestureRecognizer:

`return otherGestureRecognizer != _forwardingRecognizer` means Delaying recognizer needs to be higher precedence than all non-Forwarding recognizer. (aka "Delaying recognizer > Other recognizers in platform view")

- shouldRequireFailureOfGestureRecognizer:

`return otherGestureRecognizer == _forwardingRecognizer` means Delaying recognizer needs to have lower precedence than forwarding recognizer. (aka "Forwarding recognizer > Delaying recognizer"). 

## Some research

This is a tricky one since pencil and finger triggers exactly the same callbacks. It turns out that when pencil is involved after finger interaction, the platform view's "forwarding" gesture recognizer is stuck at failed state. This seems to be an iOS bug, because according to [the API doc](https://developer.apple.com/documentation/uikit/uigesturerecognizerstate/uigesturerecognizerstatefailed?language=objc), it should be reset back to "possible" state:

> No action message is sent and the gesture recognizer is reset to [UIGestureRecognizerStatePossible](https://developer.apple.com/documentation/uikit/uigesturerecognizerstate/uigesturerecognizerstatepossible?language=objc).

However, when iPad pencil is involved, the state is not reset. I tried to KVO the state property, and wasn't able to capture the change. This means the state change very likely happened internally within the recognizer via the backing ivar of the state property.

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

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

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-11 02:24:43 +00:00
Jim Graham
3f0d57e071 [DisplayList] Create DlFoo type variants to start moving away from Skia types in API (flutter/engine#55812)
This is the beginning of the bulk of de-skia-fication work in the engine. All of the standard types in the DlCanvas API now have overloads that specify the corresponding Dl type, mainly for Dl*Rect and DlPoint types. This enables further work to switch from SkFoo types to DlFoo types in the various engine modules culminating in the elimination of the old methods that use the Sk types.

All of the former methods that used the basic Sk types are now implemented as inlinable translation overloads and the underlying implementations of DlCanvas now implement only the newer style interfaces so that they don't need to be further modified as we eliminate the old Skia types from the interface.

There are still a couple of Skia types remaining in the DlCanvas API without any DL type variants which will be handled in a future phase:
- SkRRect
- SkRSXform
- SkTextBlob (will be hidden behind a common interface along with TextFrame)
- SkImageInfo (only used in a few calling sites)
2024-10-11 00:42:23 +00:00
Jonah Williams
a8a7d1db42 [engine] remove merge thread setting and fix default value. (flutter/engine#55810)
When I removed the configration, I neglected the line that overrode the default from settings. This opted everyone back out. :(
2024-10-10 23:21:40 +00:00
skia-flutter-autoroll
caedaa5756 Roll Skia from 1e269594df9d to 97cebfb06139 (3 revisions) (flutter/engine#55811)
https://skia.googlesource.com/skia.git/+log/1e269594df9d..97cebfb06139

2024-10-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4480c8e9e59c to f58427c0db47 (3 revisions)
2024-10-10 michaelludwig@google.com [graphite] Re-add makeRoundOut() for dst copy bounds
2024-10-10 jvanverth@google.com [graphite] Remove analytic clip staging flag.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-10 23:03:41 +00:00
skia-flutter-autoroll
9519a37b6b Roll Fuchsia Linux SDK from xGr5ZkxX3CajAY1xu... to 1OZ2rHDklRNSZRUrc... (flutter/engine#55807)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jacksongardner@google.com,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-10-10 19:51:27 +00:00
Matan Lurey
ecb7c78604 Recognizegroup, and warn when we silently discard targets. (flutter/engine#55791)
Closes https://github.com/flutter/flutter/issues/156260.

Fixes the degenerate case where you specify an unrecognized target, and it falls back to rebuilding the entire engine as if you specified nothing. In addition, added recognition of `group`.
2024-10-10 18:45:49 +00:00
skia-flutter-autoroll
1dcf56dc4b Roll Skia from 6e4a2f266a17 to 0a9bfc90496e (2 revisions) (flutter/engine#55799)
https://skia.googlesource.com/skia.git/+log/6e4a2f266a17..0a9bfc90496e

2024-10-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from d0e2141a997c to ae5c3b969e66 (10 revisions)
2024-10-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 09baf58309a3 to bf6353777f11 (4 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-10 08:26:35 +00:00
skia-flutter-autoroll
0ef69389f0 Roll Skia from 8c95b719bf05 to 3a9e6b6a4721 (1 revision) (flutter/engine#55793)
https://skia.googlesource.com/skia.git/+log/8c95b719bf05..3a9e6b6a4721

2024-10-10 michaelludwig@google.com [graphite] Clean up legacy dstCopy from KeyContext

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-10 02:31:23 +00:00
Matan Lurey
4f6d8c462d Move some et tests around and delete unused files. (flutter/engine#55764)
Just general cleanup with no behavioral changes.
2024-10-09 23:03:14 +00:00
Yegor
e478ea9bad [web:a11y] make header a proper <header> (flutter/engine#55747)
Now that we have [proper headings](https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/semantics/heading.dart), headers should become proper headers.

Fixes https://github.com/flutter/flutter/issues/152268
2024-10-09 22:21:51 +00:00
auto-submit[bot]
eae94cf3df Reverts "Reverts "Run gen_snapshot under /usr/bin/time (#55777)" (#55787)" (flutter/engine#55789)
Reverts: flutter/engine#55787
Initiated by: matanlurey
Reason for reverting: We determined this was an expected failure.
Original PR Author: auto-submit[bot]

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:
Reverts: flutter/engine#55777
Initiated by: matanlurey
Reason for reverting: Breaks CI postsubmit (https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20Production%20Engine%20Drone/485517/overview).
Original PR Author: aam

Reviewed By: {matanlurey}

This change reverts the following previous change:
This should help further troubleshoot https://github.com/flutter/flutter/issues/154437
2024-10-09 21:31:46 +00:00
auto-submit[bot]
93d9a4e1ed Reverts "Run gen_snapshot under /usr/bin/time (#55777)" (flutter/engine#55787)
Reverts: flutter/engine#55777
Initiated by: matanlurey
Reason for reverting: Breaks CI postsubmit (https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20Production%20Engine%20Drone/485517/overview).
Original PR Author: aam

Reviewed By: {matanlurey}

This change reverts the following previous change:
This should help further troubleshoot https://github.com/flutter/flutter/issues/154437
2024-10-09 21:18:46 +00:00
Alexander Aprelev
de3410f8f4 Run gen_snapshot under /usr/bin/time (flutter/engine#55777)
This should help further troubleshoot https://github.com/flutter/flutter/issues/154437
2024-10-09 20:47:36 +00:00
Chinmay Garde
9910c947f6 [Impeller] libImpeller: Publish SDK artifacts. (flutter/engine#55783)
Fixes https://github.com/flutter/flutter/issues/156358
2024-10-09 20:35:28 +00:00
Chinmay Garde
57e4161fd8 [Impeller] libImpeller: Allow creating image color sources. (flutter/engine#55754)
Fixes https://github.com/flutter/flutter/issues/156360

This was missed in the earlier bringup.

cc @lyceel I did not expose the solid color source since (as @jonahwilliams [pointed out](https://github.com/flutter/flutter/issues/156360#issuecomment-2398005436)) all it does it [clear the current color source and set the color on the paint](a01daf5555/display_list/dl_builder.cc (L206)).
2024-10-09 20:11:49 +00:00
skia-flutter-autoroll
5c2733f600 Roll Skia from 80191e69c97a to 1349ddc074ad (4 revisions) (flutter/engine#55779)
https://skia.googlesource.com/skia.git/+log/80191e69c97a..1349ddc074ad

2024-10-09 michaelludwig@google.com [graphite] Reset fDstCopy in resetCommandBuffer()
2024-10-09 egdaniel@google.com [Ganesh] Add support for VK_EXT_frame_boundary.
2024-10-09 nscobie@google.com Punt CTS enforcement of VkProtectedContext_Xyz_Graphite tests to API 36
2024-10-09 egdaniel@google.com [Ganesh] Add GrSubmitInfo struct to GrDirectContext::submit

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-09 18:38:23 +00:00
skia-flutter-autoroll
7d44c0e306 Roll Skia from e0bb55353b27 to 80191e69c97a (4 revisions) (flutter/engine#55775)
https://skia.googlesource.com/skia.git/+log/e0bb55353b27..80191e69c97a

2024-10-09 bungeman@google.com [pdf] Emit `/Tabs /S` on each page
2024-10-09 cwallez@chromium.org DawnErrorChecker: Prepare for Dawn StringView callback change.
2024-10-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from dbcb4e8a0f0c to 458c840c3ccf (1 revision)
2024-10-09 fmalita@google.com [skjson] Non-recursive Json writer impl

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-09 16:28:08 +00:00
skia-flutter-autoroll
131f9896ae Manual roll Dart SDK to 3.6.0-334.2.beta (flutter/engine#55772)
Manual roll requested by zra@google.com

This is a Dart roll for branch alignment to the 3.6.0-334.2.beta version
of Dart. It includes the two dev versions below in addition to two CPs
listed at the top of
https://dart.googlesource.com/sdk/+log/d916a5f69a486de98316900f19ef0ff46834b03d.

https://dart.googlesource.com/sdk.git/+log/85a7e014bea8..115a3c609bf2

2024-10-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.6.0-334.0.dev
2024-10-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.6.0-333.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC
dart-vm-team@google.com,jacksongardner@google.com,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

---------

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2024-10-09 09:17:48 -07:00
Matan Lurey
d62fed45f7 Rename GetTargetRenderPassDescriptor to GetRenderTarget. (flutter/engine#55765)
Closes https://github.com/flutter/flutter/issues/154799.
2024-10-09 15:44:41 +00:00
skia-flutter-autoroll
9123b89cc0 Roll Fuchsia Linux SDK from TlU-It6X_ZLrNqMjW... to xGr5ZkxX3CajAY1xu... (flutter/engine#55770)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jacksongardner@google.com,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-10-09 10:57:30 +00:00
skia-flutter-autoroll
b6b1210f99 Roll Skia from a077e78e531f to e0bb55353b27 (3 revisions) (flutter/engine#55768)
https://skia.googlesource.com/skia.git/+log/a077e78e531f..e0bb55353b27

2024-10-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 878e1c92af0b to d0e2141a997c (1 revision)
2024-10-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from f00ae00fd775 to 09baf58309a3 (10 revisions)
2024-10-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 2574827cf13b to 68d8508758f2 (8 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-09 08:40:26 +00:00
Chinmay Garde
511ee36f3f [Impeller] libImpeller: Allow fetching OpenGL texture handle. (flutter/engine#55753)
Fixes https://github.com/flutter/flutter/issues/156359

cc @lyceel
2024-10-09 07:44:37 +00:00
Matan Lurey
8e3b58f166 ReleaseonTrimMemoryListener after ImageReaderSurfaceProducer released. (flutter/engine#55760)
Fixes https://github.com/flutter/flutter/issues/156434.

A better fix for the workaround in https://github.com/flutter/flutter/issues/156158.

This should likely be cherrypicked, as it's a memory leak, safe, and avoids workaround code in plugins.
2024-10-09 01:35:17 +00:00
Brandon DeRosier
e118869e40 [Flutter GPU] Get the GLES backend/Windows working. (flutter/engine#55694)
Resolves https://github.com/flutter/flutter/issues/156305.

* Resolve pipelines and submit command buffers on the raster thread.
* Don't use desktop GL shader variation on Windows.
* Fix interpretation of `array_elements`.
* Fix texture binding metadata.

Gets Flutter GPU working on Windows!
![image](https://github.com/user-attachments/assets/9eecb67f-a980-4556-8060-b0c947713534)
![image](https://github.com/user-attachments/assets/c8e2071f-e7c0-411c-8f37-e1f3037916f4)
2024-10-09 00:04:39 +00:00
Harry Terkelsen
0ed39374df [canvaskit] Fix incorrect clipping with Opacity scene layer (flutter/engine#55751)
Fixes opacity layer incorrectly clipping its children when there are complex transforms applied to them. Since the opacity saveLayer only applies to children which actually draw, it doesn't need to have tight bounds anyways.

Pre-requisite for re-enabling tests here: https://github.com/flutter/flutter/issues/110785

BEFORE:
![Screenshot 2024-10-08 at 11 00 14 AM](https://github.com/user-attachments/assets/cf4c6296-7730-4db6-96f6-e22f32e28d94)

AFTER:
![Screenshot 2024-10-08 at 11 06 22 AM](https://github.com/user-attachments/assets/6a680e2c-23d0-41e2-9de5-1c9667a785ab)

BEFORE:
![failing_opacity](https://github.com/user-attachments/assets/d8acf075-c92d-4f8a-aa1a-476f46f1c931)

AFTER:
![working_opacity](https://github.com/user-attachments/assets/3e589deb-d8b6-4466-9e19-95daff870bfb)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-10-08 23:49:09 +00:00
Matan Lurey
173af3d95f Refactor multi-file build parsing into a single BuildPlan class. (flutter/engine#55720)
Closes https://github.com/flutter/flutter/issues/148444 (code de-duplicated).
Closes https://github.com/flutter/flutter/issues/150877 (`--build-strategy=local`).
Closes https://github.com/flutter/flutter/issues/150884 (`--build-strategy=remote`).

Replaces duplicate code across ~3 commands (query, test, build) with a class called `BuildPlan`, which encapsulates (a) concurrency, (b) build configuration, (c) RBE, (d) LTO, and (e) build strategy. I also moved all of the validation of the build plan into `build_plan_test`, which gives us better coverage at a lower cost (less things to think about in that suite of tests).

I know the diff looks scary, but 1K of the 1.4K is tests.

/cc @gaaclarke @flar
2024-10-08 23:45:20 +00:00
gaaclarke
90cea20d09 fixes mask blurs on stoked gradient geometry (flutter/engine#55717)
fixes https://github.com/flutter/flutter/issues/155930

This starts taking into account the translation of the entity that is
snapshotted when performing the gaussian blur. I'm uncertain under what
conditions, but sometimes the snapshot logic would need this offset. The
linked issue and added tests demonstrate those cases.

## 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-10-08 15:20:50 -07:00
Jason Simmons
d8d3d6ac4b [Impeller] Do not scale the miter limit applied to stroked text (flutter/engine#55745)
Fixes https://github.com/flutter/flutter/issues/156224
2024-10-08 22:07:19 +00:00
AthulJoseph
a01daf5555 Added support to set primitive type (flutter/engine#55514)
Added a way to specify the PrimitiveType when encoding commands in the RenderPass.

This partially fixes the issue #142732
2024-10-08 21:57:10 +00:00
skia-flutter-autoroll
f15530a2e9 Roll Skia from 8a2fe88d31e3 to 701b6e4b4bc4 (1 revision) (flutter/engine#55752)
https://skia.googlesource.com/skia.git/+log/8a2fe88d31e3..701b6e4b4bc4

2024-10-08 robertphillips@google.com [ganesh] Disable stencilBuffers and MSAA for Protected GL Contexts

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-08 21:51:23 +00:00
Chinmay Garde
50366d309d [Impeller] libImpeller: Fix typo in public API. (flutter/engine#55750)
cc @lyceel
2024-10-08 20:50:13 +00:00
Chinmay Garde
7af6ae84e6 [Impeller] libImpeller: Allow wrapping external texture handles. (flutter/engine#55664)
Fixes https://github.com/flutter/flutter/issues/156013
2024-10-08 20:33:26 +00:00
gaaclarke
d2e73aef5b Added mutex to the pending gpu tasks deque. (flutter/engine#55748)
b/371513051

The tasks are already capturing their target thread. I had just missed
guarding the deque that is storing the tasks. This has been seen in the
flaking of the newly added `ShellTest.EncodeImageRetryOverflows`.

Example:
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8734621687934134433/+/u/test:_Host_Tests_for_host_debug_unopt/stdout

## 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-10-08 13:19:42 -07:00
skia-flutter-autoroll
d75cffe14f Roll Skia from 857248fe0a9a to 8a2fe88d31e3 (7 revisions) (flutter/engine#55749)
https://skia.googlesource.com/skia.git/+log/857248fe0a9a..8a2fe88d31e3

2024-10-08 michaelludwig@google.com [skif] Adjust test tolerances for some GPUs
2024-10-08 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from aacbf041f6cd to 0f7371ae347d (14 revisions)
2024-10-08 nicolettep@google.com [graphite] Migrate Vulkan pipeline to consulting immutable sampler descriptions populated at graphite level
2024-10-08 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from b0d038d01ff9 to 4103ee393de2 (10 revisions)
2024-10-08 michaelludwig@google.com [skif] Fix rescale bounds analysis, consolidate draw codepaths
2024-10-08 michaelludwig@google.com [graphite] Update PaintParams key generation and SkSL generation to use dstCopy intrinsics
2024-10-08 nscobie@google.com [graphite] Fix VulkanCaps::fSupportsMemorylessAttachments init when fProtectedSupport

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-08 20:04:04 +00:00
Jonah Williams
32aa60630b [Impeller] remove heap allocation of most geometry objects. (flutter/engine#55677)
Almost all geometry objects can now be stack allocated while rendering, instead of heap allocated - due to the removal of the EntityPass compositor. Clip geometries must still be heap allocated as the geometry objects are not yet stored in the display list, and the clips must be recorded for backdrop filter clip replay.

The canvas stores unique_ptrs to these geometries in a vector that it clears at the end of the frame. The Geometry factory methods were adjusted to return unique ptrs, and the Geometry class given a virtual dtor since we no longer rely on the special property of std::shared_ptr for memorizing the right dtor.

The ColorSourceContents and ClipContents class now hold onto a const ptr to the geometry object.

At some point in the future, we can rework the geometry object to be stored inline in the display list which will further simplify this code.

Part of https://github.com/flutter/flutter/issues/142054
2024-10-08 19:55:21 +00:00
gaaclarke
96134c85e4 added shell_unittests and ui_unittests to the testing menu (flutter/engine#55711)
## 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-10-08 11:17:01 -07:00
John McDole
35d7b1b8f3 Record notes on hashing artifacts in a monorepo (flutter/engine#55703)
aka "dude, where's my engine?"
2024-10-08 17:01:07 +00:00
skia-flutter-autoroll
e583fecd59 Roll Skia from 38e2598c487b to 857248fe0a9a (3 revisions) (flutter/engine#55741)
https://skia.googlesource.com/skia.git/+log/38e2598c487b..857248fe0a9a

2024-10-08 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 90b955a8bf93 to b0d038d01ff9 (25 revisions)
2024-10-08 danieldilan@google.com Add SubIFD to exif data when using WriteExif.
2024-10-08 kjlubick@google.com Replace/rename Gr* functions in SkMathPriv with Sk* naming convention

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jvanverth@google.com 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-10-08 16:27:21 +00:00