diff --git a/gm/savelayer.cpp b/gm/savelayer.cpp
index 5a6a8df..c948ca9 100644
--- a/gm/savelayer.cpp
+++ b/gm/savelayer.cpp
@@ -440,3 +440,32 @@
         canvas->translate(430, 0);
     }
 }
+
+#include "include/effects/SkGradientShader.h"
+
+DEF_SIMPLE_GM(savelayer_f16, canvas, 900, 300) {
+    int n = 15;
+    SkRect r{0, 0, 300, 300};
+    SkPaint paint;
+
+    const SkColor colors[] = { SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorRED };
+    paint.setShader(SkGradientShader::MakeSweep(r.centerX(), r.centerY(),
+                                                colors, nullptr, SK_ARRAY_COUNT(colors)));
+
+    canvas->drawOval(r, paint);
+
+    paint.setAlphaf(1.0f/n);
+    paint.setBlendMode(SkBlendMode::kPlus);
+
+    for (auto flags : {0, (int)SkCanvas::kF16ColorType}) {
+        canvas->translate(r.width(), 0);
+
+        SkCanvas::SaveLayerRec rec;
+        rec.fSaveLayerFlags = flags;
+        canvas->saveLayer(rec);
+        for (int i = 0; i < n; ++i) {
+            canvas->drawOval(r, paint);
+        }
+        canvas->restore();
+    }
+}
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index 8129b02..1e92ac7 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -578,7 +578,8 @@
         kInitWithPrevious_SaveLayerFlag = 1 << 2, //!< initializes with previous contents
         kMaskAgainstCoverage_EXPERIMENTAL_DONT_USE_SaveLayerFlag =
                                           1 << 3, //!< experimental: do not use
-
+        // instead of matching previous layer's colortype, use F16
+        kF16ColorType                   = 1 << 4,
 #ifdef SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG
         kDontClipToLayer_Legacy_SaveLayerFlag =
            kDontClipToLayer_PrivateSaveLayerFlag, //!< deprecated
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 195a800..b6e9d19 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -1079,6 +1079,9 @@
     }
 
     SkImageInfo info = make_layer_info(priorDevice->imageInfo(), ir.width(), ir.height(), paint);
+    if (rec.fSaveLayerFlags & kF16ColorType) {
+        info = info.makeColorType(kRGBA_F16_SkColorType);
+    }
 
     sk_sp<SkBaseDevice> newDevice;
     {
