Index: src/gpu/GrClip.cpp |
diff --git a/src/gpu/GrClip.cpp b/src/gpu/GrClip.cpp |
index b0577c51222814a0c8f1df815ad9bd0686ca5a2b..ab2acb983411695c1ffa60cf0a69abbf1cb8333b 100644 |
--- a/src/gpu/GrClip.cpp |
+++ b/src/gpu/GrClip.cpp |
@@ -54,12 +54,14 @@ bool GrFixedClip::apply(GrContext*, const GrPipelineBuilder& pipelineBuilder, |
if (devBounds && !devBounds->intersects(SkRect::Make(tightScissor))) { |
return false; |
} |
- if (fHasStencilClip) { |
- out->makeScissoredStencil(tightScissor, &fDeviceBounds); |
- } else { |
- out->makeScissored(tightScissor); |
+ if (!devBounds || !CanIgnoreScissor(fScissorState.rect(), *devBounds)) { |
+ if (fHasStencilClip) { |
+ out->makeScissoredStencil(tightScissor, &fDeviceBounds); |
+ } else { |
+ out->makeScissored(tightScissor); |
+ } |
+ return true; |
} |
- return true; |
} |
out->makeStencil(fHasStencilClip, fDeviceBounds); |