| Index: cc/layer_tree_host_impl.cc
|
| diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
|
| index 408e8417971f300adfce4cb83a855ddaf80153bc..860ab7e653415d77fdfac829d0bc2b91f7e61f8b 100644
|
| --- a/cc/layer_tree_host_impl.cc
|
| +++ b/cc/layer_tree_host_impl.cc
|
| @@ -216,9 +216,9 @@ LayerTreeHostImpl::LayerTreeHostImpl(const LayerTreeSettings& settings, LayerTre
|
| , m_visible(true)
|
| , m_contentsTexturesPurged(false)
|
| , m_managedMemoryPolicy(PrioritizedResourceManager::defaultMemoryAllocationLimit(),
|
| - PriorityCalculator::allowEverythingCutoff(),
|
| + ManagedMemoryPolicy::CUTOFF_ALLOW_EVERYTHING,
|
| 0,
|
| - PriorityCalculator::allowNothingCutoff())
|
| + ManagedMemoryPolicy::CUTOFF_ALLOW_NOTHING)
|
| , m_backgroundColor(0)
|
| , m_hasTransparentBackground(false)
|
| , m_needsUpdateDrawProperties(false)
|
| @@ -764,22 +764,24 @@ void LayerTreeHostImpl::enforceManagedMemoryPolicy(const ManagedMemoryPolicy& po
|
| {
|
| bool evictedResources = m_client->reduceContentsTextureMemoryOnImplThread(
|
| m_visible ? policy.bytesLimitWhenVisible : policy.bytesLimitWhenNotVisible,
|
| - m_visible ? policy.priorityCutoffWhenVisible : policy.priorityCutoffWhenNotVisible);
|
| + ManagedMemoryPolicy::priorityCutoffToValue(
|
| + m_visible ? policy.priorityCutoffWhenVisible : policy.priorityCutoffWhenNotVisible));
|
| if (evictedResources) {
|
| setContentsTexturesPurged();
|
| m_client->setNeedsCommitOnImplThread();
|
| m_client->onCanDrawStateChanged(canDraw());
|
| }
|
| - m_client->sendManagedMemoryStats();
|
|
|
| if (m_tileManager) {
|
| - // TODO(nduca): Pass something useful into the memory manager.
|
| LOG(INFO) << "Setting up initial tile manager policy";
|
| GlobalStateThatImpactsTilePriority new_state(m_tileManager->GlobalState());
|
| - new_state.memory_limit_in_bytes = PrioritizedResourceManager::defaultMemoryAllocationLimit();
|
| - new_state.memory_limit_policy = ALLOW_ANYTHING;
|
| + new_state.memory_limit_in_bytes = m_visible ? policy.bytesLimitWhenVisible : policy.bytesLimitWhenNotVisible;
|
| + new_state.memory_limit_policy = ManagedMemoryPolicy::priorityCutoffToTileMemoryLimitPolicy(
|
| + m_visible ? policy.priorityCutoffWhenVisible : policy.priorityCutoffWhenNotVisible);
|
| m_tileManager->SetGlobalState(new_state);
|
| }
|
| +
|
| + m_client->sendManagedMemoryStats();
|
| }
|
|
|
| bool LayerTreeHostImpl::hasImplThread() const
|
| @@ -803,6 +805,14 @@ void LayerTreeHostImpl::ScheduleCheckForCompletedSetPixels()
|
| m_client->setNeedsRedrawOnImplThread();
|
| }
|
|
|
| +void LayerTreeHostImpl::SendTileManagerMemoryStats(
|
| + size_t memoryRequiredBytes,
|
| + size_t memoryNiceToHaveBytes,
|
| + size_t memoryUsedBytes)
|
| +{
|
| + sendManagedMemoryStats(memoryRequiredBytes, memoryNiceToHaveBytes, memoryUsedBytes);
|
| +}
|
| +
|
| bool LayerTreeHostImpl::shouldClearRootRenderPass() const
|
| {
|
| return m_settings.shouldClearRootRenderPass;
|
|
|