Index: src/effects/SkXfermodeImageFilter.cpp |
diff --git a/src/effects/SkXfermodeImageFilter.cpp b/src/effects/SkXfermodeImageFilter.cpp |
index 010253861d502b90bccf7677755135a61b38cece..6c3298d31c5506aa6b034c2ff3b5386c65b3855b 100644 |
--- a/src/effects/SkXfermodeImageFilter.cpp |
+++ b/src/effects/SkXfermodeImageFilter.cpp |
@@ -243,7 +243,8 @@ sk_sp<SkSpecialImage> SkXfermodeImageFilter::filterImageGPU(SkSpecialImage* sour |
sk_sp<GrDrawContext> drawContext(context->newDrawContext(SkBackingFit::kApprox, |
bounds.width(), bounds.height(), |
- kSkia8888_GrPixelConfig)); |
+ kSkia8888_GrPixelConfig, |
+ sk_ref_sp(source->getColorSpace()))); |
if (!drawContext) { |
return nullptr; |
} |
@@ -252,11 +253,10 @@ sk_sp<SkSpecialImage> SkXfermodeImageFilter::filterImageGPU(SkSpecialImage* sour |
matrix.setTranslate(SkIntToScalar(-bounds.left()), SkIntToScalar(-bounds.top())); |
drawContext->drawRect(GrNoClip(), paint, matrix, SkRect::Make(bounds)); |
- // TODO: Get the colorSpace from the drawContext (once it has one) |
return SkSpecialImage::MakeFromGpu(SkIRect::MakeWH(bounds.width(), bounds.height()), |
kNeedNewImageUniqueID_SpecialImage, |
drawContext->asTexture(), |
- sk_ref_sp(source->getColorSpace())); |
+ sk_ref_sp(drawContext->getColorSpace())); |
} |
#endif |