| Index: src/gpu/GrDrawContext.cpp
|
| diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp
|
| index 1fd113dce36b99bb801c84f8092b69451ebce4cf..87252f39792ab174a2d62bb2ca127a81a9c8fd58 100644
|
| --- a/src/gpu/GrDrawContext.cpp
|
| +++ b/src/gpu/GrDrawContext.cpp
|
| @@ -215,9 +215,12 @@ void GrDrawContextPriv::clear(const GrFixedClip& clip,
|
| void GrDrawContext::internalClear(const GrFixedClip& clip,
|
| const GrColor color,
|
| bool canIgnoreClip) {
|
| - bool isFull = !clip.scissorEnabled() ||
|
| - (canIgnoreClip && fContext->caps()->fullClearIsFree()) ||
|
| - clip.scissorRect().contains(SkIRect::MakeWH(this->width(), this->height()));
|
| + bool isFull = false;
|
| + if (!clip.hasWindowRectangles()) {
|
| + isFull = !clip.scissorEnabled() ||
|
| + (canIgnoreClip && fContext->caps()->fullClearIsFree()) ||
|
| + clip.scissorRect().contains(SkIRect::MakeWH(this->width(), this->height()));
|
| + }
|
|
|
| if (fContext->caps()->useDrawInsteadOfClear()) {
|
| // This works around a driver bug with clear by drawing a rect instead.
|
|
|