-
Notifications
You must be signed in to change notification settings - Fork 6k
use TextFrame calls for Impeller in rendertests #46696
use TextFrame calls for Impeller in rendertests #46696
Conversation
|
Stroked text is supported, however this is implemented by immediately converting the text blob to path data and drawing the paths. Is there a way we could use the existing code in paragraph_skia could be reused for this test? (See https://github.com/flutter/engine/blob/main/third_party/txt/src/skia/paragraph_skia.cc#L209 ) |
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 (but not to CI)
That would take a lot of special casing. I'll save that for a future fix. |
Hmm, so we don't even get a TextFrame in that case so it should be covered by DrawPath tests. I can skip the Impeller tests if the stroking is set up. (Also, technically the test in the paragraph code should be |
|
I've added some tests that exempt non-color and stroked text from the Impeller testing. Re-requesting a review... |
| return os << "&SkTextBlob(ID: " << blob->uniqueID() << ", " << blob->bounds() << ")"; | ||
| } | ||
|
|
||
| static std::ostream& operator<<(std::ostream& os, |
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.
Could be a utility in text_frame.cc
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.
TextFrame might want to have a more fully featured streamer. This one just needs enough to hold it's place in the debugging output. The Text objects and Path just dump out some useful info here like bounds.
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
…136278) flutter/engine@39bfce2...e065398 2023-10-10 [email protected] use TextFrame calls for Impeller in rendertests (flutter/engine#46696) 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://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
Switch the impeller testing in rendertests to use TextFrame objects rather than TextBlob objects when drawing to an Impeller-managed destination. Previously the DrawText tests would generate over 200 errors because none of the attribute variants would render anything at all. After this fix the number of failures in the DrawText calls is down to 1 which points out that wrapping a DrawTextFrame call in a nothing saveLayer somehow affects the glyph positioning (in a not very appealing manner).
Switch the impeller testing in rendertests to use TextFrame objects rather than TextBlob objects when drawing to an Impeller-managed destination.
Previously the DrawText tests would generate over 200 errors because none of the attribute variants would render anything at all. After this fix the number of failures in the DrawText calls is down to 1 which points out that wrapping a DrawTextFrame call in a nothing saveLayer somehow affects the glyph positioning (in a not very appealing manner).