Convert GrBlendFragmentProcessor into a blend function.

When GrBlendFragmentProcessor is used to implement a SkBlender, we need
to pass distinct source and destination colors. A single `_input`
argument doesn't allow for this, but by enabling the blend-function
signature on the FP, we get both a `_src` and `_dst` color to work with.

By default, the GrBlendFragmentProcessor continues to pass `_src` to
both `srcFP` and `dstFP` since this is how it has historically worked.
To use the `_dst` color, the caller can wrap the dstFP in a
`UseDestColorAsInput` FP.

Change-Id: I105e1ee2554c3d526a82fffd26bc696a2b8dc248
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434045
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2 files changed