34872 Commits

Author SHA1 Message Date
auto-submit[bot]
ebe91c2a5c Reverts "[Impeller] adds a plus advanced blend for f16 pixel formats (#51589)" (flutter/engine#51741)
Reverts: flutter/engine#51589
Initiated by: jonahwilliams
Reason for reverting: draw vertices devicelab test is crashing due to SIGABRT in blend contents

![image](https://github.com/flutter/engine/assets/8975114/8bfaec63-29e9-43c2-8954-181d0ad1c413)

Original PR Author: gaaclarke

Reviewed By: {jonahwilliams}

This change reverts the following previous change:
fixes https://github.com/flutter/flutter/issues/142549

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-28 05:41:48 +00:00
Jonah Williams
4a3619cc21 [Impeller] correct multisample resolve/store configuration for Vulkan. (flutter/engine#51740)
Added tests for https://github.com/flutter/engine/pull/50374

This makes RenderDoc replays work a whole lot better since all of the offscreen textures aren't cleared with DONT CARE.

Fixes https://github.com/flutter/flutter/issues/142947
2024-03-28 04:17:22 +00:00
Matan Lurey
d29da01928 Remove Impeller/OpenGLES from CI branch for Android e2e tests. (flutter/engine#51734)
We don't intend to make much progress on the Impeller OpenGLES backend in 2024. I won't remove the capability to run these tests locally (the plumbing is already done and doesn't cost anything), but we don't need to have these just sit/flake on CI consuming resources.

Partial work towards https://github.com/flutter/flutter/issues/144064.
2024-03-28 02:44:50 +00:00
skia-flutter-autoroll
956b7e2c9d Roll Fuchsia Linux SDK from Lk8KBU-c97ROj-YHm... to uzI3wnbEGlZ_dtO0Z... (flutter/engine#51737)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-03-28 01:20:55 +00:00
skia-flutter-autoroll
5e041e53d4 Roll Skia from b6160ffc0b96 to 66241be7c81c (16 revisions) (flutter/engine#51733)
https://skia.googlesource.com/skia.git/+log/b6160ffc0b96..66241be7c81c

2024-03-27 hitawala@chromium.org Add FCC, YDZDX, GBR, SMPTE240 color space support
2024-03-27 michaelludwig@google.com [graphite] Track if Device is immutable
2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4f5c3553ddc3 to 29cd699ff179 (5 revisions)
2024-03-27 jvanverth@google.com Reland "[graphite] Update yuv_to_rgb_subset_effect to support Graphite."
2024-03-27 michaelludwig@google.com [graphite] Don't pass Recorder into YUVAProxies
2024-03-27 egdaniel@google.com Move some compressed data utils to shared gpu file.
2024-03-27 egdaniel@google.com Fill in VulkanCaps for compressed formats.
2024-03-27 robertphillips@google.com [graphite] Handle SkClipOp::kDifference-clipShaders in Precompilation
2024-03-27 sunnyps@chromium.org graphite: Explicitly Destroy() Dawn textures in deleteBackendTexture
2024-03-27 kjlubick@google.com Add missing SkUnicode files to public.bzl
2024-03-27 egdaniel@google.com Remove unhelpful assert in backend caps format tables.
2024-03-27 robertphillips@google.com [graphite] Add clipShaders to Precompilation system
2024-03-27 jvanverth@google.com Revert "[graphite] Update yuv_to_rgb_subset_effect to support Graphite."
2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 3de0f00ef217 to 81a2ed3a2849 (5 revisions)
2024-03-27 nicolettep@google.com [graphite] Add input attachment usage flag to renderable Vulkan texture when importing from AHardwareBuffer
2024-03-27 jvanverth@google.com [graphite] Update yuv_to_rgb_subset_effect to support Graphite.

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,jamesgk@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-03-28 00:49:56 +00:00
Brandon DeRosier
7f453eb089 [Impeller] Reland: Use the scissor to limit all draws by clip coverage. (flutter/engine#51731)
Reland https://github.com/flutter/engine/pull/51698.

This reverts commit 7922740184.

Attempts to improve https://github.com/flutter/flutter/issues/145274.

Our new clipping technique paints walls on the depth buffer "in front" of the Entities that will be affected by said clips. So when an intersect clip is drawn (the common case), the clip will cover the whole framebuffer.

Depth is divvied up such that deeper clips get drawn _behind_ shallower clips, and so many clips actually don't end up drawing depth across the whole framebuffer. However, if the app does a lot of transitioning from a huge clips to a small clips, a lot of unnecessary depth churn occurs (very common in Flutter -- this happens with both the app bar and floating action button in the counter template, for example).

Since progressively deeper layers in the clip coverage stack always subset their parent layers, we can reduce waste for small intersect clips by setting the scissor to the clip coverage rect instead of drawing the clip to the whole screen.

Note that this change _does not_ help much with huge/fullscreen clips.

Also, we could potentially improve this further by computing much stricter bounds. Rather than just using clip coverage for the scissor, we could intersect it with the union of all draws affected by the clip at the cost of a bit more CPU churn per draw. I don't think that's enough juice for the squeeze though.

Before (`Play/AiksTest.CanRenderNestedClips/Metal`):

https://github.com/flutter/engine/assets/919017/7858400f-793a-4f7b-a0e4-fa3581198beb

After (`Play/AiksTest.CanRenderNestedClips/Metal`):

https://github.com/flutter/engine/assets/919017/b2f7c96d-a820-454d-91df-f5fae4976e91
2024-03-28 00:42:48 +00:00
gaaclarke
d96b1f7e73 [Impeller] adds a plus advanced blend for f16 pixel formats (flutter/engine#51589)
fixes https://github.com/flutter/flutter/issues/142549

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-27 23:48:24 +00:00
maRci002
79c240e9b5 Platform channel for predictive back in route transitions on android (flutter/engine#49093)
Support for Android's predictive back feature on internal Flutter routes. Reports predictive back gestures to the framework (where supported by the system).
2024-03-27 16:45:47 -07:00
Jonah Williams
95661e25f5 [Impeller] render empty filled paths without crashing. (flutter/engine#51713)
Fixes https://github.com/flutter/flutter/issues/145823

If we try to render a solid filled empty size path, the subpath division code creates an obscene number of vertices that hits overflow errors. Just No-op instead.
2024-03-27 22:34:07 +00:00
Jonah Williams
f874d6c24c [Impeller] use optimal depth attachment, remove useless barrier. (flutter/engine#51723)
We have been transitioning the depth/stencil atttachment to general, even though it can just be in attachment optimal (we never use it as an input attachment).
2024-03-27 22:26:04 +00:00
K Lubick
8387381fb9 Fix skunicode BUILD.gn rules (flutter/engine#51708)
As a result of https://skia-review.googlesource.com/c/skia/+/831801, the
way SkUnicode needs to be compiled has slightly changed. This also rolls
Skia to pick up those changes.

https://skia.googlesource.com/skia.git/+log/5ed91aaa4cff..b6160ffc0b96

2024-03-27 [kjlubick@google.com](mailto:kjlubick@google.com) Break up
Bidi based on ICU or ICU subset into classes to avoid #define
2024-03-27 [double1kai@gmail.com](mailto:double1kai@gmail.com) Add
vector support for LoongArch in SkBitmapProcState_opts.h

## 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].
- [ ] 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

---------

Co-authored-by: skia-flutter-autoroll <skia-flutter-autoroll@skia.org>
2024-03-27 17:15:35 -04:00
auto-submit[bot]
7922740184 Reverts "[Impeller] Use the scissor to limit all draws by clip coverage. (#51698)" (flutter/engine#51728)
Reverts: flutter/engine#51698
Initiated by: bdero
Reason for reverting: Golden breakage on framework tree -- https://flutter-gold.skia.org/search?issue=145855&crs=github&patchsets=4&corpus=flutter
Original PR Author: bdero

Reviewed By: {jonahwilliams}

This change reverts the following previous change:
Attempts to improve https://github.com/flutter/flutter/issues/145274.

Our new clipping technique paints walls on the depth buffer "in front" of the Entities that will be affected by said clips. So when an intersect clip is drawn (the common case), the clip will cover the whole framebuffer.

Depth is divvied up such that deeper clips get drawn _behind_ shallower clips, and so many clips actually don't end up drawing depth across the whole framebuffer. However, if the app does a lot of transitioning from a huge clips to a small clips, a lot of unnecessary depth churn occurs (very common in Flutter -- this happens with both the app bar and floating action button in the counter template, for example).

Since progressively deeper layers in the clip coverage stack always subset their parent layers, we can reduce waste for small intersect clips by setting the scissor to the clip coverage rect instead of drawing the clip to the whole screen.

Note that this change _does not_ help much with huge/fullscreen clips.

Also, we could potentially improve this further by computing much stricter bounds. Rather than just using clip coverage for the scissor, we could intersect it with the union of all draws affected by the clip at the cost of a bit more CPU churn per draw. I don't think that's enough juice for the squeeze though.

Before (`Play/AiksTest.CanRenderNestedClips/Metal`):

https://github.com/flutter/engine/assets/919017/7858400f-793a-4f7b-a0e4-fa3581198beb

After (`Play/AiksTest.CanRenderNestedClips/Metal`):

https://github.com/flutter/engine/assets/919017/b2f7c96d-a820-454d-91df-f5fae4976e91
2024-03-27 20:49:47 +00:00
Jackson Gardner
601cb5058f [Skwasm] Correctly handle paragraphs with empty text. (flutter/engine#51695)
Instead of just returning, if our paragraph builder has empty text, we still need to generate a set of line breaks for skia to use. Otherwise, it will actually cause subtle memory access errors.
2024-03-27 20:18:57 +00:00
skia-flutter-autoroll
d4720260c4 Roll Dart SDK from a600b67424a8 to 291217c1d399 (4 revisions) (flutter/engine#51716)
https://dart.googlesource.com/sdk.git/+log/a600b67424a8..291217c1d399

2024-03-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-279.0.dev
2024-03-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-278.0.dev
2024-03-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-277.0.dev
2024-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-276.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-03-27 19:17:29 +00:00
auto-submit[bot]
0946357650 Reverts "Fail pre-submit if a negative image is encountered as part of goldctl imgtest add. (#51685)" (flutter/engine#51718)
Reverts: flutter/engine#51685
Initiated by: matanlurey
Reason for reverting: goldctl does not disambiguate negatives from untriaged images (see 9b9adad080/gold-client/cmd/goldctl/cmd_imgtest_test.go (L325)).
Original PR Author: matanlurey

Reviewed By: {mdebbar, gaaclarke}

This change reverts the following previous change:
`flutter/engine`-side fix for https://github.com/flutter/flutter/issues/145043.

- Before this PR, if a negative image was encountered, we'd silently pass pre-submit, merge, and turn the tree red.
- After this PR, a negative image both makes pre and post-submit red.

Added tests, and fixed up some unrelated tests that were accidentally setting `pid` instead of `exitCode`. Oops!

/cc @zanderso and @eyebrowsoffire (current engine sheriff).
2024-03-27 18:58:47 +00:00
Brandon DeRosier
bbbb2e2f6a [Impeller] Use the scissor to limit all draws by clip coverage. (flutter/engine#51698)
Attempts to improve https://github.com/flutter/flutter/issues/145274.

Our new clipping technique paints walls on the depth buffer "in front" of the Entities that will be affected by said clips. So when an intersect clip is drawn (the common case), the clip will cover the whole framebuffer.

Depth is divvied up such that deeper clips get drawn _behind_ shallower clips, and so many clips actually don't end up drawing depth across the whole framebuffer. However, if the app does a lot of transitioning from a huge clips to a small clips, a lot of unnecessary depth churn occurs (very common in Flutter -- this happens with both the app bar and floating action button in the counter template, for example).

Since progressively deeper layers in the clip coverage stack always subset their parent layers, we can reduce waste for small intersect clips by setting the scissor to the clip coverage rect instead of drawing the clip to the whole screen.

Note that this change _does not_ help much with huge/fullscreen clips.

Also, we could potentially improve this further by computing much stricter bounds. Rather than just using clip coverage for the scissor, we could intersect it with the union of all draws affected by the clip at the cost of a bit more CPU churn per draw. I don't think that's enough juice for the squeeze though.

Before (`Play/AiksTest.CanRenderNestedClips/Metal`):

https://github.com/flutter/engine/assets/919017/7858400f-793a-4f7b-a0e4-fa3581198beb

After (`Play/AiksTest.CanRenderNestedClips/Metal`):

https://github.com/flutter/engine/assets/919017/b2f7c96d-a820-454d-91df-f5fae4976e91
2024-03-27 18:29:58 +00:00
Harry Terkelsen
a2f2c59db0 [canvaskit] Fix color filter for dst and dstIn (flutter/engine#51693)
When CanvasKit returns `null` for a ColorFilter, it indicates the
ColorFilter is a no-op, not that an error has occurred. This fixes the
engine to correctly handle when CanvasKit returns a null ColorFilter.

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

## 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-03-27 11:07:55 -07:00
Jonah Williams
b18dfd5fa7 [Impeller] add missing null check. (flutter/engine#51711)
surface can return null if we failed to allocate MSAA or depth/stencil textures.
2024-03-27 17:55:04 +00:00
Jonah Williams
d93f7f3275 [Impeller] fix remaining Validation errors. (flutter/engine#51692)
Fixes https://github.com/flutter/flutter/issues/145039

Some of the errors were due to unconsumed fragment shader inputs. Enabling VK_KHR_maintenance4 relaxes this restriction.
2024-03-27 17:37:51 +00:00
Jason Simmons
7ab0f69480 Add local paths for the Dart macros package, which is now a dependency of the analyzer package (flutter/engine#51709) 2024-03-27 17:27:02 +00:00
Brandon DeRosier
1cc55b8a1c [Impeller] Transform geometry to safe depth ranges instead of forcing discrete depth values. (flutter/engine#51673)
Resolves https://github.com/flutter/flutter/issues/144333. (Specifically, this [follow-up issue](https://github.com/flutter/flutter/issues/144333#issuecomment-2002399870))

When drawing objects with a perspective transform, the rasterizer applies perspective correction for interpolated vertex attributes. By absorbing W and replacing Z with a discrete value, we were essentially removing all perspective information and disabling perspective correction.

Instead, we can manipulate the Entity transform to remap the output Z range to fit within the small depth slices that each Entity is allotted.

The golden draws a clip sandwich:
1. Draw and restore a difference clip _before_ drawing the airplane image. This clip will get drawn to the depth buffer behind the airplane image.
2. Draw an oval clip that applies to the airplane image. This clip will get drawn in front of the airplane image on the depth buffer.
3. Draw the airplane image with a 3D rotation and perspective transform.
4. Draw a semi-translucent blue circle atop all previous draws.

Before:

https://github.com/flutter/engine/assets/919017/c2a7d012-714e-4234-83ac-61c792172f30

After:

https://github.com/flutter/engine/assets/919017/de3b78ff-00bf-4bc9-8821-8e86b9a9e6bf
2024-03-27 17:25:07 +00:00
Matan Lurey
c935c3ba36 Fail pre-submit if a negative image is encountered as part of goldctl imgtest add. (flutter/engine#51685)
`flutter/engine`-side fix for https://github.com/flutter/flutter/issues/145043.

- Before this PR, if a negative image was encountered, we'd silently pass pre-submit, merge, and turn the tree red.
- After this PR, a negative image both makes pre and post-submit red.

Added tests, and fixed up some unrelated tests that were accidentally setting `pid` instead of `exitCode`. Oops!

/cc @zanderso and @eyebrowsoffire (current engine sheriff).
2024-03-27 16:46:22 +00:00
hellohuanlin
34f5c82ffc [ios]ignore single edge pixel instead of rounding (flutter/engine#51687)
The previous PR https://github.com/flutter/flutter/issues/143420 rounds out the layers and rounds in the platform views. This results in missing pixel on the edge of the intersection when there's fractional coordinate (as shown in the screenshot below), because platform view is below the layers. 

It turns out that we have to round out both platform view and layers, because: 
- rounding in platform view rects will result in missing pixels on the edge of the intersection. 
- rounding in layer rects will result in missing pixels on the edge of the layer that's on top of the platform view. 

This PR simply skips the single (or partial) pixel on the edge, which is a special case, while still preserve the `roundOut` behavior for general non-edge cases. 

Before the fix, notice a very thin gray line cutting through the purple box: 

<img src="https://github.com/flutter/engine/assets/41930132/1482d81a-337e-4841-ac08-eff08bbc71ef" height="500">

Then after the fix, the gray line is gone: 

<img src="https://github.com/flutter/engine/assets/41930132/0eddae69-ab62-4de6-8932-c67cc5aced73" height="500">

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

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

*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-03-27 16:46:19 +00:00
skia-flutter-autoroll
c6c2d991c2 Roll Skia from b69be9d75cdd to 5ed91aaa4cff (1 revision) (flutter/engine#51702)
https://skia.googlesource.com/skia.git/+log/b69be9d75cdd..5ed91aaa4cff

2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from d03adea71fc0 to 3de0f00ef217 (3 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jamesgk@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-03-27 13:37:14 +00:00
skia-flutter-autoroll
51776d2bd9 Roll Skia from 7cb8174ce166 to b69be9d75cdd (1 revision) (flutter/engine#51701)
https://skia.googlesource.com/skia.git/+log/7cb8174ce166..b69be9d75cdd

2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from eacd6acdcb00 to 8e7d33793418 (11 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,jamesgk@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-03-27 08:11:21 +00:00
skia-flutter-autoroll
4ba16cd43f Roll Skia from 4a220d6ecac7 to 7cb8174ce166 (1 revision) (flutter/engine#51700)
https://skia.googlesource.com/skia.git/+log/4a220d6ecac7..7cb8174ce166

2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from db77997f71e0 to 4f5c3553ddc3 (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,jamesgk@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-03-27 07:10:24 +00:00
skia-flutter-autoroll
fcd242c71e Roll Skia from 2aa9e6359a5c to 4a220d6ecac7 (2 revisions) (flutter/engine#51699)
https://skia.googlesource.com/skia.git/+log/2aa9e6359a5c..4a220d6ecac7

2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 5de7eb219957 to d03adea71fc0 (8 revisions)
2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from f847b3c18c27 to a21b7442fbc2 (13 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,jamesgk@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-03-27 05:55:21 +00:00
skia-flutter-autoroll
2f0ca29a35 Roll Skia from ef6272ca7762 to 2aa9e6359a5c (1 revision) (flutter/engine#51697)
https://skia.googlesource.com/skia.git/+log/ef6272ca7762..2aa9e6359a5c

2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from c18c48f0aba5 to a21b7442fbc2

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,jamesgk@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-03-27 04:55:37 +00:00
skia-flutter-autoroll
be7aed0b9d Roll Skia from 23a5617e7f47 to ef6272ca7762 (1 revision) (flutter/engine#51696)
https://skia.googlesource.com/skia.git/+log/23a5617e7f47..ef6272ca7762

2024-03-27 michaelludwig@google.com [graphite] Add NotifyInUse parallel to AddToKey

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,jamesgk@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-03-27 03:21:22 +00:00
skia-flutter-autoroll
947bc10acf Roll Fuchsia Linux SDK from uu8lffXkeJQ9PC96I... to Lk8KBU-c97ROj-YHm... (flutter/engine#51690)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-03-27 00:07:04 +00:00
Zachary Anderson
75fc553fe7 Turn off internal retries for Android scenario app tests (flutter/engine#51689)
The idea is to make flakes more visible on the dashboard.
2024-03-26 23:11:25 +00:00
skia-flutter-autoroll
66c88b1d01 Roll Skia from 1808016c7a6d to 23a5617e7f47 (1 revision) (flutter/engine#51688)
https://skia.googlesource.com/skia.git/+log/1808016c7a6d..23a5617e7f47

2024-03-26 bungeman@google.com Roll recipe_bundle (5484 commits)

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,jamesgk@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-03-26 22:49:16 +00:00
Chris Bracken
70867ee4d9 [macOS] Consolidate FlutterViewController static types/data (flutter/engine#51486)
No semantic changes, just consolidates static functions in FlutterViewController.mm local to the translation unit into a single contiguous block at the top.

Also includes three minor (non-semantic) changes:
* Corrects static function naming to UpperCamelCase
* Adds doc comments for `OnKeyboardLayoutChanged`
* Adds a mark to help highlight the static data/function block at the top of the file in Xcode.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-26 21:46:53 +00:00
skia-flutter-autoroll
9945d244bb Roll Skia from 0590062821dc to 1808016c7a6d (3 revisions) (flutter/engine#51686)
https://skia.googlesource.com/skia.git/+log/0590062821dc..1808016c7a6d

2024-03-26 michaelludwig@google.com [graphite] Use DrawTask to simplify Device flushing/snapping
2024-03-26 michaelludwig@google.com Fix expected clip count in picture playback
2024-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c77c6203b5c8 to db77997f71e0 (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jamesgk@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-03-26 21:43:11 +00:00
Jonah Williams
7f3622ccea [iOS] remove arbitrary framerate cap. (flutter/engine#51663)
This doesn't actually seem to be helping. For the most part, the frame time of the banners is steady with occassional spikes. Adding the framerate cap doesn't help the spikes, since those are in the 30+ ms frame time, and just results in everything else looking janky as well (especially if we dance around the cap, then we go 120 - 80)

Since this is based on an arbitrary number, from an arbitrary app, on an arbitrary point in time we should remove it and instead try to fix the performance problems
2024-03-26 21:35:08 +00:00
Jonah Williams
92abaefe25 [Impeller] use screen space coordinates for dithering. (flutter/engine#51668)
Currently we're using the canvas coordinate positions for dithering. This usually works, but if the gradient includes a transform, then we might end up with 1 canvas coordinate pt = multiple physical pixels. This can result dithering artifacts since larger blocks will get the same color weight.

instead we can use gl_FragCoord.xy to get the screenspace coordinates which aren't effect by this transform.

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

## Before

![flutter_04](https://github.com/flutter/engine/assets/8975114/5f5c19a5-575b-45fb-8f58-c5dc4e46dfb1)

## After

![flutter_05](https://github.com/flutter/engine/assets/8975114/8e80c967-a73d-433c-a16d-918f2aa042db)

Using the app from https://github.com/flutter/flutter/issues/145481 but with the scaling factor increased to 10.0.
2024-03-26 20:48:04 +00:00
skia-flutter-autoroll
3eb642ef4c Roll Dart SDK from 09e56db7d600 to a600b67424a8 (5 revisions) (flutter/engine#51684)
https://dart.googlesource.com/sdk.git/+log/09e56db7d600..a600b67424a8

2024-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-275.0.dev
2024-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-274.0.dev
2024-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-273.0.dev
2024-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-272.0.dev
2024-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-271.0.dev

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://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-03-26 20:31:07 +00:00
Jason Simmons
bc7a98619d [Impeller] Do not apply mask filters to a DrawPaint cover geometry (flutter/engine#51670)
The DisplayListBuilder only updates the paint attributes that are relevant to a given operation.  DrawPaint does not support mask filters, so DisplayListBuilder::DrawPaint will not modify the mask filter state. So a call to DrawPaint in the display list dispatcher may receive a paint containing a mask filter set by a previous call.

Aiks Canvas::DrawPaint should ignore any mask filter set on the paint (matching the spec for Skia's SkCanvas::drawPaint)

Fixes https://github.com/flutter/flutter/issues/145442
2024-03-26 19:34:15 +00:00
Jim Graham
118bfc65c4 [Impeller] Simplify calculation of Matrix::GetMaxBasisXY() (flutter/engine#51664)
Since 2D coordinates have a `Z` value of `0.0`, they don't need to include the Z basis vector in calculating a scale.
2024-03-26 19:03:04 +00:00
Ryan Macnak
df1c571aec Stop rolling zlib with Dart SDK rolls. (flutter/engine#51667)
The engine is not compatible with newer versions of zlib that Dart needs
to unblock toolchain rolls.
2024-03-26 12:02:22 -07:00
skia-flutter-autoroll
fbf18e2491 Roll Skia from 90cfbf5fb91e to 0590062821dc (2 revisions) (flutter/engine#51680)
https://skia.googlesource.com/skia.git/+log/90cfbf5fb91e..0590062821dc

2024-03-26 bungeman@google.com Fix NoDEPS builds
2024-03-26 kjlubick@google.com Add in sksl tracing flag that is still referred to externally

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,jamesgk@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-03-26 18:34:18 +00:00
Jackson Gardner
af3d972f03 Pass the flutter test font by default. (flutter/engine#51671)
In the default case, where no fonts are specified, we should specify the flutter test font. This fixes a swath of framework tests in skwasm.
2024-03-26 18:16:58 +00:00
Jonah Williams
4e9d202574 [Impeller] revert usage of foreground blend optimization. (flutter/engine#51679)
Fixes https://github.com/flutter/flutter/issues/144109

The Foreground blend optimization attempts to combine what would be a composited operation directly into the parent pass. Unfortunately, this doesn't work if the entity has a non scale/translate transform. Since we don't actually know the entities geometry, we've been using the coverage rect - but the coverage rect is always an axis aligned rectangle. So we can't use it to determine the actual geometry.
2024-03-26 18:09:28 +00:00
Jonah Williams
ca4544834a [Impeller] Refactor clip stack into separate testable class. (flutter/engine#51656)
The clip coverage tracking has had some bugs, but its been difficult to test as it was mixed into the regular entity pass workflow. This change pulls this logic and the clip recorder logic into a new class that is responsible for managing the coverage stacks.

Adds an unbalanced restore unit test as well.
2024-03-26 18:02:56 +00:00
Zachary Anderson
eee04ffd80 Roll buildroot to ba3ca696f4f95e998707523be755c15440c6bf3f (flutter/engine#51678)
To pick up https://github.com/flutter/buildroot/pull/840
2024-03-26 10:29:28 -07:00
Zachary Anderson
636764e33e Use RBE for Fuchsia CI builds (flutter/engine#51675)
I'm not seeing the failures I had seen in these builds previously. I
suspect in the meantime we've rolled reclient forward in CI.
2024-03-26 10:19:59 -07:00
skia-flutter-autoroll
5157fd60b2 Roll Skia from 7ffd936a66df to 90cfbf5fb91e (15 revisions) (flutter/engine#51677)
https://skia.googlesource.com/skia.git/+log/7ffd936a66df..90cfbf5fb91e

2024-03-26 sunnyps@chromium.org graphite: Process mapped client buffers in checkAsyncWorkCompletion
2024-03-26 kjlubick@google.com Fix Docker and SwiftShader builds
2024-03-26 double1kai@gmail.com Add vector support for LoongArch in SkRasterPipeline
2024-03-26 bungeman@google.com Update depot_tools, recipes-py; use vpython3
2024-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll vulkan-deps from b573e0c2eee9 to c77c6203b5c8 (3 revisions)
2024-03-26 sky@chromium.org SkPath: reduces cost of addRect
2024-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from e1d1c2a9f534 to 5de7eb219957 (4 revisions)
2024-03-26 49699333+dependabot[bot]@users.noreply.github.com Bump express from 4.17.3 to 4.19.2 in /tools/run-wasm-gm-tests
2024-03-26 49699333+dependabot[bot]@users.noreply.github.com Bump express from 4.18.2 to 4.19.2 in /tools/perf-canvaskit-puppeteer
2024-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from d2cef82a8fd3 to eacd6acdcb00 (40 revisions)
2024-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 3a33a92e0392 to f847b3c18c27 (19 revisions)
2024-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 3c18c5b7edc5 to c18c48f0aba5
2024-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 992dea31b114 to e1d1c2a9f534 (13 revisions)
2024-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 2432e62f9cc1 to b573e0c2eee9 (9 revisions)
2024-03-26 michaelludwig@google.com [graphite] Add DrawTask stub

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,jamesgk@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-03-26 17:09:58 +00:00
Chris Bracken
6a902db197 [macOS] Disable FlutterEngineTest.CanOverrideBackgroundColor (flutter/engine#51669)
This was re-enabled in https://github.com/flutter/flutter/issues/124677 after fixing leaks in https://github.com/flutter/engine/pull/50832. Since this test involves an NSWindow, there are separate fixes that should be landed to reduce flakes related to lack of NSWindow close calls in the tests. See related AppKit bug report filed at http://www.openradar.me/FB13291861.

Issue: https://github.com/flutter/flutter/issues/145728
Related issue: https://github.com/flutter/flutter/issues/124677

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-26 16:40:49 +00:00
Zachary Anderson
25275dfc89 Roll buildroot to 2a16784938d3be059014d4112f00ac70a386fa0c (flutter/engine#51674)
To pick up https://github.com/flutter/buildroot/pull/841
2024-03-26 09:20:01 -07:00
skia-flutter-autoroll
737e34478d Roll Dart SDK from a783a4a043ec to 09e56db7d600 (2 revisions) (flutter/engine#51666)
https://dart.googlesource.com/sdk.git/+log/a783a4a043ec..09e56db7d600

2024-03-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-270.0.dev
2024-03-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-269.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-03-26 15:47:22 +00:00