Chromium Code Reviews| Index: src/gpu/GrClipMaskManager.cpp |
| diff --git a/src/gpu/GrClipMaskManager.cpp b/src/gpu/GrClipMaskManager.cpp |
| index c591bf11826babd6fdfe9861994a1a8bc8da9e7b..4e732f10ac3e89e4056bd94c733b55c747bec01e 100644 |
| --- a/src/gpu/GrClipMaskManager.cpp |
| +++ b/src/gpu/GrClipMaskManager.cpp |
| @@ -302,7 +302,7 @@ bool GrClipMaskManager::SetupClipping(GrContext* context, |
| &clipFP)) { |
| SkIRect scissorSpaceIBounds(clipSpaceIBounds); |
| scissorSpaceIBounds.offset(-clip.origin()); |
| - if (!SkRect::Make(scissorSpaceIBounds).contains(devBounds)) { |
| + if (!scissorSpaceIBounds.fuzzyContains(devBounds, GrClip::kScissorIgnoreFuzz)) { |
| out->makeScissoredFPBased(std::move(clipFP), scissorSpaceIBounds); |
| return true; |
| } |
| @@ -369,7 +369,11 @@ bool GrClipMaskManager::SetupClipping(GrContext* context, |
| // use both stencil and scissor test to the bounds for the final draw. |
| SkIRect scissorSpaceIBounds(clipSpaceIBounds); |
| scissorSpaceIBounds.offset(clipSpaceToStencilSpaceOffset); |
| - out->makeScissoredStencil(scissorSpaceIBounds); |
| + if (!scissorSpaceIBounds.fuzzyContains(devBounds, GrClip::kScissorIgnoreFuzz)) { |
| + out->makeScissoredStencil(scissorSpaceIBounds); |
|
csmartdalton
2016/07/08 21:20:45
Any reason we weren't passing devBounds here?
bsalomon
2016/07/08 22:49:00
We shouldn't be passing devBounds. This is suppose
|
| + } else { |
| + out->makeStencil(true, devBounds); |
| + } |
| return true; |
| } |