-
Notifications
You must be signed in to change notification settings - Fork 26.8k
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
Use full 4x4 matrix for mapRect operation in Transform layer #130303
Comments
Ah, I had actually traced that through and found a call to turn it into an M33, but just realized that my IDE is forwarding me to the wrong code. I'll look for the real map rect and splice it in... |
Looking at the code in SkMatrixPriv (implemented in SkM44.cpp), it isn't doing anything different from SkMatrix::mapRect except that it handles cases that break the Z plane of the camera more directly whereas SkMatrix uses path clipping instead. This change would be an optimization, not a correctness fix. We should look at it if we don't implement our own, but there doesn't appear to be a bug here for now. |
Would you mind adding a comment to that effect to our usage of it? |
|
Addresses comment in flutter/flutter#130303 (comment) No tests as this is just a comment.
Addresses comment in flutter/flutter#130303 (comment) No tests as this is just a comment.
This issue is assigned to @flar but has had no recent status updates. Please consider unassigning this issue if it is not going to be addressed in the near future. This allows people to have a clearer picture of what work is actually planned. Thanks! |
This issue was assigned to @flar but has had no status updates in a long time. To remove any ambiguity about whether the issue is being worked on, the assignee was removed. |
This issue will likely be fixed when we move the DisplayList to use the Impeller classes for basic geometry. That work is on the radar, but not yet in progress. |
After fixing #82961, we drop down to a 3x3 matrix here: https://github.com/flutter/engine/blob/b9b1b63c2ba99c149f2846ac1c5430084f2ec346/flow/layers/transform_layer.cc#L49
We should do the rect mapping using the full 4x4 transform. Skia has an implementation for this in SkMatrixPriv.
@flar fyi
The text was updated successfully, but these errors were encountered: