diff options
Diffstat (limited to 'src/images')
-rw-r--r-- | src/images/SkImageEncoderFns.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/images/SkImageEncoderFns.h b/src/images/SkImageEncoderFns.h index 6012a45697..4e73e4ff75 100644 --- a/src/images/SkImageEncoderFns.h +++ b/src/images/SkImageEncoderFns.h @@ -154,9 +154,10 @@ static inline void transform_scanline_bgrA(char* SK_RESTRICT dst, const char* SK template <bool kIsRGBA> static inline void transform_scanline_unpremultiply_sRGB(void* dst, const void* src, int width) { SkRasterPipeline_<256> p; - p.append(SkRasterPipeline::load_8888, &src); - if (!kIsRGBA) { - p.append(SkRasterPipeline::swap_rb); + if (kIsRGBA) { + p.append(SkRasterPipeline::load_8888, &src); + } else { + p.append(SkRasterPipeline::load_bgra, &src); } p.append_from_srgb(kPremul_SkAlphaType); |