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

[Impeller] Fix the clip replay mechanism. #51173

Merged
merged 2 commits into from
Mar 4, 2024

Conversation

bdero
Copy link
Member

@bdero bdero commented Mar 4, 2024

Clips were being ignored whenever MSAA backdrop restores were being done by attachment load.

Unblocks the StC flag flip: #50856

Note that the new Gaussian blur does not currently work on GLES, and it's expected that this will cause backdrop blurs to cut a transparent hole wherever the backdrop blur should render.

This happens because the gaussian blur renders as fully transparent black (among other things, it uses arrays of structs for the uniforms, which is unsupported in GLES). Then, the backdrop blur renders the blur's result with the Source blend mode, cutting out a hole in this case.

@bdero bdero requested a review from jonahwilliams March 4, 2024 19:05
@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 to this rule, contact "@test-exemption-reviewer" in the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!).

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.

@jonahwilliams
Copy link
Member

Do we have a test case (golden or otherwise) that will cover this?

@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.

Changes reported for pull request #51173 at sha fa225be

@jonahwilliams
Copy link
Member

basically, do we have a golden of this that was rendering incorrectly before but renders correctly now - perhaps on Metal/Vulkan backends too so its not just the broken gaussians on GLES?

@bdero
Copy link
Member Author

bdero commented Mar 4, 2024

I think this change only impacts GLES in practice, since Picture::ToImage and EntityPass shouldn't ever be creating non-MSAA pass textures on Metal/Vulkan. The large volume of Vulkan goldens I was getting towards the end of last week are a mystery... I wonder if they were leftovers from previous test runs/due to force pushing or something.

In terms of testing GLES: AiksTest.DrawAdvancedBlendPartlyOffscreen/OpenGLES starts rendering correctly with this change (unlike the backdrop blurs, which still render incorrectly, but differently).

@jonahwilliams
Copy link
Member

Sounds good to me

Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM

@bdero bdero added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 4, 2024
@auto-submit auto-submit bot merged commit 62cf93b into flutter:main Mar 4, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 4, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Mar 4, 2024
…144572)

flutter/engine@4001881...62cf93b

2024-03-04 [email protected] [Impeller] Fix the clip replay mechanism. (flutter/engine#51173)

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],[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
@bdero bdero mentioned this pull request Mar 5, 2024
8 tasks
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 will affect goldens
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants