-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Aiks image filters; allow setting effect transforms after FilterContents instantiation. #45530
Conversation
226a752 to
46cdb4d
Compare
This comment was marked as outdated.
This comment was marked as outdated.
jonahwilliams
left a comment
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
| virtual void SetEffectTransform(const Matrix& matrix); | ||
|
|
||
| /// @brief Turns on subpass mode for filter inputs. | ||
| virtual void SetIsForSubpass(bool is_for_subpass); |
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.
Nit: can you add more context on what subpass mode implies?
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.
Done.
impeller/entity/entity_pass.cc
Outdated
| subpass_texture, | ||
| Matrix::MakeTranslation(Vector3{-global_pass_position}) * | ||
| subpass->xformation_); | ||
| subpass_texture, subpass->xformation_.Basis()); |
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.
Is this a different bug or a new bug?
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.
Investigating this a bit to remind myself about how we got here. It's kind of peculiar that this was working before.
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 reverted this little change -- it turns out the test was actually behaving correctly and just needed to be adjusted. Before this PR, the effect_transform wasn't being set by the ImageFilter proc defined in the test.
e4b2cd7 to
4b876f9
Compare
…rms after FilterContents instantiation. (flutter/engine#45530)
…rms after FilterContents instantiation. (flutter/engine#45530)
…rms after FilterContents instantiation. (flutter/engine#45530)
…134288) flutter/engine@ea1d0d2...a140ab4 2023-09-08 [email protected] Roll Fuchsia Mac SDK from EuBfOtm5TZIdgNaQe... to h_bQLstuirD8blCZW... (flutter/engine#45571) 2023-09-08 [email protected] Roll ANGLE from 99d39241ad4d to e60556f75b68 (1 revision) (flutter/engine#45569) 2023-09-08 [email protected] [Impeller] Aiks image filters; allow setting effect transforms after FilterContents instantiation. (flutter/engine#45530) 2023-09-08 [email protected] Roll Skia from ce3ec572ae77 to ece9f3a15b08 (1 revision) (flutter/engine#45568) 2023-09-08 [email protected] Roll Skia from fb4faa8646f8 to ce3ec572ae77 (1 revision) (flutter/engine#45567) Also rolling transitive DEPS: fuchsia/sdk/core/mac-amd64 from EuBfOtm5TZId to h_bQLstuirD8 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] 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
These are API improvements on the way to solving flutter/flutter#131182.
effect_transformandis_subpassfrom the staticFilterContentsfactories. These are for internal use only.impeller::Paintfilter procs with AiksImageFilterfactories similar toColorFilter. This gives Aiks a simple interface for constructing filters and prevents possible state cloning bugs when copying filters intoEntityPass.EntityPasswithout rendering any snapshots using rect filter inputs.