| Index: cc/CCSingleThreadProxy.cpp
|
| diff --git a/cc/CCSingleThreadProxy.cpp b/cc/CCSingleThreadProxy.cpp
|
| index 0a52d64ba10f336e45e03085dc9fc46dd5f0e0ca..763d668935b22f59ac12c8ecf15a7a45ef6720e1 100644
|
| --- a/cc/CCSingleThreadProxy.cpp
|
| +++ b/cc/CCSingleThreadProxy.cpp
|
| @@ -255,6 +255,12 @@ void CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread(PassOwnPtr
|
| m_layerTreeHost->setAnimationEvents(events, wallClockTime);
|
| }
|
|
|
| +void CCSingleThreadProxy::releaseContentsTexturesOnImplThread()
|
| +{
|
| + ASSERT(isImplThread());
|
| + m_layerTreeHost->reduceContentsTexturesMemoryOnImplThread(0, m_layerTreeHostImpl->resourceProvider());
|
| +}
|
| +
|
| // Called by the legacy scheduling path (e.g. where render_widget does the scheduling)
|
| void CCSingleThreadProxy::compositeImmediately()
|
| {
|
| @@ -280,15 +286,23 @@ bool CCSingleThreadProxy::commitAndComposite()
|
| if (!m_layerTreeHost->initializeRendererIfNeeded())
|
| return false;
|
|
|
| - if (m_layerTreeHostImpl->contentsTexturesPurged()) {
|
| - m_layerTreeHost->unlinkAllContentTextures();
|
| + // Unlink any texture backings that were deleted
|
| + CCPrioritizedTextureManager::BackingVector evictedContentsTexturesBackings;
|
| + {
|
| + DebugScopedSetImplThread implThread;
|
| + m_layerTreeHost->getEvictedContentTexturesBackings(evictedContentsTexturesBackings);
|
| + }
|
| + m_layerTreeHost->unlinkEvictedContentTexturesBackings(evictedContentsTexturesBackings);
|
| + {
|
| DebugScopedSetImplThreadAndMainThreadBlocked implAndMainBlocked;
|
| - m_layerTreeHost->deleteUnlinkedTextures();
|
| + m_layerTreeHost->deleteEvictedContentTexturesBackings();
|
| }
|
|
|
| CCTextureUpdateQueue queue;
|
| m_layerTreeHost->updateLayers(queue, m_layerTreeHostImpl->memoryAllocationLimitBytes());
|
| - m_layerTreeHostImpl->resetContentsTexturesPurged();
|
| +
|
| + if (m_layerTreeHostImpl->contentsTexturesPurged())
|
| + m_layerTreeHostImpl->resetContentsTexturesPurged();
|
|
|
| m_layerTreeHost->willCommit();
|
| doCommit(queue);
|
|
|