Index: src/gpu/GrDrawContext.cpp |
diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp |
index 0ca07d11efd60d7e2378749fab8087e38fdace80..e51976d6a1a8ee7e991d9b410bf9f1911429635b 100644 |
--- a/src/gpu/GrDrawContext.cpp |
+++ b/src/gpu/GrDrawContext.cpp |
@@ -214,9 +214,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.windowRectsState().disabled()) { |
+ 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. |