SkRasterPipeline refactor
- Give body and tail functions separate types. This frees a register in body functions, especially important for Windows.
- Fill out default, SSE4.1, and HSW versions of all functions. This means we don't have to mess around with SkNf_abi... all functions come from the same compilation unit where SkNf is a single consistent type.
- Move Stage::next() into SkRasterPipeline_opts.h as a static inline function.
- Remove Stage::ctx() entirely... fCtx is literally the same thing.
This is a step along the way toward building the entire pipeline in src/opts, removing the need for all the stages to be functions living in SkOpts.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3680
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
Change-Id: I7de78ffebc15b9bad4eda187c9f50369cd7e5e42
Reviewed-on: https://skia-review.googlesource.com/3680
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
5 files changed