Switch masonry_testing to using vello_cpu and tweak screenshot defaults#1739
Switch masonry_testing to using vello_cpu and tweak screenshot defaults#1739PoignardAzur wants to merge 3 commits intolinebender:mainfrom
Conversation
|
(Speaking of tolerance, I should probably try lowering the tolerance value of the screenshot tests, since AFAIK they're supposed to be deterministic now.) |
xStrom
left a comment
There was a problem hiding this comment.
I think that doing most Masonry tests with one rendering backend makes sense. The goal after all is to test Masonry, not whether the rendering backends all produce the same results. Those tests should live elsewhere, possibly in imaging.
That said, some sort of basic sanity check of other renderers working at all should probably exist, but that can be in masonry.
The speed and hardware/environment compatibility benefits of using Vello CPU are very strong. Indeed, I can't wait for us to provide Vello CPU as a serious choice also for Masonry proper. Because those benefits also exist in certain real app scenarios.
Overall, I think we can move forward with this. If we at some future point want to re-introduce more imaging backend support for masonry_testing, that won't be too much work either it seems.
There was a problem hiding this comment.
This is a great example of vello#1499, a Vello Classic bug not existing in Vello CPU.
There was a problem hiding this comment.
Looks like Vello CPU floors instead of rounds, at least from the middle. Interesting impact on stuff like progress bars.
This PR changes the way masonry_testing relates to imaging. Previously, masonry_testing imported masonry_imaging and could swap in any number of backends. This was not desirable for several reasons:
See #masonry > Switching masonry_testing to vello_cpu for some discussion and perf numbers.
Because this PR inevitably needs to regenerate all screenshots, it also does two minor changes to defaults which also affect screenshots:
test_property_set(), making it the same asdefault_property_set()until we change stuff again.I've manually checked that, before applying these two changes, the only changes to screenshots for switching renderers were minor one-pixel differences or slight changes in gradient values.
Other changes: