Skip to content

[Impeller] Make sure inline passes always do a clear action. #174083

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

gaaclarke
Copy link
Member

The assumption they could avoid this is no longer valid.

issue: #171772

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@github-actions github-actions bot added engine flutter/engine repository. See also e: labels. e: impeller Impeller rendering backend issues and features requests labels Aug 19, 2025
@gaaclarke
Copy link
Member Author

dropping this out of draft to check goldens

@gaaclarke gaaclarke marked this pull request as ready for review August 20, 2025 18:38
@gaaclarke gaaclarke marked this pull request as draft August 20, 2025 20:31
@flutter-dashboard
Copy link

This pull request has been changed to a draft. The currently pending flutter-gold status will not be able to resolve until a new commit is pushed or the change is marked ready for review again.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@gaaclarke gaaclarke marked this pull request as ready for review August 20, 2025 20:40
@gaaclarke gaaclarke changed the title [Impeller] Make sure inline passes always do a load action. [Impeller] Make sure inline passes always do a clear action. Aug 20, 2025
@flutter-dashboard
Copy link

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #174083 at sha a444447

@flutter-dashboard flutter-dashboard bot added the will affect goldens Changes to golden files label Aug 20, 2025
@gaaclarke gaaclarke requested review from chinmaygarde and flar August 20, 2025 23:03
@gaaclarke
Copy link
Member Author

@flar @chinmaygarde can you guys give this a look. I've done a bit of debugging of this issue in #171772

This is a bummer of a change since it seems to work fine on some devices, like metal. But it clearly doesn't work for vulkan. I was hoping you might know something I don't know about how this optimization is supposed to work. I went back and it's been broken for almost a year so maybe it never did for these devices.

Copy link
Contributor

@flar flar left a comment

Choose a reason for hiding this comment

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

LNTTM...

(Looks Non-Threatening To Me)

// drawing the previous pass texture, and so we don't have to clear it and
// can use kDontCare.
color0.load_action = is_msaa ? LoadAction::kDontCare : LoadAction::kLoad;
color0.load_action = is_msaa ? LoadAction::kClear : LoadAction::kLoad;
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps add a comment that we should be able to use kDontCare here and it's not clear why that doesn't work - with an issue to follow up when we have the time?

Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

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

lgtm. I don't know from context how the statement "... end up overriding the entire backdrop ..." is supposed to be guaranteed. Perhaps for specific use cases but not in general.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e: impeller Impeller rendering backend issues and features requests engine flutter/engine repository. See also e: labels. will affect goldens Changes to golden files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants