Revert of Separate user and raw stencil settings (patchset #8 id:140001 of https...
authorrobertphillips <robertphillips@google.com>
Wed, 11 May 2016 12:21:56 +0000 (05:21 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 11 May 2016 12:21:56 +0000 (05:21 -0700)
commite19aecdd13d83b2235faf3e2601100a2fd980b7b
tree75f24881e08d8c287b53bc3d055c68b3406ae8bf
parent3e11da7fa9b7ab26df6d6197c3f6a71d0826c97e
Revert of Separate user and raw stencil settings (patchset #8 id:140001 of https://codereview.chromium.org/1962243002/ )

Reason for revert:
This seems to be breaking nanobench on the Windows bots with:

Caught exception 3221225477 EXCEPTION_ACCESS_VIOLATION
GrDrawTarget::stencilPath +c7
GrStencilAndCoverPathRenderer::onDrawPath +fd
GrDrawContext::internalDrawPath +509
GrDrawContext::drawPath +223
GrBlurUtils::drawPathWithMaskFilter +250
SkGpuDevice::drawPath +2ea
SkCanvas::onDrawPath +2e3
SkRecordDraw +2e6
SkBigPicture::playback +e5
SkCanvas::onDrawPicture +12c
SkCanvas::drawPicture +145
SkRecordDraw +2e6
SkBigPicture::playback +e5
SkCanvas::onDrawPicture +12c
SkCanvas::drawPicture +145
SkRecordDraw +261
SkBigPicture::playback +e5
SkCanvas::onDrawPicture +12c
SkCanvas::drawPicture +145
SkMultiPictureDraw::draw +bf
SKPBench::drawMPDPicture +1e0
SKPBench::onDraw +34
Benchmark::draw +32
time +92
setup_gpu_bench +6e
nanobench_main +77b

Original issue's description:
> Separate user and raw stencil settings
>
> Adds a new GrUserStencilSettings class that describes in abstract terms
> how a draw will use the stencil (e.g. kAlwaysIfInClip, kSetClipBit,
> etc.). GrPipelineBuilder now only defines the GrUserStencilSettings.
> When the GrPipeline is finalized, the user stencil settings are then
> translated into concrete GrStencilSettings.
>
> At this point, GrClipMaskManager only needs to tell the GrAppliedClip
> whether or not there is a stencil clip. It does not need to modify
> stencil settings and GrPipelineBuilder does not need
> AutoRestoreStencil.
>
> This is one step of the stencil overhaul. In the future it will also
> allow us to clean up the special case handling for nvpr and the
> stateful fClipMode member of GrClipMaskManager.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962243002
>
> Committed: https://skia.googlesource.com/skia/+/12dbb3947e1aaf205b4fcf13b40e54e50650eb37

TBR=bsalomon@google.com,cdalton@nvidia.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/1969693003
33 files changed:
gyp/gpu.gypi
src/gpu/GrClipMaskManager.cpp
src/gpu/GrClipMaskManager.h
src/gpu/GrDrawContext.cpp
src/gpu/GrDrawContextPriv.h
src/gpu/GrDrawTarget.cpp
src/gpu/GrDrawTarget.h
src/gpu/GrGpu.h
src/gpu/GrPathRenderer.h
src/gpu/GrPipeline.cpp
src/gpu/GrPipeline.h
src/gpu/GrPipelineBuilder.cpp
src/gpu/GrPipelineBuilder.h
src/gpu/GrStencil.cpp [new file with mode: 0644]
src/gpu/GrStencil.h [new file with mode: 0644]
src/gpu/GrStencilSettings.cpp [deleted file]
src/gpu/GrStencilSettings.h [deleted file]
src/gpu/GrUserStencilSettings.h [deleted file]
src/gpu/batches/GrDefaultPathRenderer.cpp
src/gpu/batches/GrDrawPathBatch.h
src/gpu/batches/GrMSAAPathRenderer.cpp
src/gpu/batches/GrPathStencilSettings.h
src/gpu/batches/GrStencilAndCoverPathRenderer.cpp
src/gpu/batches/GrStencilPathBatch.h
src/gpu/gl/GrGLGpu.cpp
src/gpu/gl/GrGLPathRendering.cpp
src/gpu/gl/GrGLPathRendering.h
src/gpu/gl/GrGLUtil.cpp
src/gpu/gl/GrGLUtil.h
src/gpu/text/GrStencilAndCoverTextContext.cpp
src/gpu/vk/GrVkPipeline.cpp
src/gpu/vk/GrVkPipelineState.h
tests/GLProgramsTest.cpp