aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrRenderTargetContext.cpp
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2018-04-23 18:08:45 +0000
committerGravatar Jim Van Verth <jvanverth@google.com>2018-04-23 18:40:47 +0000
commit39e716562e9d44696ce86d0f680f74d1a4592c2f (patch)
tree620e4cd25df6e03d855e71f0debd6b0f67efeaa8 /src/gpu/GrRenderTargetContext.cpp
parent4229b35c3e4f205da793b1c5648f5436a6f037e1 (diff)
Revert "Remove ambient clamp hack for analytic shadows."
This reverts commit d75b34394b5c53b0a5e8144dd28f956fbc8b90b2. Reason for revert: Breaking GMs Original change's description: > Remove ambient clamp hack for analytic shadows. > > The hack was added to make analytic ambient shadows match the geometric > ones exactly. Removing it does produce a slight difference, but it's > only visible at full black values (and then, only slightly) and this > makes room to pass a blend parameter for falloff. > > Also fixes an issue with filling out arcs in the shadow tesselator. > > Bug: skia:7486 > Change-Id: If78d0104df7e18f4320c1658af75576f6a4a8c73 > Reviewed-on: https://skia-review.googlesource.com/122580 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia:7486 Change-Id: If0a20a358759c08a3a475d60be54a3d62ff7b6ad Reviewed-on: https://skia-review.googlesource.com/123120 Reviewed-by: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'src/gpu/GrRenderTargetContext.cpp')
-rw-r--r--src/gpu/GrRenderTargetContext.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gpu/GrRenderTargetContext.cpp b/src/gpu/GrRenderTargetContext.cpp
index aae0248ae4..e26ec9018b 100644
--- a/src/gpu/GrRenderTargetContext.cpp
+++ b/src/gpu/GrRenderTargetContext.cpp
@@ -1024,10 +1024,15 @@ bool GrRenderTargetContext::drawFastShadow(const GrClip& clip,
// set a large inset to force a fill
devSpaceInsetWidth = ambientRRect.width();
}
+ // the fraction of the blur we want to apply is devSpaceInsetWidth/devSpaceAmbientBlur,
+ // which is just 1/umbraRecipAlpha.
+ SkScalar blurClamp = SkScalarInvert(umbraRecipAlpha);
+
std::unique_ptr<GrDrawOp> op = GrShadowRRectOp::Make(ambientColor, viewMatrix,
ambientRRect,
devSpaceAmbientBlur,
- devSpaceInsetWidth);
+ devSpaceInsetWidth,
+ blurClamp);
SkASSERT(op);
this->addDrawOp(clip, std::move(op));
}