aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/opts/SkRasterPipeline_opts.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/opts/SkRasterPipeline_opts.h')
-rw-r--r--src/opts/SkRasterPipeline_opts.h10
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) {