Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

[Impeller] Fix EntityPassTarget::Flip with implict MSAA. #47701

Merged
merged 4 commits into from
Nov 6, 2023

Conversation

jonahwilliams
Copy link
Member

@jonahwilliams jonahwilliams commented Nov 6, 2023

This allows backdrop filters to work with GLES and MSAA.

The swap implementation was only swapping out the resolve texture. But with implicit msaa resolve, the resolve texture and msaa texture are the same - so both need to be swapped.

Fixes flutter/flutter#137301


ASSERT_EQ(msaa_tex, color0.texture);
ASSERT_NE(resolve_tex, color0.resolve_texture);
ASSERT_TRUE(false); // see if this runs.
Copy link
Member Author

Choose a reason for hiding this comment

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

Testing if we have a CI config that has implicit MSAA

Copy link
Member Author

Choose a reason for hiding this comment

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

We do not! I'll need to emulate this so it can be covered.

Copy link
Contributor

@matanlurey matanlurey left a comment

Choose a reason for hiding this comment

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

Thanks! LGTM!

std::swap(color0.resolve_texture, secondary_color_texture_);
// If the color0 resolve texture is the same as the texture, then we're
// running on the GLES backend with implicit resolve.
if (color0.resolve_texture == color0.texture) {
Copy link
Contributor

Choose a reason for hiding this comment

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

aside: I wish we could do a capabilities check instead, but this is better than nothing I suppose

Copy link
Member Author

Choose a reason for hiding this comment

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

If you want me to I can pass that in? I'll just do that.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

Copy link
Contributor

Choose a reason for hiding this comment

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

Up to you. I can't imagine another scenario but at least we wouldn't accidentally capture a bug versus an intent. Thanks!

@jonahwilliams jonahwilliams added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 6, 2023
@auto-submit auto-submit bot merged commit 5d178b2 into flutter:main Nov 6, 2023
@jonahwilliams jonahwilliams deleted the linear_texture_atlas branch November 6, 2023 19:04
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 7, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Nov 7, 2023
…137979)

flutter/engine@461d815...b1a5d77

2023-11-07 [email protected] Roll Skia from 7e3119240ae4 to 9106e374e08d (1 revision) (flutter/engine#47732)
2023-11-07 [email protected] Roll Dart SDK from 82731b940e7f to aded6314af29 (1 revision) (flutter/engine#47731)
2023-11-07 [email protected] Roll Fuchsia Mac SDK from HQfFSkurc6-jKM2jh... to wmM4lS2lYcphFSHPV... (flutter/engine#47730)
2023-11-07 [email protected] Roll Fuchsia Linux SDK from _vGlgDiKOrtlKrZAP... to NaQb_BU6PSbKXSAoU... (flutter/engine#47728)
2023-11-07 [email protected] Roll Skia from bd5f57c9bd1a to 7e3119240ae4 (10 revisions) (flutter/engine#47726)
2023-11-06 [email protected] Add `KeyEventDeviceType` to `KeyData` (flutter/engine#47315)
2023-11-06 [email protected] Roll Skia from 2b218381e226 to bd5f57c9bd1a (2 revisions) (flutter/engine#47719)
2023-11-06 [email protected] Roll Dart SDK from 07d4c9d85a5a to 82731b940e7f (1 revision) (flutter/engine#47717)
2023-11-06 [email protected] Roll Skia from 77aeee3b81a5 to 2b218381e226 (1 revision) (flutter/engine#47715)
2023-11-06 [email protected] [Impeller] scales blur coverage to match rendered output (flutter/engine#47621)
2023-11-06 [email protected] [Impeller] Fix EntityPassTarget::Flip with implict MSAA. (flutter/engine#47701)
2023-11-06 [email protected] Roll Dart SDK from 9211fc6406bb to 07d4c9d85a5a (1 revision) (flutter/engine#47709)
2023-11-06 [email protected] [Impeller] fix drawVertices dest fast path to apply alpha. (flutter/engine#47695)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from _vGlgDiKOrtl to NaQb_BU6PSbK
  fuchsia/sdk/core/mac-amd64 from HQfFSkurc6-j to wmM4lS2lYcph

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected] 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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
autosubmit Merge PR when tree becomes green via auto submit App e: impeller
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

[Impeller] EntityPassTarget::Flip is broken with implicit MSAA
2 participants