From 4e30f27164179d344f0c8efa9a691d1bc9a53e3f Mon Sep 17 00:00:00 2001 From: robertphillips Date: Thu, 5 May 2016 12:38:03 -0700 Subject: Disable layer hoisting for non-8888 canvases This just stops the bleeding. A real fix would propagate the canvas' backing type down to the layer hoister. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957433002 Review-Url: https://codereview.chromium.org/1957433002 --- src/gpu/SkGpuDevice.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/gpu/SkGpuDevice.cpp') diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp index 54ed413549..6992a45dab 100644 --- a/src/gpu/SkGpuDevice.cpp +++ b/src/gpu/SkGpuDevice.cpp @@ -1784,7 +1784,9 @@ bool SkGpuDevice::EXPERIMENTAL_drawPicture(SkCanvas* mainCanvas, const SkPicture ASSERT_SINGLE_OWNER #ifndef SK_IGNORE_GPU_LAYER_HOISTING // todo: should handle this natively - if (paint) { + if (paint || + (kRGBA_8888_SkColorType != mainCanvas->imageInfo().colorType() && + kBGRA_8888_SkColorType != mainCanvas->imageInfo().colorType())) { return false; } -- cgit v1.2.3