-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] convert most filters to utilize entities instead of subpasses #40973
Conversation
|
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 Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on 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. |
|
Border mask blur is a little funky right now, still working on it. |
|
ahh, I think the issue was actually the blend mode? changing to SrcOver makes it render as expected. |
|
I suppose the question is - in general - do I need to change all of the Src blend modes to be SrcOver to correctly render into parents? I think for the filters I was only looking at cases where the filtered contents were already fully opaque, but maybe I'm overthinking it |
|
Will incorporate changes from blend filter PR |
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.
Reverted changes to morphology filter, since I forgot it was a 2-stage filter like gaussian blur which needs a slightly different approach
bdero
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
|
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. |
…ses (flutter#40973) [Impeller] convert most filters to utilize entities instead of subpasses
Fixes flutter/flutter#124175
Converts most filter entities to return an anon contents instead of an entity from a snapshot. This avoids potentially large texture fills and should make rendering this filters marginally more efficient.
The general technique I've used here and in #40927 is to entirely ignore the snapshot uvs and instead just use the exact coordinates. This seems to always be correct, where the snapshot uvs can change based on whether we are applying this to an entity pass or to an individual contents.
The shaders needed to be updated to support taking positions separate from texture coordinates as well.
In a future patch, we could simplify these by making most filters use the same vertex shader.