Index: src/gpu/GrYUVProvider.cpp |
diff --git a/src/gpu/GrYUVProvider.cpp b/src/gpu/GrYUVProvider.cpp |
index f35c6dfe9b2ae156d879be5ae366661539853891..90d553758fc43ef3d2097f9a5baf7436427ab017 100644 |
--- a/src/gpu/GrYUVProvider.cpp |
+++ b/src/gpu/GrYUVProvider.cpp |
@@ -123,6 +123,9 @@ GrTexture* GrYUVProvider::refAsTexture(GrContext* ctx, const GrSurfaceDesc& desc |
SkASSERT(renderTarget); |
GrPaint paint; |
+ // We may be decoding an sRGB image, but the result of our linear math on the YUV planes |
+ // is already in sRGB in that case. Don't convert (which will make the image too bright). |
+ paint.setDisableOutputConversionToSRGB(true); |
SkAutoTUnref<const GrFragmentProcessor> yuvToRgbProcessor( |
GrYUVEffect::CreateYUVToRGB(yuvTextures[0], |
yuvTextures[1], |