remove append_from_srgb()

It's now no different than append(from_srgb).

Bug: skia:7419

Change-Id: I97c59b6987f033ec2f1859db40ca3056b87b370a
Reviewed-on: https://skia-review.googlesource.com/86741
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/bench/SkRasterPipelineBench.cpp b/bench/SkRasterPipelineBench.cpp
index baff258..5ddf43d 100644
--- a/bench/SkRasterPipelineBench.cpp
+++ b/bench/SkRasterPipelineBench.cpp
@@ -42,14 +42,14 @@
 
         SkRasterPipeline_<256> p;
         p.append(SkRasterPipeline::load_8888, &src_ctx);
-        p.append_from_srgb(kUnpremul_SkAlphaType);
+        p.append(SkRasterPipeline::from_srgb);
         p.append(SkRasterPipeline::scale_u8, &mask_ctx);
         p.append(SkRasterPipeline::move_src_dst);
         if (kF16) {
             p.append(SkRasterPipeline::load_f16, &dst_ctx);
         } else {
             p.append(SkRasterPipeline::load_8888, &dst_ctx);
-            p.append_from_srgb(kPremul_SkAlphaType);
+            p.append(SkRasterPipeline::from_srgb);
         }
         p.append(SkRasterPipeline::dstover);
         if (kF16) {
diff --git a/src/codec/SkWebpCodec.cpp b/src/codec/SkWebpCodec.cpp
index 2ff4681..ca63349 100644
--- a/src/codec/SkWebpCodec.cpp
+++ b/src/codec/SkWebpCodec.cpp
@@ -364,7 +364,7 @@
     // Load the final dst.
     p.append(load_dst, &dst_ctx);
     if (needsSrgbToLinear) {
-        p.append_from_srgb(dstAt);
+        p.append(SkRasterPipeline::from_srgb);
     }
     if (kUnpremul_SkAlphaType == dstAt) {
         p.append(SkRasterPipeline::premul);
@@ -376,7 +376,7 @@
     pick_memory_stages(srcCT, &load_src, nullptr);
     p.append(load_src, &src_ctx);
     if (needsSrgbToLinear) {
-        p.append_from_srgb(kUnpremul_SkAlphaType);
+        p.append(SkRasterPipeline::from_srgb);
     }
     if (srcHasAlpha) {
         p.append(SkRasterPipeline::premul);
diff --git a/src/core/SkBlitter_Sprite.cpp b/src/core/SkBlitter_Sprite.cpp
index eddb42b..3537bea 100644
--- a/src/core/SkBlitter_Sprite.cpp
+++ b/src/core/SkBlitter_Sprite.cpp
@@ -125,7 +125,7 @@
         }
         if (fDst.colorSpace() &&
                 (!fSource.colorSpace() || fSource.colorSpace()->gammaCloseToSRGB())) {
-            p.append_from_srgb(fSource.alphaType());
+            p.append(SkRasterPipeline::from_srgb);
         }
         if (fSource.colorType() == kAlpha_8_SkColorType) {
             p.append(SkRasterPipeline::set_rgb, &fPaintColor);
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp
index 9a8b399..3c6beea 100644
--- a/src/core/SkColorFilter.cpp
+++ b/src/core/SkColorFilter.cpp
@@ -244,7 +244,7 @@
                 p->append(SkRasterPipeline::to_srgb);
                 break;
             case Direction::kSRGBToLinear:
-                p->append_from_srgb(shaderIsOpaque ? kOpaque_SkAlphaType : kUnpremul_SkAlphaType);
+                p->append(SkRasterPipeline::from_srgb);
                 break;
         }
         if (!shaderIsOpaque) {
diff --git a/src/core/SkColorSpaceXform.cpp b/src/core/SkColorSpaceXform.cpp
index 0792ec8..9494e24 100644
--- a/src/core/SkColorSpaceXform.cpp
+++ b/src/core/SkColorSpaceXform.cpp
@@ -485,7 +485,7 @@
                     break;
                 case kSRGB_SrcGamma:
                     pipeline.append(SkRasterPipeline::load_u16_be, &src_ctx);
-                    pipeline.append_from_srgb(kUnpremul_SkAlphaType);
+                    pipeline.append(SkRasterPipeline::from_srgb);
                     break;
                 case kTable_SrcGamma:
                     loadTables.fSrc = src;
@@ -503,7 +503,7 @@
                     break;
                 case kSRGB_SrcGamma:
                     pipeline.append(SkRasterPipeline::load_rgb_u16_be, &src_ctx);
-                    pipeline.append_from_srgb(kUnpremul_SkAlphaType);
+                    pipeline.append(SkRasterPipeline::from_srgb);
                     break;
                 case kTable_SrcGamma:
                     loadTables.fSrc = src;
diff --git a/src/core/SkColorSpaceXform_A2B.cpp b/src/core/SkColorSpaceXform_A2B.cpp
index 3543ba4..9470247 100644
--- a/src/core/SkColorSpaceXform_A2B.cpp
+++ b/src/core/SkColorSpaceXform_A2B.cpp
@@ -140,8 +140,7 @@
                 // Take the fast path for ordinary sRGB.
                 if (3 == currentChannels && kSRGB_SkGammaNamed == e.gammaNamed()) {
                     SkCSXformPrintf("fast path from sRGB\n");
-                    // Images should always start the pipeline as unpremul
-                    fElementsPipeline.append_from_srgb(kUnpremul_SkAlphaType);
+                    fElementsPipeline.append(SkRasterPipeline::from_srgb);
                     break;
                 }
 
diff --git a/src/core/SkColorSpace_New.cpp b/src/core/SkColorSpace_New.cpp
index 0d020c5..5db388d 100644
--- a/src/core/SkColorSpace_New.cpp
+++ b/src/core/SkColorSpace_New.cpp
@@ -18,9 +18,9 @@
             return { 1,1, 0,0,0,0,0 };
         }
 
-        void linearizeDst(SkRasterPipeline*, SkAlphaType) const override {}
-        void linearizeSrc(SkRasterPipeline*, SkAlphaType) const override {}
-        void    encodeSrc(SkRasterPipeline*             ) const override {}
+        void linearizeDst(SkRasterPipeline*) const override {}
+        void linearizeSrc(SkRasterPipeline*) const override {}
+        void    encodeSrc(SkRasterPipeline*) const override {}
     };
 
     struct SRGBTransferFn : public SkColorSpace_New::TransferFn {
@@ -28,11 +28,11 @@
             return { 2.4f, 1/1.055f, 0.055f/1.055f, 1/12.92f, 0.04045f, 0, 0 };
         }
 
-        void linearizeDst(SkRasterPipeline* p, SkAlphaType at) const override {
-            p->append_from_srgb_dst(at);
+        void linearizeDst(SkRasterPipeline* p) const override {
+            p->append(SkRasterPipeline::from_srgb_dst);
         }
-        void linearizeSrc(SkRasterPipeline* p, SkAlphaType at) const override {
-            p->append_from_srgb(at);
+        void linearizeSrc(SkRasterPipeline* p) const override {
+            p->append(SkRasterPipeline::from_srgb);
         }
         void encodeSrc(SkRasterPipeline* p) const override {
             p->append(SkRasterPipeline::to_srgb);
@@ -49,13 +49,11 @@
             return { fGamma, 1, 0,0,0,0,0 };
         }
 
-        void linearizeDst(SkRasterPipeline* p, SkAlphaType) const override {
+        void linearizeDst(SkRasterPipeline* p) const override {
             p->append(SkRasterPipeline::gamma_dst, &fGamma);
-            // TODO: use SkAlphaType to clamp like SRGBTransferFn does?
         }
-        void linearizeSrc(SkRasterPipeline* p, SkAlphaType) const override {
+        void linearizeSrc(SkRasterPipeline* p) const override {
             p->append(SkRasterPipeline::gamma, &fGamma);
-            // TODO: use SkAlphaType to clamp like SRGBTransferFn does?
         }
         void encodeSrc(SkRasterPipeline* p) const override {
             p->append(SkRasterPipeline::gamma, &fInv);
diff --git a/src/core/SkColorSpace_New.h b/src/core/SkColorSpace_New.h
index 42d5a9e..6f26c3b 100644
--- a/src/core/SkColorSpace_New.h
+++ b/src/core/SkColorSpace_New.h
@@ -26,9 +26,9 @@
         virtual SkColorSpaceTransferFn parameterize() const = 0;
 
         // Append stages to use this transfer function with SkRasterPipeline-based rendering.
-        virtual void linearizeDst(SkRasterPipeline*, SkAlphaType) const = 0;
-        virtual void linearizeSrc(SkRasterPipeline*, SkAlphaType) const = 0;
-        virtual void    encodeSrc(SkRasterPipeline*             ) const = 0;
+        virtual void linearizeDst(SkRasterPipeline*) const = 0;
+        virtual void linearizeSrc(SkRasterPipeline*) const = 0;
+        virtual void    encodeSrc(SkRasterPipeline*) const = 0;
 
         // TODO: Ganesh hooks.
 
diff --git a/src/core/SkConvertPixels.cpp b/src/core/SkConvertPixels.cpp
index 2175c8b..725730a 100644
--- a/src/core/SkConvertPixels.cpp
+++ b/src/core/SkConvertPixels.cpp
@@ -253,7 +253,7 @@
 
     SkColorSpaceTransferFn srcFn;
     if (isColorAware && srcInfo.gammaCloseToSRGB()) {
-        pipeline.append_from_srgb(premulState);
+        pipeline.append(SkRasterPipeline::from_srgb);
     } else if (isColorAware && !srcInfo.colorSpace()->gammaIsLinear()) {
         SkAssertResult(srcInfo.colorSpace()->isNumericalTransferFn(&srcFn));
         if (is_just_gamma(srcFn)) {
diff --git a/src/core/SkRasterPipeline.cpp b/src/core/SkRasterPipeline.cpp
index 1134bd2..c7a0427 100644
--- a/src/core/SkRasterPipeline.cpp
+++ b/src/core/SkRasterPipeline.cpp
@@ -21,7 +21,6 @@
 }
 
 void SkRasterPipeline::append(StockStage stage, void* ctx) {
-    SkASSERT(stage != from_srgb);      // Please use append_from_srgb().
     SkASSERT(stage != uniform_color);  // Please use append_constant_color().
     SkASSERT(stage != seed_shader);    // Please use append_seed_shader().
     this->unchecked_append(stage, ctx);
@@ -123,15 +122,6 @@
 #undef INC_WHITE
 #undef INC_COLOR
 
-// TODO: we used to clamp to [0,a]] here if at == kPremul, but don't anymore.
-// These should no longer need to be special append() methods.
-void SkRasterPipeline::append_from_srgb(SkAlphaType) {
-    this->unchecked_append(from_srgb, nullptr);
-}
-void SkRasterPipeline::append_from_srgb_dst(SkAlphaType) {
-    this->unchecked_append(from_srgb_dst, nullptr);
-}
-
 //static int gCounts[5] = { 0, 0, 0, 0, 0 };
 
 void SkRasterPipeline::append_matrix(SkArenaAlloc* alloc, const SkMatrix& matrix) {
diff --git a/src/core/SkRasterPipeline.h b/src/core/SkRasterPipeline.h
index 005c3dd..ad9fd77 100644
--- a/src/core/SkRasterPipeline.h
+++ b/src/core/SkRasterPipeline.h
@@ -125,11 +125,6 @@
 
     void dump() const;
 
-    // Conversion from sRGB can be subtly tricky when premultiplication is involved.
-    // Use these helpers to keep things sane.
-    void append_from_srgb(SkAlphaType);
-    void append_from_srgb_dst(SkAlphaType);
-
     // Appends a stage for the specified matrix.
     // Tries to optimize the stage by analyzing the type of matrix.
     void append_matrix(SkArenaAlloc*, const SkMatrix&);
diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp
index 098dab8..ac8cdd9 100644
--- a/src/core/SkRasterPipelineBlitter.cpp
+++ b/src/core/SkRasterPipelineBlitter.cpp
@@ -238,7 +238,7 @@
         default:                                                                           break;
     }
     if (fDst.info().gammaCloseToSRGB()) {
-        p->append_from_srgb_dst(fDst.info().alphaType());
+        p->append(SkRasterPipeline::from_srgb_dst);
     }
     if (fDst.info().alphaType() == kUnpremul_SkAlphaType) {
         p->append(SkRasterPipeline::premul_dst);
diff --git a/src/effects/SkToSRGBColorFilter.cpp b/src/effects/SkToSRGBColorFilter.cpp
index 057ea07..b20f388 100644
--- a/src/effects/SkToSRGBColorFilter.cpp
+++ b/src/effects/SkToSRGBColorFilter.cpp
@@ -27,8 +27,7 @@
     if (fSrcColorSpace->gammaIsLinear()) {
         // Nothing to do.
     } else if (fSrcColorSpace->gammaCloseToSRGB()) {
-        p->append_from_srgb(shaderIsOpaque ? kOpaque_SkAlphaType
-                                           : kPremul_SkAlphaType);
+        p->append(SkRasterPipeline::from_srgb);
     } else if (fSrcColorSpace->isNumericalTransferFn(&srcFn)) {
         auto copy = alloc->make<SkColorSpaceTransferFn>(srcFn);
         p->append(SkRasterPipeline::parametric_r, copy);
diff --git a/src/images/SkImageEncoderFns.h b/src/images/SkImageEncoderFns.h
index 8e44ff2..6425b8f 100644
--- a/src/images/SkImageEncoderFns.h
+++ b/src/images/SkImageEncoderFns.h
@@ -175,7 +175,7 @@
         p.append(SkRasterPipeline::load_bgra, &src_ctx);
     }
 
-    p.append_from_srgb(kPremul_SkAlphaType);
+    p.append(SkRasterPipeline::from_srgb);
     p.append(SkRasterPipeline::unpremul);
     p.append(SkRasterPipeline::to_srgb);
     p.append(SkRasterPipeline::store_8888, &dst_ctx);
@@ -201,7 +201,7 @@
                        dst_ctx = { (void*)dst, 0 };
     SkRasterPipeline_<256> p;
     p.append(SkRasterPipeline::load_8888, &src_ctx);
-    p.append_from_srgb(kUnpremul_SkAlphaType);
+    p.append(SkRasterPipeline::from_srgb);
     p.append(SkRasterPipeline::premul);
     p.append(SkRasterPipeline::to_srgb);
     p.append(SkRasterPipeline::store_8888, &dst_ctx);
diff --git a/src/shaders/SkImageShader.cpp b/src/shaders/SkImageShader.cpp
index fff59c7..ef13498 100644
--- a/src/shaders/SkImageShader.cpp
+++ b/src/shaders/SkImageShader.cpp
@@ -347,7 +347,7 @@
             default: SkASSERT(false);
         }
         if (rec.fDstCS && (!info.colorSpace() || info.gammaCloseToSRGB())) {
-            p->append_from_srgb(info.alphaType());
+            p->append(SkRasterPipeline::from_srgb);
         }
     };
 
diff --git a/tests/SRGBTest.cpp b/tests/SRGBTest.cpp
index cda6fc4..44daeda 100644
--- a/tests/SRGBTest.cpp
+++ b/tests/SRGBTest.cpp
@@ -51,7 +51,7 @@
 
     SkRasterPipeline_<256> p;
     p.append(SkRasterPipeline::load_8888,  &ptr);
-    p.append_from_srgb(kUnpremul_SkAlphaType);
+    p.append(SkRasterPipeline::from_srgb);
     p.append(SkRasterPipeline::to_srgb);
     p.append(SkRasterPipeline::store_8888, &ptr);
 
diff --git a/tests/SkColorSpace_NewTest.cpp b/tests/SkColorSpace_NewTest.cpp
index a301a06..31a5da6 100644
--- a/tests/SkColorSpace_NewTest.cpp
+++ b/tests/SkColorSpace_NewTest.cpp
@@ -62,11 +62,11 @@
         SkRasterPipeline_<256> p;
 
         p.append(SkRasterPipeline::load_8888, &src_ctx);
-        cs->transferFn().linearizeSrc(&p, kUnpremul_SkAlphaType);
+        cs->transferFn().linearizeSrc(&p);
         p.append(SkRasterPipeline::premul);
 
         p.append(SkRasterPipeline::load_8888_dst, &dst_ctx);
-        cs->transferFn().linearizeDst(&p, kUnpremul_SkAlphaType);
+        cs->transferFn().linearizeDst(&p);
         p.append(SkRasterPipeline::premul_dst);
 
         p.append(SkRasterPipeline::srcover);
diff --git a/tools/picture_utils.cpp b/tools/picture_utils.cpp
index f476c0d..d0d2198 100644
--- a/tools/picture_utils.cpp
+++ b/tools/picture_utils.cpp
@@ -95,7 +95,7 @@
             default: SkASSERT(false);  // DM doesn't support any other formats, does it?
         }
         if (bitmap.info().gammaCloseToSRGB()) {
-            p.append_from_srgb(kUnpremul_SkAlphaType);
+            p.append(SkRasterPipeline::from_srgb);
         }
         p.append(SkRasterPipeline::unpremul);
         p.append(SkRasterPipeline::clamp_0);