diff options
author | Robert Phillips <robertphillips@google.com> | 2018-04-23 08:15:05 -0400 |
---|---|---|
committer | Robert Phillips <robertphillips@google.com> | 2018-04-23 12:54:28 +0000 |
commit | e9f2bbe082e9e1eb9d76e3043adedc9443427d8d (patch) | |
tree | 1b110a9d779ffc78c2fa2900da203724162969a6 /src/gpu/GrRenderTargetContext.cpp | |
parent | 78fb04e69eaef269c3a579614ae049deb065b4b1 (diff) |
Prevent masked solid-color draws from being turned into clears
GrRenderTargetContext::drawRect was eliding a BlurMask filtered circle.
Bug: skia:7765
Change-Id: Id98c059f7d786ee5c9bca839c8e099997ff2aedb
Reviewed-on: https://skia-review.googlesource.com/122793
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrRenderTargetContext.cpp')
-rw-r--r-- | src/gpu/GrRenderTargetContext.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gpu/GrRenderTargetContext.cpp b/src/gpu/GrRenderTargetContext.cpp index 576f348c01..aae0248ae4 100644 --- a/src/gpu/GrRenderTargetContext.cpp +++ b/src/gpu/GrRenderTargetContext.cpp @@ -503,7 +503,7 @@ void GrRenderTargetContext::drawRect(const GrClip& clip, AutoCheckFlush acf(this->drawingManager()); const SkStrokeRec& stroke = style->strokeRec(); - if (stroke.getStyle() == SkStrokeRec::kFill_Style) { + if (stroke.getStyle() == SkStrokeRec::kFill_Style && !paint.numCoverageFragmentProcessors()) { // Check if this is a full RT draw and can be replaced with a clear. We don't bother // checking cases where the RT is fully inside a stroke. SkRect rtRect = fRenderTargetProxy->getBoundsRect(); |