diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gpu/SkGr.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp index fdd4a79e48..e7d4ea121f 100644 --- a/src/gpu/SkGr.cpp +++ b/src/gpu/SkGr.cpp @@ -220,6 +220,12 @@ static GrTexture *load_etc1_texture(GrContext* ctx, bool cache, static GrTexture *load_yuv_texture(GrContext* ctx, bool cache, const GrTextureParams* params, const SkBitmap& bm, const GrTextureDesc& desc) { + // Subsets are not supported, the whole pixelRef is loaded when using YUV decoding + if ((bm.pixelRef()->info().width() != bm.info().width()) || + (bm.pixelRef()->info().height() != bm.info().height())) { + return NULL; + } + SkPixelRef* pixelRef = bm.pixelRef(); SkISize yuvSizes[3]; if ((NULL == pixelRef) || !pixelRef->getYUV8Planes(yuvSizes, NULL, NULL, NULL)) { |