Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Impeller] port clip stack fixes to new canvas. #54727

Merged

Conversation

jonahwilliams
Copy link
Member

From c99eda4

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@@ -375,8 +381,9 @@ void ExperimentalCanvas::SaveLayer(
return filter;
};

auto input_texture = FlipBackdrop(render_passes_, GetGlobalPassPosition(),
clip_coverage_stack_, renderer_);
auto input_texture =
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When doing the clip replay for a bdf, what value should be used as the clip depth comparison? @bdero

Copy link
Member

@bdero bdero Aug 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies for the late reply. When doing a clip restore:

  • The MSAA backdrop should be the very first thing drawn, but I set the clip depth to std::numeric_limits<uint32_t>::max() anyway. This helps to ensure we're not unnecessarily writing depth for the MSAA backdrop (the depth/stencil are disabled with TextureContents::SetStencilEnabled(false)).
  • Afterwards, each clip being replayed should have the same depth they had the first time they were being drawn.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated this to use max int32 for bdf restores, other flip backdrops (emulated advanced blend) use the entity depth

@jonahwilliams jonahwilliams added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 28, 2024
@auto-submit auto-submit bot merged commit a80d775 into flutter:main Aug 28, 2024
30 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 28, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 29, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 29, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 29, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 29, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 29, 2024
zanderso added a commit to flutter/flutter that referenced this pull request Aug 29, 2024
…154316)

Roll Flutter Engine from 8d248aead383 to f48ecf5b49f6 (40 revisions)

flutter/engine@8d248ae...f48ecf5

