From 4c92d4aa3ed653afdff9996b90a1139ed1dc9420 Mon Sep 17 00:00:00 2001 From: Chris Dalton Date: Mon, 6 Nov 2017 13:48:04 -0700 Subject: 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 Commit-Queue: Chris Dalton --- src/gpu/GrRenderTargetContextPriv.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/gpu/GrRenderTargetContextPriv.h') 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, -- cgit v1.2.3