| Index: src/gpu/GrDrawingManager.cpp
|
| diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp
|
| index 75195670b2530744e73740fb9eb3ca3926667d16..5e9b68d88f3b40ddb14866b0957b1149b255e6ca 100644
|
| --- a/src/gpu/GrDrawingManager.cpp
|
| +++ b/src/gpu/GrDrawingManager.cpp
|
| @@ -129,17 +129,10 @@
|
| #endif
|
|
|
| fFlushState.reset();
|
| - // Avoid notifying the cache about successive client flushes where no rendering occurred between
|
| - // them.
|
| - bool skipNotify = false;
|
| - if (!flushed) {
|
| - skipNotify = GrResourceCache::kExternal == fLastFlushType &&
|
| - GrResourceCache::kExternal == type;
|
| - }
|
| - if (!skipNotify) {
|
| + // We always have to notify the cache when it requested a flush so it can reset its state.
|
| + if (flushed || type == GrResourceCache::FlushType::kCacheRequested) {
|
| fContext->getResourceCache()->notifyFlushOccurred(type);
|
| }
|
| - fLastFlushType = type;
|
| fFlushing = false;
|
| }
|
|
|
| @@ -152,9 +145,6 @@
|
|
|
| if (surface->surfacePriv().hasPendingIO()) {
|
| this->flush();
|
| - } else if (GrResourceCache::kExternal != fLastFlushType) {
|
| - fContext->getResourceCache()->notifyFlushOccurred(GrResourceCache::kExternal);
|
| - fLastFlushType = GrResourceCache::kExternal;
|
| }
|
|
|
| GrRenderTarget* rt = surface->asRenderTarget();
|
|
|