diff options
author | 2017-11-06 13:48:04 -0700 | |
---|---|---|
committer | 2017-11-07 17:28:34 +0000 | |
commit | 4c92d4aa3ed653afdff9996b90a1139ed1dc9420 (patch) | |
tree | 33ab60f731462de4747188e0307ba8f76d4ec19a /src/gpu/GrClipStackClip.cpp | |
parent | fbe0793526526ae47f02c7a011e29c401ef191f4 (diff) |
Don't use analytic clip FPs when drawing to stencil
It doesn't make sense to multiply by coverage when drawing to stencil.
This could theoretically work with FPs that discard and/or modify
the sample mask, but for the time being an analytic FP means one that
calculates a coverage value.
Bug: skia:7190
Change-Id: Ic40cf6c19c377cba80bad458993582f5cc07022a
Reviewed-on: https://skia-review.googlesource.com/67423
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src/gpu/GrClipStackClip.cpp')
-rw-r--r-- | src/gpu/GrClipStackClip.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gpu/GrClipStackClip.cpp b/src/gpu/GrClipStackClip.cpp index aa2b9fdd29..245f2d0cd8 100644 --- a/src/gpu/GrClipStackClip.cpp +++ b/src/gpu/GrClipStackClip.cpp @@ -269,12 +269,12 @@ bool GrClipStackClip::apply(GrContext* context, GrRenderTargetContext* renderTar renderTargetContext->priv().maxWindowRectangles()); if (reducedClip.hasScissor() && !GrClip::IsInsideClip(reducedClip.scissor(), devBounds)) { - out->addScissor(reducedClip.scissor(), bounds); + out->hardClip().addScissor(reducedClip.scissor(), bounds); } if (!reducedClip.windowRectangles().empty()) { - out->addWindowRectangles(reducedClip.windowRectangles(), - GrWindowRectsState::Mode::kExclusive); + out->hardClip().addWindowRectangles(reducedClip.windowRectangles(), + GrWindowRectsState::Mode::kExclusive); } if (reducedClip.maskElements().isEmpty()) { @@ -358,7 +358,7 @@ bool GrClipStackClip::apply(GrContext* context, GrRenderTargetContext* renderTar reducedClip.drawStencilClipMask(context, renderTargetContext); renderTargetContext->priv().setLastClip(reducedClip.maskGenID(), reducedClip.scissor()); } - out->addStencilClip(reducedClip.maskGenID()); + out->hardClip().addStencilClip(reducedClip.maskGenID()); return true; } |