| Index: src/gpu/SkGr.cpp | 
| diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp | 
| index 73773b00d144c532b802af8b99d1e91f991d70d2..56f3a16b6dceb8525e70e482cb9eaf264d98cc7a 100644 | 
| --- a/src/gpu/SkGr.cpp | 
| +++ b/src/gpu/SkGr.cpp | 
| @@ -222,7 +222,7 @@ static GrTexture *load_yuv_texture(GrContext* ctx, bool cache, const GrTexturePa | 
| const SkBitmap& bm, const GrTextureDesc& desc) { | 
| SkPixelRef* pixelRef = bm.pixelRef(); | 
| SkISize yuvSizes[3]; | 
| -    if ((NULL == pixelRef) || !pixelRef->getYUV8Planes(yuvSizes, NULL, NULL)) { | 
| +    if ((NULL == pixelRef) || !pixelRef->getYUV8Planes(yuvSizes, NULL, NULL, NULL)) { | 
| return NULL; | 
| } | 
|  | 
| @@ -239,8 +239,10 @@ static GrTexture *load_yuv_texture(GrContext* ctx, bool cache, const GrTexturePa | 
| planes[1] = (uint8_t*)planes[0] + sizes[0]; | 
| planes[2] = (uint8_t*)planes[1] + sizes[1]; | 
|  | 
| +    SkYUVColorSpace colorSpace; | 
| + | 
| // Get the YUV planes | 
| -    if (!pixelRef->getYUV8Planes(yuvSizes, planes, rowBytes)) { | 
| +    if (!pixelRef->getYUV8Planes(yuvSizes, planes, rowBytes, &colorSpace)) { | 
| return NULL; | 
| } | 
|  | 
| @@ -269,7 +271,8 @@ static GrTexture *load_yuv_texture(GrContext* ctx, bool cache, const GrTexturePa | 
| GrRenderTarget* renderTarget = result ? result->asRenderTarget() : NULL; | 
| if (renderTarget) { | 
| SkAutoTUnref<GrEffect> yuvToRgbEffect(GrYUVtoRGBEffect::Create( | 
| -            yuvTextures[0].texture(), yuvTextures[1].texture(), yuvTextures[2].texture())); | 
| +            yuvTextures[0].texture(), yuvTextures[1].texture(), yuvTextures[2].texture(), | 
| +            colorSpace)); | 
| GrPaint paint; | 
| paint.addColorEffect(yuvToRgbEffect); | 
| SkRect r = SkRect::MakeWH(SkIntToScalar(yuvSizes[0].fWidth), | 
|  |