Jonah Williams 30eeaf6e98 [Impeller] ensure that srcOver to src conversion takes stroke coverage into account. (flutter/engine#54817)
When computing whether or not an entity can be coerced into src blend from srcOver, take into account that stroke geometries may modulate with alpha to emulate stroke widths less than 1.0.

While we're at it, update several computations to use max basis XY (from https://github.com/flutter/flutter/issues/153451 ) since that can lead to incorrect stroke width computations in the presence of canvas scaling.

Most of the changes update the APIs that used to take a ` const Entity& entity` to instead use the `const Matrix& transform`, since that is all we used the entity for.

See screeenshots in https://github.com/flutter/flutter/issues/154178#issuecomment-2313714407

Fixes https://github.com/flutter/flutter/issues/154178
2024-08-28 18:49:24 +00:00
..