diff options
author | Chris Dalton <csmartdalton@google.com> | 2017-11-07 13:35:22 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-11-07 21:30:44 +0000 |
commit | bbfd5161ed08710de6106101e64e3417ab32d2db (patch) | |
tree | 387cb49ad153fce7e685f2dbad13ffbb7b1238d9 /src/gpu/GrClipStackClip.cpp | |
parent | cbba29ed4764b9a9da58710aed18aec6f3bd0ce0 (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: I44140a5823f8683ec08244bdf9d369f51fa05dd9
Reviewed-on: https://skia-review.googlesource.com/68362
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; } |