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

Conversation

@flar
Copy link
Contributor

@flar flar commented Jun 17, 2022

The Impeller code to render backdrop filters was hampered by the fact that we rendered them through calls to a Skia recorder which obfuscated the type of filter. This change will render the filters/saveLayers directly to the underlying DisplayListBuilder when using Impeller.

@flar
Copy link
Contributor Author

flar commented Jun 17, 2022

I've found at least one bug while writing a more specific test case. Working on expanding the test cases to check for more bugs.

(For those wondering, one if the negative value tests in the abs_finite() method didn't negate the value upon discovery.)

Copy link
Member

@knopp knopp left a comment

Choose a reason for hiding this comment

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

The diff part looks good to me.

// return a pointer to it with the result filled in, or it will return a
// nullptr if it cannot determine the results.
// return a pointer to it with the result filled in, or it will set it to
// a copy of the |output_bounds| and return a nullptr if it cannot
Copy link
Member

Choose a reason for hiding this comment

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

|output_bounds| -> |input_bounds|

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed

// return a pointer to it with the result filled in, or it will return a
// nullptr if it cannot determine the results.
// return a pointer to it with the result filled in, or it will set it to
// a copy of the |output_bounds| and return a nullptr if it cannot
Copy link
Member

Choose a reason for hiding this comment

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

|output_bounds| -> |input_bounds|

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed

@flar flar added the Work in progress (WIP) Not ready (yet) for review! label Jun 22, 2022
@flar
Copy link
Contributor Author

flar commented Jun 24, 2022

I filed flutter/flutter#106587 to improve the bounds under a perspective transform. Until then, the bounds calculations in DlImageFilter should be at least as "correct" as those computed by the associated Skia objects.

@flar flar requested review from bdero and knopp June 24, 2022 23:16
@flar flar removed the Work in progress (WIP) Not ready (yet) for review! label Jun 24, 2022
@flar
Copy link
Contributor Author

flar commented Jun 24, 2022

Now that the bounds computations are updated (fixed), this PR is no longer a WIP and is ready for final review.

@flar
Copy link
Contributor Author

flar commented Jun 25, 2022

Now fixes flutter/flutter#106587

@flar flar added the autosubmit Merge PR when tree becomes green via auto submit App label Jun 27, 2022
@auto-submit auto-submit bot merged commit 53dc08d into flutter:main Jun 27, 2022
flar added a commit that referenced this pull request Jun 27, 2022
flar added a commit that referenced this pull request Jun 27, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

affects: engine autosubmit Merge PR when tree becomes green via auto submit App e: impeller

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants