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
auto-submit[bot] merged 2 commits into
flutter-team-archive:mainfrom
bdero:bdero/clip-restores-gles
Mar 4, 2024
Merged

auto-submit[bot] merged 2 commits into
flutter-team-archive:mainfrom
bdero:bdero/clip-restores-gles

Conversation

@bdero

@bdero bdero commented Mar 4, 2024

Copy link
Copy Markdown
Contributor

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
Copy Markdown

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
Copy Markdown
Contributor

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

@flutter-dashboard

Copy link
Copy Markdown

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
Copy Markdown
Contributor

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

bdero commented Mar 4, 2024

Copy link
Copy Markdown
Contributor Author

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
Copy Markdown
Contributor

Sounds good to me

@jonahwilliams jonahwilliams left a comment

Copy link
Copy Markdown
Contributor

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-team-archive: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
flutter-team-archive/engine@4001881...62cf93b

2024-03-04 [email protected] [Impeller] Fix the clip replay mechanism. (flutter-team-archive/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

Development

Successfully merging this pull request may close these issues.

2 participants