2024-08-29 jonahwilliams@google.com [Impeller] Use multiple command
buffers for blur submission. (flutter/engine#54846)
2024-08-29 skia-flutter-autoroll@skia.org Roll Skia from 0d8d9d2974fa to
e37b6b198016 (1 revision) (flutter/engine#54854)
2024-08-29 matanlurey@users.noreply.github.com Remove
`--disable-dart-dev` across `flutter/engine`. (flutter/engine#54845)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from
vIJGWtHj4Rdku9Ayv... to NWpblL_DFACOx_Spi... (flutter/engine#54852)
2024-08-28 jonahwilliams@google.com [Impeller] fix clip culling with exp
canvas. (flutter/engine#54701)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
bc3dad16b2d3 to fed5ce7ea2ad (2 revisions) (flutter/engine#54851)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from d55406ca32e9 to
0d8d9d2974fa (4 revisions) (flutter/engine#54850)
2024-08-28 jacksongardner@google.com [skwasm] Always do backdrop filter
operation even if empty. (flutter/engine#54844)
2024-08-28 matanlurey@users.noreply.github.com
Migrate`header_guard_check` to `package:test`. (flutter/engine#54811)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia GN SDK from
OKGFjciA5Vd0TQks4... to ALNKvSVWQSpw1uxPy... (flutter/engine#54848)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from cd3d3daafe55 to
d55406ca32e9 (10 revisions) (flutter/engine#54847)
2024-08-28 jonahwilliams@google.com [Impeller] ensure that srcOver to
src conversion takes stroke coverage into account.
(flutter/engine#54817)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia GN SDK from
ALNKvSVWQSpw1uxPy... to OKGFjciA5Vd0TQks4... (flutter/engine#54840)
2024-08-28 matanlurey@users.noreply.github.com Remove scorecards and
other bading we are no longer tracking/links are borked
(flutter/engine#54839)
2024-08-28 omersa@google.com Compile dart2wasm modules using the JS
runtime exported compileStreaming (flutter/engine#51488)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
183b9e21b706 to bc3dad16b2d3 (1 revision) (flutter/engine#54838)
2024-08-28 matanlurey@users.noreply.github.com Ignore generated fixture
`.dill.deps` files. (flutter/engine#54836)
2024-08-28 68449066+zijiehe-google-com@users.noreply.github.com
[fuchsia] use the api-level from gn-sdk (flutter/engine#54740)
2024-08-28 jonahwilliams@google.com [Impeller] port clip stack fixes to
new canvas. (flutter/engine#54727)
2024-08-28 jonahwilliams@google.com [Impeller] fall back to path
rendering on thick paths. (flutter/engine#54822)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from
BCqzoTS_Sz6-AaSii... to ZL8AvfXX5LFIH1LYN... (flutter/engine#54834)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from ca108745b1de to
cd3d3daafe55 (1 revision) (flutter/engine#54832)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
42ddf2278114 to 183b9e21b706 (1 revision) (flutter/engine#54830)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
b519f85c3076 to 42ddf2278114 (1 revision) (flutter/engine#54829)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia GN SDK from
OKGFjciA5Vd0TQks4... to ALNKvSVWQSpw1uxPy... (flutter/engine#54827)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from 41cb13f65fe6 to
ca108745b1de (1 revision) (flutter/engine#54828)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from 259010335a55 to
41cb13f65fe6 (2 revisions) (flutter/engine#54826)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from 505fb55cd044 to
259010335a55 (1 revision) (flutter/engine#54823)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
8334290a421b to b519f85c3076 (1 revision) (flutter/engine#54821)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from 84e4a69da303 to
505fb55cd044 (1 revision) (flutter/engine#54819)
2024-08-27 jonahwilliams@google.com [Impeller] Increase host buffer
arena count to 4. (flutter/engine#54808)
2024-08-27 flar@google.com Synchronize accounting for render op depths
(flutter/engine#54794)
2024-08-27 34871572+gmackall@users.noreply.github.com Fix broken links
in `docs/` (flutter/engine#54815)
2024-08-27 chinmaygarde@google.com [Impeller] Don't override user
specification on Vulkan validation in unopt. (flutter/engine#54816)
2024-08-27 skia-flutter-autoroll@skia.org Manual roll Dart SDK from
b81b344a194f to 8334290a421b (12 revisions) (flutter/engine#54813)
2024-08-27 skia-flutter-autoroll@skia.org Roll Skia from 77017d30a455 to
84e4a69da303 (3 revisions) (flutter/engine#54812)
2024-08-27 chinmaygarde@google.com [Impeller] Clarify where to put the
metadata in the manifest. (flutter/engine#54814)
2024-08-27 chinmaygarde@google.com [Impeller] Use infinite swapchain
present timeouts to avoid logspam. (flutter/engine#54810)
2024-08-27 skia-flutter-autoroll@skia.org Roll Skia from 2e1eea538014 to
77017d30a455 (2 revisions) (flutter/engine#54809)
2024-08-27 skia-flutter-autoroll@skia.org Roll Skia from a2e2eb292492 to
2e1eea538014 (4 revisions) (flutter/engine#54806)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from BCqzoTS_Sz6- to ZL8AvfXX5LFI

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
...

---------

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
Buchimi pushed a commit to Buchimi/flutter that referenced this pull request Sep 2, 2024
…lutter#154316)

Roll Flutter Engine from 8d248aead383 to f48ecf5b49f6 (40 revisions)

flutter/engine@8d248ae...f48ecf5

2024-08-29 jonahwilliams@google.com [Impeller] Use multiple command
buffers for blur submission. (flutter/engine#54846)
2024-08-29 skia-flutter-autoroll@skia.org Roll Skia from 0d8d9d2974fa to
e37b6b198016 (1 revision) (flutter/engine#54854)
2024-08-29 matanlurey@users.noreply.github.com Remove
`--disable-dart-dev` across `flutter/engine`. (flutter/engine#54845)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from
vIJGWtHj4Rdku9Ayv... to NWpblL_DFACOx_Spi... (flutter/engine#54852)
2024-08-28 jonahwilliams@google.com [Impeller] fix clip culling with exp
canvas. (flutter/engine#54701)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
bc3dad16b2d3 to fed5ce7ea2ad (2 revisions) (flutter/engine#54851)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from d55406ca32e9 to
0d8d9d2974fa (4 revisions) (flutter/engine#54850)
2024-08-28 jacksongardner@google.com [skwasm] Always do backdrop filter
operation even if empty. (flutter/engine#54844)
2024-08-28 matanlurey@users.noreply.github.com
Migrate`header_guard_check` to `package:test`. (flutter/engine#54811)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia GN SDK from
OKGFjciA5Vd0TQks4... to ALNKvSVWQSpw1uxPy... (flutter/engine#54848)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from cd3d3daafe55 to
d55406ca32e9 (10 revisions) (flutter/engine#54847)
2024-08-28 jonahwilliams@google.com [Impeller] ensure that srcOver to
src conversion takes stroke coverage into account.
(flutter/engine#54817)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia GN SDK from
ALNKvSVWQSpw1uxPy... to OKGFjciA5Vd0TQks4... (flutter/engine#54840)
2024-08-28 matanlurey@users.noreply.github.com Remove scorecards and
other bading we are no longer tracking/links are borked
(flutter/engine#54839)
2024-08-28 omersa@google.com Compile dart2wasm modules using the JS
runtime exported compileStreaming (flutter/engine#51488)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
183b9e21b706 to bc3dad16b2d3 (1 revision) (flutter/engine#54838)
2024-08-28 matanlurey@users.noreply.github.com Ignore generated fixture
`.dill.deps` files. (flutter/engine#54836)
2024-08-28 68449066+zijiehe-google-com@users.noreply.github.com
[fuchsia] use the api-level from gn-sdk (flutter/engine#54740)
2024-08-28 jonahwilliams@google.com [Impeller] port clip stack fixes to
new canvas. (flutter/engine#54727)
2024-08-28 jonahwilliams@google.com [Impeller] fall back to path
rendering on thick paths. (flutter/engine#54822)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from
BCqzoTS_Sz6-AaSii... to ZL8AvfXX5LFIH1LYN... (flutter/engine#54834)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from ca108745b1de to
cd3d3daafe55 (1 revision) (flutter/engine#54832)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
42ddf2278114 to 183b9e21b706 (1 revision) (flutter/engine#54830)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
b519f85c3076 to 42ddf2278114 (1 revision) (flutter/engine#54829)
2024-08-28 skia-flutter-autoroll@skia.org Roll Fuchsia GN SDK from
OKGFjciA5Vd0TQks4... to ALNKvSVWQSpw1uxPy... (flutter/engine#54827)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from 41cb13f65fe6 to
ca108745b1de (1 revision) (flutter/engine#54828)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from 259010335a55 to
41cb13f65fe6 (2 revisions) (flutter/engine#54826)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from 505fb55cd044 to
259010335a55 (1 revision) (flutter/engine#54823)
2024-08-28 skia-flutter-autoroll@skia.org Roll Dart SDK from
8334290a421b to b519f85c3076 (1 revision) (flutter/engine#54821)
2024-08-28 skia-flutter-autoroll@skia.org Roll Skia from 84e4a69da303 to
505fb55cd044 (1 revision) (flutter/engine#54819)
2024-08-27 jonahwilliams@google.com [Impeller] Increase host buffer
arena count to 4. (flutter/engine#54808)
2024-08-27 flar@google.com Synchronize accounting for render op depths
(flutter/engine#54794)
2024-08-27 34871572+gmackall@users.noreply.github.com Fix broken links
in `docs/` (flutter/engine#54815)
2024-08-27 chinmaygarde@google.com [Impeller] Don't override user
specification on Vulkan validation in unopt. (flutter/engine#54816)
2024-08-27 skia-flutter-autoroll@skia.org Manual roll Dart SDK from
b81b344a194f to 8334290a421b (12 revisions) (flutter/engine#54813)
2024-08-27 skia-flutter-autoroll@skia.org Roll Skia from 77017d30a455 to
84e4a69da303 (3 revisions) (flutter/engine#54812)
2024-08-27 chinmaygarde@google.com [Impeller] Clarify where to put the
metadata in the manifest. (flutter/engine#54814)
2024-08-27 chinmaygarde@google.com [Impeller] Use infinite swapchain
present timeouts to avoid logspam. (flutter/engine#54810)
2024-08-27 skia-flutter-autoroll@skia.org Roll Skia from 2e1eea538014 to
77017d30a455 (2 revisions) (flutter/engine#54809)
2024-08-27 skia-flutter-autoroll@skia.org Roll Skia from a2e2eb292492 to
2e1eea538014 (4 revisions) (flutter/engine#54806)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from BCqzoTS_Sz6- to ZL8AvfXX5LFI

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
...

---------

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App e: impeller
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants