aggressively refactor pipeline building in SkColorSpaceXform
This rewrites things into 5 distinct phases:
1) load src
2) linearize src
3) gamut transform
4) apply dst transfer function and premul
5) store dst
In the existing code, steps 1+2 were really intertwined,
and we had all sorts of arbitrary restrictions on input
formats and output formats. I've removed most of those.
This is guarded by SK_COLOR_SPACE_XFORM_LEGACY_PIPELINE
for Blink layout tests. (The 35 diffs all look fine.)
Bug: skia:7114
Change-Id: Ib5f15d1ac3240a6ef202ba30acef660152beee82
Reviewed-on: https://skia-review.googlesource.com/55320
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
1 file changed