Index: src/gpu/GrClip.cpp |
diff --git a/src/gpu/GrClip.cpp b/src/gpu/GrClip.cpp |
index b0577c51222814a0c8f1df815ad9bd0686ca5a2b..79e5e01a5999db6da27535f1057b2680278c9f27 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 || !fScissorState.rect().fuzzyContains(*devBounds, kScissorIgnoreFuzz)) { |
+ if (fHasStencilClip) { |
+ out->makeScissoredStencil(tightScissor, &fDeviceBounds); |
+ } else { |
+ out->makeScissored(tightScissor); |
+ } |
+ return true; |
} |
- return true; |
} |
out->makeStencil(fHasStencilClip, fDeviceBounds); |