aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBlitter_Sprite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkBlitter_Sprite.cpp')
-rw-r--r--src/core/SkBlitter_Sprite.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/SkBlitter_Sprite.cpp b/src/core/SkBlitter_Sprite.cpp
index 605fa43bf6..27cbd61768 100644
--- a/src/core/SkBlitter_Sprite.cpp
+++ b/src/core/SkBlitter_Sprite.cpp
@@ -60,7 +60,14 @@ SkBlitter* SkBlitter::ChooseSprite(const SkPixmap& dst, const SkPaint& paint,
blitter = SkSpriteBlitter::ChooseD16(source, paint, allocator);
break;
case kN32_SkColorType:
- blitter = SkSpriteBlitter::ChooseD32(source, paint, allocator);
+ if (dst.info().isSRGB()) {
+ blitter = SkSpriteBlitter::ChooseS32(source, paint, allocator);
+ } else {
+ blitter = SkSpriteBlitter::ChooseL32(source, paint, allocator);
+ }
+ break;
+ case kRGBA_F16_SkColorType:
+ blitter = SkSpriteBlitter::ChooseF16(source, paint, allocator);
break;
default:
blitter = nullptr;