aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/images/SkPngEncoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/images/SkPngEncoder.cpp')
-rw-r--r--src/images/SkPngEncoder.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/images/SkPngEncoder.cpp b/src/images/SkPngEncoder.cpp
index fffda73fd0..7520b9044d 100644
--- a/src/images/SkPngEncoder.cpp
+++ b/src/images/SkPngEncoder.cpp
@@ -106,6 +106,7 @@ bool SkPngEncoderMgr::setHeader(const SkImageInfo& srcInfo, const SkPngEncoder::
int bitDepth = 8;
switch (srcInfo.colorType()) {
case kRGBA_F16_SkColorType:
+ case kRGBA_F32_SkColorType:
SkASSERT(srcInfo.colorSpace());
sigBit.red = 16;
sigBit.green = 16;
@@ -288,6 +289,17 @@ static transform_scanline_proc choose_proc(const SkImageInfo& info,
SkASSERT(false);
return nullptr;
}
+ case kRGBA_F32_SkColorType:
+ switch (info.alphaType()) {
+ case kOpaque_SkAlphaType:
+ case kUnpremul_SkAlphaType:
+ return transform_scanline_F32;
+ case kPremul_SkAlphaType:
+ return transform_scanline_F32_premul;
+ default:
+ SkASSERT(false);
+ return nullptr;
+ }
case kRGBA_1010102_SkColorType:
switch (info.alphaType()) {
case kOpaque_SkAlphaType: