-
Notifications
You must be signed in to change notification settings - Fork 29.3k
[Impeller] adjust coverage origin when rounding out SaveLayer bounds. #161838
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
Conversation
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 Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
Leaving up the goldens for comparison. If you look at the before/after you can see the top left edge appearing where it previously was cut off. |
Golden file changes are available for triage from new commit, Click here to view. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
I looked through the goldens and didn't notice anything problematic. The space between the rects in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test and code looks good to me. I just have one question about why it is happening in one branch of the code.
))); | ||
save_layer_state_.push_back(SaveLayerState{paint_copy, subpass_coverage}); | ||
save_layer_state_.push_back(SaveLayerState{ | ||
paint_copy, subpass_coverage.Shift(-coverage_origin_adjustment)}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no action required: I double checked this is right:
top_left = 1.9
adjustment = 1.9 - 1.0 = 0.9
shift(-0.9)
bool did_round_out = false; | ||
Point coverage_origin_adjustment = Point{0, 0}; | ||
if (paint.image_filter) { | ||
subpass_size = ISize(subpass_coverage.GetSize()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How come this isn't an issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't fully understand how the coverage computation for image filters are working today. most are pretty destructuve to the exact pixels (and that no one has reported an issue). Given that, I think we should leave well enough alone for now.
Co-authored-by: gaaclarke <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Manual roll requested by [email protected] flutter/flutter@b2f515f...c1561a4 2025-01-23 [email protected] Add `windows_host_engine_test` to presubmit, remove lint exceptions. (flutter/flutter#162032) 2025-01-23 [email protected] Shift `mac_clang_tidy` to a Linux orchestrator. (flutter/flutter#162042) 2025-01-23 [email protected] [Impeller] check both linear sampling props for AHBs. (flutter/flutter#162043) 2025-01-23 [email protected] [Impeller] Implement inherited opacity for ColorFilterContents (flutter/flutter#161834) 2025-01-23 [email protected] Keyboard tidy ups (flutter/flutter#162054) 2025-01-23 [email protected] fix: Call codec.dispose in tests of `engine/src/flutter` (flutter/flutter#161115) 2025-01-23 [email protected] fix: Call codec.dispose in `flutter/test` (flutter/flutter#161127) 2025-01-23 [email protected] fix: Call codec.dispose in `flutter_test` (flutter/flutter#161131) 2025-01-23 [email protected] fix: Call codec.dispose in `dev/` (flutter/flutter#161112) 2025-01-23 [email protected] Replace hacky code creating fake devices (flutter/flutter#162056) 2025-01-23 [email protected] [native assets] Roll dependencies (flutter/flutter#162068) 2025-01-23 [email protected] [native assets] Roll dependencies (flutter/flutter#162017) 2025-01-23 [email protected] Fix DropdownButtonFormField clips text when large text scale is used (flutter/flutter#159975) 2025-01-23 [email protected] Add a better error message when `flutter drive --target` is used incorrectly. (flutter/flutter#162023) 2025-01-23 [email protected] Revert "Move the analyzer_benchmark to Mac arm64 devicelab bots" (flutter/flutter#161822) 2025-01-23 [email protected] [Impeller] adjust coverage origin when rounding out SaveLayer bounds. (flutter/flutter#161838) 2025-01-23 [email protected] Add a README with instructions for editing and running tests for the FGP (flutter/flutter#161830) 2025-01-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Migrate unit tests off of Skia geometry classes (#161855)" (flutter/flutter#162046) 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
…flutter#161838) Fixes flutter#161374 When we round out the texture size for a saveLayer, also round out the coverage so that the drawing origin is correct. Otherwise we may actually cut off the top left edge of rendering. --------- Co-authored-by: gaaclarke <[email protected]>
…flutter#161838) Fixes flutter#161374 When we round out the texture size for a saveLayer, also round out the coverage so that the drawing origin is correct. Otherwise we may actually cut off the top left edge of rendering. --------- Co-authored-by: gaaclarke <[email protected]>
) Manual roll requested by [email protected] flutter/flutter@b2f515f...c1561a4 2025-01-23 [email protected] Add `windows_host_engine_test` to presubmit, remove lint exceptions. (flutter/flutter#162032) 2025-01-23 [email protected] Shift `mac_clang_tidy` to a Linux orchestrator. (flutter/flutter#162042) 2025-01-23 [email protected] [Impeller] check both linear sampling props for AHBs. (flutter/flutter#162043) 2025-01-23 [email protected] [Impeller] Implement inherited opacity for ColorFilterContents (flutter/flutter#161834) 2025-01-23 [email protected] Keyboard tidy ups (flutter/flutter#162054) 2025-01-23 [email protected] fix: Call codec.dispose in tests of `engine/src/flutter` (flutter/flutter#161115) 2025-01-23 [email protected] fix: Call codec.dispose in `flutter/test` (flutter/flutter#161127) 2025-01-23 [email protected] fix: Call codec.dispose in `flutter_test` (flutter/flutter#161131) 2025-01-23 [email protected] fix: Call codec.dispose in `dev/` (flutter/flutter#161112) 2025-01-23 [email protected] Replace hacky code creating fake devices (flutter/flutter#162056) 2025-01-23 [email protected] [native assets] Roll dependencies (flutter/flutter#162068) 2025-01-23 [email protected] [native assets] Roll dependencies (flutter/flutter#162017) 2025-01-23 [email protected] Fix DropdownButtonFormField clips text when large text scale is used (flutter/flutter#159975) 2025-01-23 [email protected] Add a better error message when `flutter drive --target` is used incorrectly. (flutter/flutter#162023) 2025-01-23 [email protected] Revert "Move the analyzer_benchmark to Mac arm64 devicelab bots" (flutter/flutter#161822) 2025-01-23 [email protected] [Impeller] adjust coverage origin when rounding out SaveLayer bounds. (flutter/flutter#161838) 2025-01-23 [email protected] Add a README with instructions for editing and running tests for the FGP (flutter/flutter#161830) 2025-01-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Migrate unit tests off of Skia geometry classes (#161855)" (flutter/flutter#162046) 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
) Manual roll requested by [email protected] flutter/flutter@b2f515f...c1561a4 2025-01-23 [email protected] Add `windows_host_engine_test` to presubmit, remove lint exceptions. (flutter/flutter#162032) 2025-01-23 [email protected] Shift `mac_clang_tidy` to a Linux orchestrator. (flutter/flutter#162042) 2025-01-23 [email protected] [Impeller] check both linear sampling props for AHBs. (flutter/flutter#162043) 2025-01-23 [email protected] [Impeller] Implement inherited opacity for ColorFilterContents (flutter/flutter#161834) 2025-01-23 [email protected] Keyboard tidy ups (flutter/flutter#162054) 2025-01-23 [email protected] fix: Call codec.dispose in tests of `engine/src/flutter` (flutter/flutter#161115) 2025-01-23 [email protected] fix: Call codec.dispose in `flutter/test` (flutter/flutter#161127) 2025-01-23 [email protected] fix: Call codec.dispose in `flutter_test` (flutter/flutter#161131) 2025-01-23 [email protected] fix: Call codec.dispose in `dev/` (flutter/flutter#161112) 2025-01-23 [email protected] Replace hacky code creating fake devices (flutter/flutter#162056) 2025-01-23 [email protected] [native assets] Roll dependencies (flutter/flutter#162068) 2025-01-23 [email protected] [native assets] Roll dependencies (flutter/flutter#162017) 2025-01-23 [email protected] Fix DropdownButtonFormField clips text when large text scale is used (flutter/flutter#159975) 2025-01-23 [email protected] Add a better error message when `flutter drive --target` is used incorrectly. (flutter/flutter#162023) 2025-01-23 [email protected] Revert "Move the analyzer_benchmark to Mac arm64 devicelab bots" (flutter/flutter#161822) 2025-01-23 [email protected] [Impeller] adjust coverage origin when rounding out SaveLayer bounds. (flutter/flutter#161838) 2025-01-23 [email protected] Add a README with instructions for editing and running tests for the FGP (flutter/flutter#161830) 2025-01-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Migrate unit tests off of Skia geometry classes (#161855)" (flutter/flutter#162046) 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
Fixes #161374
When we round out the texture size for a saveLayer, also round out the coverage so that the drawing origin is correct. Otherwise we may actually cut off the top left edge of rendering.