refresh image shader cs/at logic

Was working on SkVM versions of these when I noticed the existing
SkRasterPipeline code wasn't terribly tidy.  The main gist here is that
we can let SkColorSpaceXformSteps::apply() handle almost all the
final transformation on the way out of the shader.

I remain a little puzzled why I got a few significant diffs when I tried
leaving the A8 color unpremul, letting the steps handle matching the
alpha types instead of me manually with SkRasterPipeline::premul.  For
now I've left that as-is.

Similarly I think we could transform that A8 color ahead of time rather
than doing that over and over at runtime.  This is something I've left
as a TODO, largely because I don't care enough about coloring A8 to
investigate right now.

I've inlined all the logic of explaining src-is-normalized into this
shader (which is its only user).  That makes it clearer that we can
always set that bit when bicubic sampling, since we're clamping anyway.
This causes some invisible diffs when switching to the optimized sRGB
transfer function stages, which we may or may not be able to get away
with without guarding...

Change-Id: Ie6670c6ca5c69958f41aac88324341a10eb3bee1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261763
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2 files changed