Implement SkShaders::Blend for Graphite.
This effect is now implemented as a runtime shader that just
evaluates its children.
When an SkBlendMode is used, SkShader_Blend is still preferred; it
has raster pipeline support, so will be a lot faster than falling
back to SkVM for the paint, and it will serialize a lot more
efficiently than a runtime effect. If a non-SkBlendMode is used,
however, we will always use the runtime shader.
This CL also adds a new test case to the arithmode_blender slide,
since in practice we did not have a single test case that passed a
non-BlendMode blend to SkShaders::Blend.
Change-Id: Ie1d7d9bdd1ab70e96fc17260662651437a726be0
Bug: b/238755735
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/581307
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
3 files changed