Skip to content

Conversation

@gaaclarke
Copy link
Member

@gaaclarke gaaclarke commented Nov 21, 2025

fixes #178798

This passes all the golden tests. It fixes the linked issue by avoiding rasterization which resets the frag coords. I have a feeling there may be some case where this may fail that we haven't considered in a golden test. This at moves us forward, documenting the desired behavior without breaking any golden tests.

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 related. See also e: labels. e: impeller Impeller rendering backend issues and features requests labels Nov 21, 2025
@gaaclarke gaaclarke marked this pull request as ready for review November 25, 2025 00:07
@gaaclarke
Copy link
Member Author

Ahh shoot, I found the case where this fails. When sigma is low in the compose case the output of the blur is a translation only, but it needs to be rasterized. Putting this back into draft.

@gaaclarke gaaclarke marked this pull request as draft November 25, 2025 00:11
@gaaclarke
Copy link
Member Author

This works now but ClippedBackdropFilterWithShader/OpenGLES is drawing upside down. This was a bug before this PR and wasn't introduced here. I'll file an issue to follow up on that.

@gaaclarke gaaclarke marked this pull request as ready for review November 25, 2025 19:44
@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 #178940 at sha b76e8d5

@flutter-dashboard flutter-dashboard bot added the will affect goldens Changes to golden files label Nov 25, 2025
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.

Minor suggestions on naming.

/// apply it during rendering.
void SetDeferApplyingOpacity(bool defer_applying_opacity);

/// The value on the `Snapshot` that will be returned from `RenderToSnapshot`
Copy link
Member

Choose a reason for hiding this comment

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

This comment was hard to parse. Honestly, I'd just leave the at-see and call it a day.

How about, SnapshotsNeedRasteriazationForRuntimeEffects. Really give the ObjC writers a run for their money.

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

Scalar opacity_ = 1.0f;
Scalar inherited_opacity_ = 1.0f;
bool defer_applying_opacity_ = false;
bool needs_rasterization_for_runtime_effects_ = false;
Copy link
Member

Choose a reason for hiding this comment

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

Perhaps snapshots_need_rasterization_for_runtime_effects_.

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

@gaaclarke gaaclarke added autosubmit Merge PR when tree becomes green via auto submit App and removed autosubmit Merge PR when tree becomes green via auto submit App labels Nov 25, 2025
@gaaclarke
Copy link
Member Author

I misspoke. I realized the bug for opengles was in the new shader I took from the bug report. So it didn't render correctly either before, but that's because it had a flaw. I've fixed it.

@gaaclarke gaaclarke added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 25, 2025
@flutter-dashboard
Copy link

Golden file changes are available for triage from new commit, Click here to view.

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 #178940 at sha 7f3f5d4

@auto-submit
Copy link
Contributor

auto-submit bot commented Nov 26, 2025

autosubmit label was removed for flutter/flutter/178940, because - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 26, 2025
@gaaclarke gaaclarke added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 26, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Nov 26, 2025
Merged via the queue into flutter:master with commit 11367b7 Nov 27, 2025
183 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 27, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 27, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Nov 27, 2025
flutter/flutter@7b98d50...022b155

2025-11-27 [email protected] Make tree green again by fixing lints (flutter/flutter#179186)
2025-11-26 [email protected] Add shared Darwin implementation for plugins (flutter/flutter#176495)
2025-11-26 [email protected] Fixed changing supportedLocales fails to update the locale (flutter/flutter#178526)
2025-11-26 [email protected] [ Tool ] Remove --no-sandbox when launching web apps on Chrome device (flutter/flutter#178670)
2025-11-26 [email protected] Build hooks: Don't require toolchain for unit tests (flutter/flutter#178954)
2025-11-26 [email protected] Fix a small typo in `HandlerCompat.java` docs (flutter/flutter#178595)
2025-11-26 [email protected] Roll Fuchsia Linux SDK from nzuAxCJGeJbkZCTkr... to _e9MNK4nfBOrERVP_... (flutter/flutter#179130)
2025-11-26 [email protected] Make sure that a CupertinoActivityIndicator doesn't crash in 0x0 envi… (flutter/flutter#178565)
2025-11-26 [email protected] [native assets] Bump minimum iOS version from 12 to 13 (flutter/flutter#179079)
2025-11-26 [email protected] Documents and fixes behavior when clipping background filter fragment shader (flutter/flutter#178940)
2025-11-26 [email protected] Replace the hardcoded link with an actual link tag in `PlatformChannel.java‎` docs (flutter/flutter#178588)
2025-11-26 [email protected] Roll Packages from cc3dca6 to 5d8d954 (5 revisions) (flutter/flutter#179140)
2025-11-26 [email protected] Add more templates that the UIScene migrator can match against (flutter/flutter#179044)
2025-11-26 [email protected] Remove deprecated activeColor in `dynamic_content_color.0.dart`‎ example (flutter/flutter#178961)
2025-11-26 [email protected] Remove deprecated `activeColor` in `decorated_sliver.1.dart‎` example (flutter/flutter#178959)
2025-11-26 [email protected] Small refactor in `PlayStoreDeferredComponentManager.java‎` (flutter/flutter#178586)
2025-11-26 [email protected] Roll Dart SDK from 9e605f706cdf to 1d8dc04bd1d7 (4 revisions) (flutter/flutter#179080)
2025-11-26 [email protected] Fix error when generating pt_BR localizations (flutter/flutter#175832)
2025-11-26 [email protected] Roll Fuchsia Test Scripts from JUeFbA8y0E-_pj-bg... to MHF-UAfO6sVKqSEYk... (flutter/flutter#179151)
2025-11-26 [email protected] Add flutter_lints to samples (flutter/flutter#179091)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: 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
mboetger pushed a commit to mboetger/flutter that referenced this pull request Dec 2, 2025
… shader (flutter#178940)

fixes flutter#178798

This passes all the golden tests. It fixes the linked issue by avoiding
rasterization which resets the frag coords. I have a feeling there may
be some case where this may fail that we haven't considered in a golden
test. This at moves us forward, documenting the desired behavior without
breaking any golden tests.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

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](https://developers.google.com/gemini-code-assist/docs/review-github-code).
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.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
reidbaker pushed a commit to AbdeMohlbi/flutter that referenced this pull request Dec 10, 2025
… shader (flutter#178940)

fixes flutter#178798

This passes all the golden tests. It fixes the linked issue by avoiding
rasterization which resets the frag coords. I have a feeling there may
be some case where this may fail that we haven't considered in a golden
test. This at moves us forward, documenting the desired behavior without
breaking any golden tests.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

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](https://developers.google.com/gemini-code-assist/docs/review-github-code).
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.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
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 related. See also e: labels. will affect goldens Changes to golden files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BackdropFilter shader UV sampling is incorrect on beta when using ClipRect

2 participants