| 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);
|
|
|