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/GrRenderTargetContextPriv.h | |
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/GrRenderTargetContextPriv.h')
-rw-r--r-- | src/gpu/GrRenderTargetContextPriv.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gpu/GrRenderTargetContextPriv.h b/src/gpu/GrRenderTargetContextPriv.h index 2cfd5c8679..874e9c9f00 100644 --- a/src/gpu/GrRenderTargetContextPriv.h +++ b/src/gpu/GrRenderTargetContextPriv.h @@ -13,6 +13,7 @@ #include "GrPathRendering.h" class GrFixedClip; +class GrHardClip; class GrPath; class GrRenderTargetPriv; struct GrUserStencilSettings; @@ -59,19 +60,19 @@ public: */ void absClear(const SkIRect* rect, const GrColor color); - void stencilRect(const GrClip& clip, + void stencilRect(const GrHardClip&, const GrUserStencilSettings* ss, GrAAType, const SkMatrix& viewMatrix, const SkRect& rect); - void stencilPath(const GrClip&, GrAAType, const SkMatrix& viewMatrix, const GrPath*); + void stencilPath(const GrHardClip&, GrAAType, const SkMatrix& viewMatrix, const GrPath*); /** * Draws a rect, either AA or not, and touches the stencil buffer with the user stencil settings * for each color sample written. */ - bool drawAndStencilRect(const GrClip&, + bool drawAndStencilRect(const GrHardClip&, const GrUserStencilSettings*, SkRegion::Op op, bool invert, @@ -83,7 +84,7 @@ public: * Draws a path, either AA or not, and touches the stencil buffer with the user stencil settings * for each color sample written. */ - bool drawAndStencilPath(const GrClip&, + bool drawAndStencilPath(const GrHardClip&, const GrUserStencilSettings*, SkRegion::Op op, bool invert, |