Skip to content
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

[Impeller] fix typo in setup for fast elliptical rrect blurs #53673

Merged
merged 3 commits into from
Jul 2, 2024

Conversation

flar
Copy link
Contributor

@flar flar commented Jul 1, 2024

This typo was discovered while converting the AIKS tests to DisplayList - the new test executes correctly, but the old test generated bad goldens due to this typo. Fixing the typo to fix the golden prior to landing the test conversion.

The fix should be covered by existing tests - in fact the change is correcting an already bad golden test to correct behavior.

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

@flar
Copy link
Contributor Author

flar commented Jul 1, 2024

Filed for a test exemption in Discord hackers channel...

Copy link
Member

@gaaclarke gaaclarke left a comment

Choose a reason for hiding this comment

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

lgtm (waiting to make sure that it changes the golden for approval)

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!

Copy link
Member

@gaaclarke gaaclarke left a comment

Choose a reason for hiding this comment

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

The change is getting picked up in the golden tests, lgtm.

(I wouldn't consider this test exempt, it has existing tests that cover it).

@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 #53673 at sha 47857ae

@gaaclarke
Copy link
Member

Looking at the code, this is obviously right. But looking at the golden's, the old code seems to draw something that makes more sense. Maybe we need to update the test?

Screenshot 2024-07-01 at 4 43 03 PM
Screenshot 2024-07-01 at 4 44 49 PM

@flar
Copy link
Contributor Author

flar commented Jul 2, 2024

Looking at the code, this is obviously right. But looking at the golden's, the old code seems to draw something that makes more sense. Maybe we need to update the test?

I don't understand what you mean by "more sense" - do you mean something that looks more aesthetically pleasing? This test is testing that the numbers behave as you'd expect from the numbers, which it does.

The old code was not drawing what the numbers told it to draw.
The new code is drawing exactly what the numbers were requesting.

Updating the test to not draw these edge cases would leave the edge cases untested.

@flar
Copy link
Contributor Author

flar commented Jul 2, 2024

The change is getting picked up in the golden tests, lgtm.

(I wouldn't consider this test exempt, it has existing tests that cover it).

It isn't automatically exempt as it isn't just comment changes or reformatting code.

But, it is fully tested by existing tests so a manual test exemption can be requested from the test exemption gatekeepers, which I've done.

@flar
Copy link
Contributor Author

flar commented Jul 2, 2024

Note to those granting a test exemption - I'm leaving the goldens untriaged so that you can verify that the updated behavior is caught by existing tests. The new values of the goldens are the correct(ed) output...

@gaaclarke
Copy link
Member

I don't understand what you mean by "more sense" - do you mean something that looks more aesthetically pleasing? This test is testing that the numbers behave as you'd expect from the numbers, which it does.

"More sense" in the fact that the array of rendered images is varying in a dimension that a user might care about, like the others in that test. The dimension that is being changed here seems niche. I'm wondering if there is a better test is all.

Updating the test to not draw these edge cases would leave the edge cases untested.

Updating the test could mean adding variants. I don't recommend removing edge cases you care about.

It isn't automatically exempt as it isn't just comment changes or reformatting code.

But, it is fully tested by existing tests so a manual test exemption can be requested from the test exemption gatekeepers, which I've done.

Sorry, I was trying to convey that this should not need an exemption because there is proof that there is test coverage because of the golden changes, not that this requires something else to meet the testing requirement.

@flar
Copy link
Contributor Author

flar commented Jul 2, 2024

I don't understand what you mean by "more sense" - do you mean something that looks more aesthetically pleasing? This test is testing that the numbers behave as you'd expect from the numbers, which it does.

"More sense" in the fact that the array of rendered images is varying in a dimension that a user might care about, like the others in that test. The dimension that is being changed here seems niche. I'm wondering if there is a better test is all.

Ah, this row is testing that increasingly oblong ellipse corners look increasingly oblong. It could probably make their oblong-ness more obvious to the naked eye the vertical radius is stuck at 5.0 and the horizontal radius varies from, I think, 5.0 to 25.0. I originally tried a few different scenarios and they were less visible than this.

(And then, of course, I made a change to the code and the oblongness disappeared and I didn't notice, but that was probably more about me thinking that the last update was minor and forgetting what that specific row was supposed to be accomplishing when I reviewed it.)

Updating the test to not draw these edge cases would leave the edge cases untested.

Updating the test could mean adding variants. I don't recommend removing edge cases you care about.

Maybe a grid where the H/V radii vary across and down independently - it would make a kind of symmetric distortion that might be more visible?

It isn't automatically exempt as it isn't just comment changes or reformatting code.
But, it is fully tested by existing tests so a manual test exemption can be requested from the test exemption gatekeepers, which I've done.

Sorry, I was trying to convey that this should not need an exemption because there is proof that there is test coverage because of the golden changes, not that this requires something else to meet the testing requirement.

Ah, yes, exactly. I hadn't read it that way.

@stuartmorgan
Copy link
Contributor

test-exempt: fixes existing test

@flutter-dashboard
Copy link

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

Changes reported for pull request #53673 at sha 43e1638

@flar flar added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 2, 2024
@auto-submit auto-submit bot merged commit a430bc4 into flutter:main Jul 2, 2024
29 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 2, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 2, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 3, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 3, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jul 3, 2024
…151208)

flutter/engine@4427894...c5c0c54

2024-07-03 [email protected] Reland "Output .js files as ES6 modules. (#52023)" (flutter/engine#53688)
2024-07-02 [email protected] Roll Skia from d02998fba957 to 7c69f39fa85b (1 revision) (flutter/engine#53701)
2024-07-02 [email protected] Roll Skia from c1f2dd0fc5f6 to d02998fba957 (2 revisions) (flutter/engine#53699)
2024-07-02 [email protected] Roll Skia from c0ee0e108900 to c1f2dd0fc5f6 (2 revisions) (flutter/engine#53697)
2024-07-02 [email protected] [Impeller] fix typo in setup for fast elliptical rrect blurs (flutter/engine#53673)
2024-07-02 [email protected] Roll Fuchsia GN SDK from RgErspyYHapUO2Spc... to sbh76PYVTMxav4ACT... (flutter/engine#53693)
2024-07-02 [email protected] [Impeller] fixed units for memory measurement (flutter/engine#53687)
2024-07-02 [email protected] [deep link][ios] Update openURL method to reflect the result from framework  (flutter/engine#52643)
2024-07-02 [email protected] Manual roll Dart SDK from c23e58143793 to ffc8bb004a64 (2 revisions) (flutter/engine#53690)

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
TahaTesser pushed a commit to TahaTesser/flutter that referenced this pull request Jul 8, 2024
…lutter#151208)

flutter/engine@4427894...c5c0c54

2024-07-03 [email protected] Reland "Output .js files as ES6 modules. (flutter#52023)" (flutter/engine#53688)
2024-07-02 [email protected] Roll Skia from d02998fba957 to 7c69f39fa85b (1 revision) (flutter/engine#53701)
2024-07-02 [email protected] Roll Skia from c1f2dd0fc5f6 to d02998fba957 (2 revisions) (flutter/engine#53699)
2024-07-02 [email protected] Roll Skia from c0ee0e108900 to c1f2dd0fc5f6 (2 revisions) (flutter/engine#53697)
2024-07-02 [email protected] [Impeller] fix typo in setup for fast elliptical rrect blurs (flutter/engine#53673)
2024-07-02 [email protected] Roll Fuchsia GN SDK from RgErspyYHapUO2Spc... to sbh76PYVTMxav4ACT... (flutter/engine#53693)
2024-07-02 [email protected] [Impeller] fixed units for memory measurement (flutter/engine#53687)
2024-07-02 [email protected] [deep link][ios] Update openURL method to reflect the result from framework  (flutter/engine#52643)
2024-07-02 [email protected] Manual roll Dart SDK from c23e58143793 to ffc8bb004a64 (2 revisions) (flutter/engine#53690)

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
victorsanni pushed a commit to victorsanni/flutter that referenced this pull request Jul 8, 2024
…lutter#151208)

flutter/engine@4427894...c5c0c54

2024-07-03 [email protected] Reland "Output .js files as ES6 modules. (flutter#52023)" (flutter/engine#53688)
2024-07-02 [email protected] Roll Skia from d02998fba957 to 7c69f39fa85b (1 revision) (flutter/engine#53701)
2024-07-02 [email protected] Roll Skia from c1f2dd0fc5f6 to d02998fba957 (2 revisions) (flutter/engine#53699)
2024-07-02 [email protected] Roll Skia from c0ee0e108900 to c1f2dd0fc5f6 (2 revisions) (flutter/engine#53697)
2024-07-02 [email protected] [Impeller] fix typo in setup for fast elliptical rrect blurs (flutter/engine#53673)
2024-07-02 [email protected] Roll Fuchsia GN SDK from RgErspyYHapUO2Spc... to sbh76PYVTMxav4ACT... (flutter/engine#53693)
2024-07-02 [email protected] [Impeller] fixed units for memory measurement (flutter/engine#53687)
2024-07-02 [email protected] [deep link][ios] Update openURL method to reflect the result from framework  (flutter/engine#52643)
2024-07-02 [email protected] Manual roll Dart SDK from c23e58143793 to ffc8bb004a64 (2 revisions) (flutter/engine#53690)

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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.

4 participants