diff options
author | 2017-05-05 16:46:05 -0400 | |
---|---|---|
committer | 2017-05-05 21:13:31 +0000 | |
commit | 7633477b649c36dd2a03c21d799f66193a341182 (patch) | |
tree | 443e97a51271f40210b0888de26c61ca0c60ac14 /src | |
parent | 6d342285a4546b54cb17570aae7eeb8a123c81ae (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.cpp | 3 | ||||
-rw-r--r-- | src/effects/shadows/SkSpotShadowMaskFilter.cpp | 3 | ||||
-rw-r--r-- | src/gpu/gl/GrGLGpu.cpp | 3 |
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); |