aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2017-05-05 16:46:05 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-05 21:13:31 +0000
commit7633477b649c36dd2a03c21d799f66193a341182 (patch)
tree443e97a51271f40210b0888de26c61ca0c60ac14 /src
parent6d342285a4546b54cb17570aae7eeb8a123c81ae (diff)
Fix color blending for analytic shadows
Change-Id: I74e8c385a87a3f397b2df53679fcfd9120d82954 Reviewed-on: https://skia-review.googlesource.com/15645 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/effects/shadows/SkAmbientShadowMaskFilter.cpp3
-rw-r--r--src/effects/shadows/SkSpotShadowMaskFilter.cpp3
-rw-r--r--src/gpu/gl/GrGLGpu.cpp3
3 files changed, 5 insertions, 4 deletions
diff --git a/src/effects/shadows/SkAmbientShadowMaskFilter.cpp b/src/effects/shadows/SkAmbientShadowMaskFilter.cpp
index 7578ae3899..34168357ac 100644
--- a/src/effects/shadows/SkAmbientShadowMaskFilter.cpp
+++ b/src/effects/shadows/SkAmbientShadowMaskFilter.cpp
@@ -215,8 +215,7 @@ bool SkAmbientShadowMaskFilterImpl::directFilterRRectMaskGPU(GrContext*,
GrPaint newPaint(paint);
GrColor4f color = newPaint.getColor4f();
- color.fRGBA[3] *= fAmbientAlpha;
- newPaint.setColor4f(color);
+ newPaint.setColor4f(color.mulByScalar(fAmbientAlpha));
if (SkToBool(fFlags & SkShadowFlags::kTransparentOccluder_ShadowFlag)) {
// set a large inset to force a fill
devSpaceInsetWidth = ambientRRect.width();
diff --git a/src/effects/shadows/SkSpotShadowMaskFilter.cpp b/src/effects/shadows/SkSpotShadowMaskFilter.cpp
index 0716d9b870..a51aa56632 100644
--- a/src/effects/shadows/SkSpotShadowMaskFilter.cpp
+++ b/src/effects/shadows/SkSpotShadowMaskFilter.cpp
@@ -297,8 +297,7 @@ bool SkSpotShadowMaskFilterImpl::directFilterRRectMaskGPU(GrContext*,
}
GrColor4f color = paint.getColor4f();
- color.fRGBA[3] *= fSpotAlpha;
- paint.setColor4f(color);
+ paint.setColor4f(color.mulByScalar(fSpotAlpha));
rtContext->drawShadowRRect(clip, std::move(paint), viewMatrix, spotShadowRRect,
devSpaceSpotBlur, insetWidth);
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
index 8d76faee88..3f200bba6f 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
@@ -191,6 +191,9 @@ GrGpu* GrGLGpu::Create(GrBackendContext backendContext, const GrContextOptions&
if (!glInterface) {
return nullptr;
}
+#ifdef USE_NSIGHT
+ const_cast<GrContextOptions&>(options).fSuppressPathRendering = true;
+#endif
GrGLContext* glContext = GrGLContext::Create(glInterface.get(), options);
if (glContext) {
return new GrGLGpu(glContext, context);