Index: src/core/SkBlitter_Sprite.cpp |
diff --git a/src/core/SkBlitter_Sprite.cpp b/src/core/SkBlitter_Sprite.cpp |
index 27cbd61768ed6db20aad874e0cbb570d1c449a19..754703cf75a745f20b1faa42a68de7faa8b6f7d4 100644 |
--- a/src/core/SkBlitter_Sprite.cpp |
+++ b/src/core/SkBlitter_Sprite.cpp |
@@ -60,10 +60,11 @@ SkBlitter* SkBlitter::ChooseSprite(const SkPixmap& dst, const SkPaint& paint, |
blitter = SkSpriteBlitter::ChooseD16(source, paint, allocator); |
break; |
case kN32_SkColorType: |
- if (dst.info().isSRGB()) { |
- blitter = SkSpriteBlitter::ChooseS32(source, paint, allocator); |
+ if (dst.info().isSRGB() || source.info().isSRGB()) { |
+ blitter = SkSpriteBlitter::ChooseNew32(source, paint, allocator, |
+ dst.info().profileType()); |
} else { |
- blitter = SkSpriteBlitter::ChooseL32(source, paint, allocator); |
+ blitter = SkSpriteBlitter::ChooseLegacy32(source, paint, allocator); |
} |
break; |
case kRGBA_F16_SkColorType: |