| 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;
 | 
| 
 |