| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
| (...skipping 1588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1599 } | 1599 } |
| 1600 | 1600 |
| 1601 if (renderer_) { | 1601 if (renderer_) { |
| 1602 renderer_->SetVisible(visible_); | 1602 renderer_->SetVisible(visible_); |
| 1603 SetFullRootLayerDamage(); | 1603 SetFullRootLayerDamage(); |
| 1604 } | 1604 } |
| 1605 } | 1605 } |
| 1606 | 1606 |
| 1607 void LayerTreeHostImpl::CreateAndSetTileManager( | 1607 void LayerTreeHostImpl::CreateAndSetTileManager( |
| 1608 ResourceProvider* resource_provider, | 1608 ResourceProvider* resource_provider, |
| 1609 bool using_map_image) { | 1609 bool using_map_image, |
| 1610 size_t max_transfer_buffer_usage_bytes) { |
| 1610 DCHECK(settings_.impl_side_painting); | 1611 DCHECK(settings_.impl_side_painting); |
| 1611 DCHECK(resource_provider); | 1612 DCHECK(resource_provider); |
| 1612 tile_manager_ = TileManager::Create(this, | 1613 tile_manager_ = TileManager::Create( |
| 1613 resource_provider, | 1614 this, |
| 1614 settings_.num_raster_threads, | 1615 resource_provider, |
| 1615 rendering_stats_instrumentation_, | 1616 settings_.num_raster_threads, |
| 1616 using_map_image); | 1617 rendering_stats_instrumentation_, |
| 1618 using_map_image, |
| 1619 max_transfer_buffer_usage_bytes); |
| 1620 |
| 1617 UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy()); | 1621 UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy()); |
| 1618 need_to_update_visible_tiles_before_draw_ = false; | 1622 need_to_update_visible_tiles_before_draw_ = false; |
| 1619 } | 1623 } |
| 1620 | 1624 |
| 1621 void LayerTreeHostImpl::EnforceZeroBudget(bool zero_budget) { | 1625 void LayerTreeHostImpl::EnforceZeroBudget(bool zero_budget) { |
| 1622 SetManagedMemoryPolicy(cached_managed_memory_policy_, zero_budget); | 1626 SetManagedMemoryPolicy(cached_managed_memory_policy_, zero_budget); |
| 1623 } | 1627 } |
| 1624 | 1628 |
| 1625 bool LayerTreeHostImpl::InitializeRenderer( | 1629 bool LayerTreeHostImpl::InitializeRenderer( |
| 1626 scoped_ptr<OutputSurface> output_surface) { | 1630 scoped_ptr<OutputSurface> output_surface) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1649 EnforceZeroBudget(true); | 1653 EnforceZeroBudget(true); |
| 1650 | 1654 |
| 1651 bool skip_gl_renderer = false; | 1655 bool skip_gl_renderer = false; |
| 1652 CreateAndSetRenderer( | 1656 CreateAndSetRenderer( |
| 1653 output_surface.get(), resource_provider.get(), skip_gl_renderer); | 1657 output_surface.get(), resource_provider.get(), skip_gl_renderer); |
| 1654 | 1658 |
| 1655 if (!renderer_) | 1659 if (!renderer_) |
| 1656 return false; | 1660 return false; |
| 1657 | 1661 |
| 1658 if (settings_.impl_side_painting) { | 1662 if (settings_.impl_side_painting) { |
| 1659 CreateAndSetTileManager(resource_provider.get(), | 1663 CreateAndSetTileManager( |
| 1660 GetRendererCapabilities().using_map_image); | 1664 resource_provider.get(), |
| 1665 GetRendererCapabilities().using_map_image, |
| 1666 output_surface->capabilities().max_transfer_buffer_usage_bytes); |
| 1661 } | 1667 } |
| 1662 | 1668 |
| 1663 // Setup BeginFrameEmulation if it's not supported natively | 1669 // Setup BeginFrameEmulation if it's not supported natively |
| 1664 if (!settings_.begin_frame_scheduling_enabled) { | 1670 if (!settings_.begin_frame_scheduling_enabled) { |
| 1665 const base::TimeDelta display_refresh_interval = | 1671 const base::TimeDelta display_refresh_interval = |
| 1666 base::TimeDelta::FromMicroseconds( | 1672 base::TimeDelta::FromMicroseconds( |
| 1667 base::Time::kMicrosecondsPerSecond / | 1673 base::Time::kMicrosecondsPerSecond / |
| 1668 settings_.refresh_rate); | 1674 settings_.refresh_rate); |
| 1669 | 1675 |
| 1670 output_surface->InitializeBeginFrameEmulation( | 1676 output_surface->InitializeBeginFrameEmulation( |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1728 tile_manager_.reset(); | 1734 tile_manager_.reset(); |
| 1729 resource_provider_->InitializeSoftware(); | 1735 resource_provider_->InitializeSoftware(); |
| 1730 | 1736 |
| 1731 bool skip_gl_renderer = true; | 1737 bool skip_gl_renderer = true; |
| 1732 CreateAndSetRenderer( | 1738 CreateAndSetRenderer( |
| 1733 output_surface_.get(), resource_provider_.get(), skip_gl_renderer); | 1739 output_surface_.get(), resource_provider_.get(), skip_gl_renderer); |
| 1734 DCHECK(renderer_); | 1740 DCHECK(renderer_); |
| 1735 | 1741 |
| 1736 EnforceZeroBudget(true); | 1742 EnforceZeroBudget(true); |
| 1737 CreateAndSetTileManager(resource_provider_.get(), | 1743 CreateAndSetTileManager(resource_provider_.get(), |
| 1738 GetRendererCapabilities().using_map_image); | 1744 GetRendererCapabilities().using_map_image, |
| 1745 OutputSurface::kDefaultMaxTransferBufferUsageBytes); |
| 1739 DCHECK(tile_manager_); | 1746 DCHECK(tile_manager_); |
| 1740 | 1747 |
| 1741 bool success = true; | 1748 bool success = true; |
| 1742 client_->DidTryInitializeRendererOnImplThread( | 1749 client_->DidTryInitializeRendererOnImplThread( |
| 1743 success, scoped_refptr<ContextProvider>()); | 1750 success, scoped_refptr<ContextProvider>()); |
| 1744 client_->SetNeedsCommitOnImplThread(); | 1751 client_->SetNeedsCommitOnImplThread(); |
| 1745 } | 1752 } |
| 1746 | 1753 |
| 1747 void LayerTreeHostImpl::SetViewportSize(gfx::Size device_viewport_size) { | 1754 void LayerTreeHostImpl::SetViewportSize(gfx::Size device_viewport_size) { |
| 1748 if (device_viewport_size == device_viewport_size_) | 1755 if (device_viewport_size == device_viewport_size_) |
| (...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2535 | 2542 |
| 2536 ResourceProvider::ResourceId LayerTreeHostImpl::ResourceIdForUIResource( | 2543 ResourceProvider::ResourceId LayerTreeHostImpl::ResourceIdForUIResource( |
| 2537 UIResourceId uid) const { | 2544 UIResourceId uid) const { |
| 2538 UIResourceMap::const_iterator iter = ui_resource_map_.find(uid); | 2545 UIResourceMap::const_iterator iter = ui_resource_map_.find(uid); |
| 2539 if (iter != ui_resource_map_.end()) | 2546 if (iter != ui_resource_map_.end()) |
| 2540 return iter->second; | 2547 return iter->second; |
| 2541 return 0; | 2548 return 0; |
| 2542 } | 2549 } |
| 2543 | 2550 |
| 2544 } // namespace cc | 2551 } // namespace cc |
| OLD | NEW |