| Index: src/effects/SkMorphologyImageFilter.cpp
 | 
| diff --git a/src/effects/SkMorphologyImageFilter.cpp b/src/effects/SkMorphologyImageFilter.cpp
 | 
| index 5d4b58c880fdf4911eac7ddb87ba6ae1b4a4fd52..7e27249a13d97edd953c6529833e2a1327c2083c 100644
 | 
| --- a/src/effects/SkMorphologyImageFilter.cpp
 | 
| +++ b/src/effects/SkMorphologyImageFilter.cpp
 | 
| @@ -474,6 +474,7 @@ static sk_sp<SkSpecialImage> apply_morphology(GrContext* context,
 | 
|                                                SkISize radius) {
 | 
|      sk_sp<GrTexture> srcTexture(input->asTextureRef(context));
 | 
|      SkASSERT(srcTexture);
 | 
| +    sk_sp<SkColorSpace> colorSpace = sk_ref_sp(input->getColorSpace());
 | 
|  
 | 
|      // setup new clip
 | 
|      const GrFixedClip clip(SkIRect::MakeWH(srcTexture->width(), srcTexture->height()));
 | 
| @@ -486,7 +487,8 @@ static sk_sp<SkSpecialImage> apply_morphology(GrContext* context,
 | 
|      if (radius.fWidth > 0) {
 | 
|          sk_sp<GrDrawContext> dstDrawContext(context->newDrawContext(SkBackingFit::kApprox,
 | 
|                                                                      rect.width(), rect.height(),
 | 
| -                                                                    kSkia8888_GrPixelConfig));
 | 
| +                                                                    kSkia8888_GrPixelConfig,
 | 
| +                                                                    colorSpace));
 | 
|          if (!dstDrawContext) {
 | 
|              return nullptr;
 | 
|          }
 | 
| @@ -507,7 +509,8 @@ static sk_sp<SkSpecialImage> apply_morphology(GrContext* context,
 | 
|      if (radius.fHeight > 0) {
 | 
|          sk_sp<GrDrawContext> dstDrawContext(context->newDrawContext(SkBackingFit::kApprox,
 | 
|                                                                      rect.width(), rect.height(),
 | 
| -                                                                    kSkia8888_GrPixelConfig));
 | 
| +                                                                    kSkia8888_GrPixelConfig,
 | 
| +                                                                    colorSpace));
 | 
|          if (!dstDrawContext) {
 | 
|              return nullptr;
 | 
|          }
 | 
| @@ -519,10 +522,9 @@ static sk_sp<SkSpecialImage> apply_morphology(GrContext* context,
 | 
|          srcTexture = dstDrawContext->asTexture();
 | 
|      }
 | 
|  
 | 
| -    // TODO: Get the colorSpace from the drawContext (once it has one)
 | 
|      return SkSpecialImage::MakeFromGpu(SkIRect::MakeWH(rect.width(), rect.height()),
 | 
|                                         kNeedNewImageUniqueID_SpecialImage,
 | 
| -                                       std::move(srcTexture), sk_ref_sp(input->getColorSpace()),
 | 
| +                                       std::move(srcTexture), std::move(colorSpace),
 | 
|                                         &input->props());
 | 
|  }
 | 
|  #endif
 | 
| 
 |