diff options
author | Chris Dalton <csmartdalton@google.com> | 2017-11-06 13:48:04 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-11-07 17:28:34 +0000 |
commit | 4c92d4aa3ed653afdff9996b90a1139ed1dc9420 (patch) | |
tree | 33ab60f731462de4747188e0307ba8f76d4ec19a /src/gpu/GrRenderTargetContextPriv.h | |
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/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, |