diff options
Diffstat (limited to 'src/opts/SkRasterPipeline_opts.h')
-rw-r--r-- | src/opts/SkRasterPipeline_opts.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/opts/SkRasterPipeline_opts.h b/src/opts/SkRasterPipeline_opts.h index 00b6ac718b..2376c10e35 100644 --- a/src/opts/SkRasterPipeline_opts.h +++ b/src/opts/SkRasterPipeline_opts.h @@ -1045,6 +1045,16 @@ STAGE_CTX(gather_f16, const SkImageShaderContext*) { from_f16(&px, &r, &g, &b, &a); } +STAGE_CTX(linear_gradient_2stops, const SkPM4f*) { + auto t = r; + SkPM4f c0 = ctx[0], + dc = ctx[1]; + + r = SkNf_fma(t, dc.r(), c0.r()); + g = SkNf_fma(t, dc.g(), c0.g()); + b = SkNf_fma(t, dc.b(), c0.b()); + a = SkNf_fma(t, dc.a(), c0.a()); +} SI Fn enum_to_Fn(SkRasterPipeline::StockStage st) { switch (st) { |