| Index: src/core/SkBlitter_Sprite.cpp
|
| diff --git a/src/core/SkBlitter_Sprite.cpp b/src/core/SkBlitter_Sprite.cpp
|
| index 605fa43bf696a3660c10d6c3440bd38588d5ff94..27cbd61768ed6db20aad874e0cbb570d1c449a19 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;
|
|
|