Cherry pick fuzzer fixes back to M56
authorRobert Phillips <robertphillips@google.com>
Mon, 21 Nov 2016 14:03:54 +0000 (09:03 -0500)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Mon, 28 Nov 2016 17:43:57 +0000 (17:43 +0000)
commit24f636fc9e5b0b869a84004a1afe877884c406a1
tree564602ab885d6b1d2461f3463804815bc6cad3e6
parent303cfd4b16eb4e9c36e2e021d9577f0d53130674
Cherry pick fuzzer fixes back to M56

This cherry-pick combines 3 fuzzer-fix CLs:

These two rolled into Chrome in https://codereview.chromium.org/2511733006 at 433297 on 11/18
https://skia-review.googlesource.com/c/4961/ (Remove accessRenderTarget call in SkGpuDevice ctor)
https://skia-review.googlesource.com/c/4929/ (Guard against instantiate & accessRenderTarget failures)

This one rolled into Chrome in https://codereview.chromium.org/2516183002 at 433454 on 11/20
https://skia-review.googlesource.com/c/4991/ (Add handling for instantiate failure up the call stack)

Together they address the fuzzer bugs:

crbug.com/665681 P1 (Crash in SkSpecialImage_Gpu::onAsTextureRef)
crbug.com/665621 P1 (Crash in GrGpuCommandBuffer::draw)
crbug.com/665500 P1 (Crash in GrDrawBatch::renderTargetUniqueID)

The fuzzer bugs were fixed by the first two patches but the third is going to be necessary too.

BUG=665681,665500,665621

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5081
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

Change-Id: I3a8b70eae29ac11608e062e66bc26c2208c1dfb3
Reviewed-on: https://skia-review.googlesource.com/5081
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
18 files changed:
include/gpu/GrRenderTargetContext.h
src/core/SkBlurImageFilter.cpp
src/core/SkCanvas.cpp
src/core/SkSpecialImage.cpp
src/core/SkSpecialSurface.cpp
src/effects/SkBlurMaskFilter.cpp
src/effects/SkMorphologyImageFilter.cpp
src/gpu/GrClipStackClip.cpp
src/gpu/GrContext.cpp
src/gpu/GrDrawingManager.cpp
src/gpu/GrPipeline.cpp
src/gpu/GrRenderTargetContext.cpp
src/gpu/GrRenderTargetOpList.cpp
src/gpu/SkGpuDevice.cpp
src/gpu/SkGpuDevice.h
src/gpu/effects/GrConfigConversionEffect.cpp
src/image/SkImage_Gpu.cpp
src/image/SkSurface_Gpu.cpp