| Index: src/core/SkBitmapProcShader.cpp | 
| diff --git a/src/core/SkBitmapProcShader.cpp b/src/core/SkBitmapProcShader.cpp | 
| index fb58f542cc7b7c708426ec129ac28e231bbce644..0a3c0eaeb7f0da2eb44f336077fc2de70bd3b895 100644 | 
| --- a/src/core/SkBitmapProcShader.cpp | 
| +++ b/src/core/SkBitmapProcShader.cpp | 
| @@ -176,9 +176,9 @@ private: | 
| static bool choose_linear_pipeline(const SkShader::ContextRec& rec, const SkImageInfo& srcInfo) { | 
| // These src attributes are not supported in the new 4f context (yet) | 
| // | 
| -    if (srcInfo.bytesPerPixel() < 4 || | 
| -        kRGBA_F16_SkColorType == srcInfo.colorType() || | 
| -        kIndex_8_SkColorType == srcInfo.colorType()) { | 
| +    if (srcInfo.colorType() != kRGBA_8888_SkColorType | 
| +        && srcInfo.colorType() != kBGRA_8888_SkColorType | 
| +        && srcInfo.colorType() != kIndex_8_SkColorType) { | 
| return false; | 
| } | 
|  | 
| @@ -230,7 +230,8 @@ SkShader::Context* SkBitmapProcShader::MakeContext(const SkShader& shader, | 
| return nullptr; | 
| } | 
| if (info->fPixmap.colorType() != kRGBA_8888_SkColorType | 
| -            && info->fPixmap.colorType() != kBGRA_8888_SkColorType) { | 
| +            && info->fPixmap.colorType() != kBGRA_8888_SkColorType | 
| +            && info->fPixmap.colorType() != kIndex_8_SkColorType) { | 
| return nullptr; | 
| } | 
| return new (storage) LinearPipelineContext(shader, rec, info); | 
|  |