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 #include <limits> | 8 #include <limits> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 #include "cc/layers/scrollbar_layer_impl_base.h" | 40 #include "cc/layers/scrollbar_layer_impl_base.h" |
41 #include "cc/output/compositor_frame_metadata.h" | 41 #include "cc/output/compositor_frame_metadata.h" |
42 #include "cc/output/copy_output_request.h" | 42 #include "cc/output/copy_output_request.h" |
43 #include "cc/output/delegating_renderer.h" | 43 #include "cc/output/delegating_renderer.h" |
44 #include "cc/output/gl_renderer.h" | 44 #include "cc/output/gl_renderer.h" |
45 #include "cc/output/software_renderer.h" | 45 #include "cc/output/software_renderer.h" |
46 #include "cc/quads/render_pass_draw_quad.h" | 46 #include "cc/quads/render_pass_draw_quad.h" |
47 #include "cc/quads/shared_quad_state.h" | 47 #include "cc/quads/shared_quad_state.h" |
48 #include "cc/quads/solid_color_draw_quad.h" | 48 #include "cc/quads/solid_color_draw_quad.h" |
49 #include "cc/quads/texture_draw_quad.h" | 49 #include "cc/quads/texture_draw_quad.h" |
50 #include "cc/resources/bitmap_raster_worker_pool.h" | 50 #include "cc/resources/bitmap_tile_task_worker_pool.h" |
51 #include "cc/resources/eviction_tile_priority_queue.h" | 51 #include "cc/resources/eviction_tile_priority_queue.h" |
52 #include "cc/resources/gpu_raster_worker_pool.h" | 52 #include "cc/resources/gpu_tile_task_worker_pool.h" |
53 #include "cc/resources/memory_history.h" | 53 #include "cc/resources/memory_history.h" |
54 #include "cc/resources/one_copy_raster_worker_pool.h" | 54 #include "cc/resources/one_copy_tile_task_worker_pool.h" |
55 #include "cc/resources/picture_layer_tiling.h" | 55 #include "cc/resources/picture_layer_tiling.h" |
56 #include "cc/resources/pixel_buffer_raster_worker_pool.h" | 56 #include "cc/resources/pixel_buffer_tile_task_worker_pool.h" |
57 #include "cc/resources/prioritized_resource_manager.h" | 57 #include "cc/resources/prioritized_resource_manager.h" |
58 #include "cc/resources/raster_tile_priority_queue.h" | 58 #include "cc/resources/raster_tile_priority_queue.h" |
59 #include "cc/resources/raster_worker_pool.h" | |
60 #include "cc/resources/resource_pool.h" | 59 #include "cc/resources/resource_pool.h" |
61 #include "cc/resources/texture_mailbox_deleter.h" | 60 #include "cc/resources/texture_mailbox_deleter.h" |
| 61 #include "cc/resources/tile_task_worker_pool.h" |
62 #include "cc/resources/ui_resource_bitmap.h" | 62 #include "cc/resources/ui_resource_bitmap.h" |
63 #include "cc/resources/zero_copy_raster_worker_pool.h" | 63 #include "cc/resources/zero_copy_tile_task_worker_pool.h" |
64 #include "cc/scheduler/delay_based_time_source.h" | 64 #include "cc/scheduler/delay_based_time_source.h" |
65 #include "cc/trees/damage_tracker.h" | 65 #include "cc/trees/damage_tracker.h" |
66 #include "cc/trees/layer_tree_host.h" | 66 #include "cc/trees/layer_tree_host.h" |
67 #include "cc/trees/layer_tree_host_common.h" | 67 #include "cc/trees/layer_tree_host_common.h" |
68 #include "cc/trees/layer_tree_impl.h" | 68 #include "cc/trees/layer_tree_impl.h" |
69 #include "cc/trees/occlusion_tracker.h" | 69 #include "cc/trees/occlusion_tracker.h" |
70 #include "cc/trees/single_thread_proxy.h" | 70 #include "cc/trees/single_thread_proxy.h" |
71 #include "cc/trees/tree_synchronizer.h" | 71 #include "cc/trees/tree_synchronizer.h" |
72 #include "gpu/command_buffer/client/gles2_interface.h" | 72 #include "gpu/command_buffer/client/gles2_interface.h" |
73 #include "gpu/GLES2/gl2extchromium.h" | 73 #include "gpu/GLES2/gl2extchromium.h" |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 pending_tree_->ApplyScrollDeltasSinceBeginMainFrame(); | 302 pending_tree_->ApplyScrollDeltasSinceBeginMainFrame(); |
303 sync_tree()->set_needs_update_draw_properties(); | 303 sync_tree()->set_needs_update_draw_properties(); |
304 | 304 |
305 if (settings_.impl_side_painting) { | 305 if (settings_.impl_side_painting) { |
306 // Impl-side painting needs an update immediately post-commit to have the | 306 // Impl-side painting needs an update immediately post-commit to have the |
307 // opportunity to create tilings. Other paths can call UpdateDrawProperties | 307 // opportunity to create tilings. Other paths can call UpdateDrawProperties |
308 // more lazily when needed prior to drawing. | 308 // more lazily when needed prior to drawing. |
309 sync_tree()->UpdateDrawProperties(); | 309 sync_tree()->UpdateDrawProperties(); |
310 // Start working on newly created tiles immediately if needed. | 310 // Start working on newly created tiles immediately if needed. |
311 if (tile_manager_ && tile_priorities_dirty_) | 311 if (tile_manager_ && tile_priorities_dirty_) |
312 ManageTiles(); | 312 PrepareTiles(); |
313 else | 313 else |
314 NotifyReadyToActivate(); | 314 NotifyReadyToActivate(); |
315 } else { | 315 } else { |
316 // If we're not in impl-side painting, the tree is immediately considered | 316 // If we're not in impl-side painting, the tree is immediately considered |
317 // active. | 317 // active. |
318 ActivateSyncTree(); | 318 ActivateSyncTree(); |
319 } | 319 } |
320 | 320 |
321 micro_benchmark_controller_.DidCompleteCommit(); | 321 micro_benchmark_controller_.DidCompleteCommit(); |
322 } | 322 } |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 | 375 |
376 void LayerTreeHostImpl::Animate(base::TimeTicks monotonic_time) { | 376 void LayerTreeHostImpl::Animate(base::TimeTicks monotonic_time) { |
377 if (input_handler_client_) | 377 if (input_handler_client_) |
378 input_handler_client_->Animate(monotonic_time); | 378 input_handler_client_->Animate(monotonic_time); |
379 AnimatePageScale(monotonic_time); | 379 AnimatePageScale(monotonic_time); |
380 AnimateLayers(monotonic_time); | 380 AnimateLayers(monotonic_time); |
381 AnimateScrollbars(monotonic_time); | 381 AnimateScrollbars(monotonic_time); |
382 AnimateTopControls(monotonic_time); | 382 AnimateTopControls(monotonic_time); |
383 } | 383 } |
384 | 384 |
385 void LayerTreeHostImpl::ManageTiles() { | 385 void LayerTreeHostImpl::PrepareTiles() { |
386 if (!tile_manager_) | 386 if (!tile_manager_) |
387 return; | 387 return; |
388 if (!tile_priorities_dirty_) | 388 if (!tile_priorities_dirty_) |
389 return; | 389 return; |
390 | 390 |
391 tile_priorities_dirty_ = false; | 391 tile_priorities_dirty_ = false; |
392 tile_manager_->ManageTiles(global_tile_state_); | 392 tile_manager_->PrepareTiles(global_tile_state_); |
393 | 393 |
394 client_->DidManageTiles(); | 394 client_->DidPrepareTiles(); |
395 } | 395 } |
396 | 396 |
397 void LayerTreeHostImpl::StartPageScaleAnimation( | 397 void LayerTreeHostImpl::StartPageScaleAnimation( |
398 const gfx::Vector2d& target_offset, | 398 const gfx::Vector2d& target_offset, |
399 bool anchor_point, | 399 bool anchor_point, |
400 float page_scale, | 400 float page_scale, |
401 base::TimeDelta duration) { | 401 base::TimeDelta duration) { |
402 if (!InnerViewportScrollLayer()) | 402 if (!InnerViewportScrollLayer()) |
403 return; | 403 return; |
404 | 404 |
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1179 std::numeric_limits<size_t>::max(), | 1179 std::numeric_limits<size_t>::max(), |
1180 std::numeric_limits<size_t>::max(), | 1180 std::numeric_limits<size_t>::max(), |
1181 visible_ ? GetMaxStagingResourceCount() : 0); | 1181 visible_ ? GetMaxStagingResourceCount() : 0); |
1182 } | 1182 } |
1183 | 1183 |
1184 DidModifyTilePriorities(); | 1184 DidModifyTilePriorities(); |
1185 } | 1185 } |
1186 | 1186 |
1187 void LayerTreeHostImpl::DidModifyTilePriorities() { | 1187 void LayerTreeHostImpl::DidModifyTilePriorities() { |
1188 DCHECK(settings_.impl_side_painting); | 1188 DCHECK(settings_.impl_side_painting); |
1189 // Mark priorities as dirty and schedule a ManageTiles(). | 1189 // Mark priorities as dirty and schedule a PrepareTiles(). |
1190 tile_priorities_dirty_ = true; | 1190 tile_priorities_dirty_ = true; |
1191 client_->SetNeedsManageTilesOnImplThread(); | 1191 client_->SetNeedsPrepareTilesOnImplThread(); |
1192 } | 1192 } |
1193 | 1193 |
1194 void LayerTreeHostImpl::GetPictureLayerImplPairs( | 1194 void LayerTreeHostImpl::GetPictureLayerImplPairs( |
1195 std::vector<PictureLayerImpl::Pair>* layer_pairs, | 1195 std::vector<PictureLayerImpl::Pair>* layer_pairs, |
1196 bool need_valid_tile_priorities) const { | 1196 bool need_valid_tile_priorities) const { |
1197 DCHECK(layer_pairs->empty()); | 1197 DCHECK(layer_pairs->empty()); |
1198 for (std::vector<PictureLayerImpl*>::const_iterator it = | 1198 for (std::vector<PictureLayerImpl*>::const_iterator it = |
1199 picture_layers_.begin(); | 1199 picture_layers_.begin(); |
1200 it != picture_layers_.end(); | 1200 it != picture_layers_.end(); |
1201 ++it) { | 1201 ++it) { |
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1850 // If we just became visible, we have to ensure that we draw high res tiles, | 1850 // If we just became visible, we have to ensure that we draw high res tiles, |
1851 // to prevent checkerboard/low res flashes. | 1851 // to prevent checkerboard/low res flashes. |
1852 if (visible_) | 1852 if (visible_) |
1853 SetRequiresHighResToDraw(); | 1853 SetRequiresHighResToDraw(); |
1854 else | 1854 else |
1855 EvictAllUIResources(); | 1855 EvictAllUIResources(); |
1856 | 1856 |
1857 // Evict tiles immediately if invisible since this tab may never get another | 1857 // Evict tiles immediately if invisible since this tab may never get another |
1858 // draw or timer tick. | 1858 // draw or timer tick. |
1859 if (!visible_) | 1859 if (!visible_) |
1860 ManageTiles(); | 1860 PrepareTiles(); |
1861 | 1861 |
1862 if (!renderer_) | 1862 if (!renderer_) |
1863 return; | 1863 return; |
1864 | 1864 |
1865 renderer_->SetVisible(visible); | 1865 renderer_->SetVisible(visible); |
1866 } | 1866 } |
1867 | 1867 |
1868 void LayerTreeHostImpl::SetNeedsAnimate() { | 1868 void LayerTreeHostImpl::SetNeedsAnimate() { |
1869 NotifySwapPromiseMonitorsOfSetNeedsRedraw(); | 1869 NotifySwapPromiseMonitorsOfSetNeedsRedraw(); |
1870 client_->SetNeedsAnimateOnImplThread(); | 1870 client_->SetNeedsAnimateOnImplThread(); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1943 pending_tree_->set_needs_update_draw_properties(); | 1943 pending_tree_->set_needs_update_draw_properties(); |
1944 client_->UpdateRendererCapabilitiesOnImplThread(); | 1944 client_->UpdateRendererCapabilitiesOnImplThread(); |
1945 } | 1945 } |
1946 | 1946 |
1947 void LayerTreeHostImpl::CreateAndSetTileManager() { | 1947 void LayerTreeHostImpl::CreateAndSetTileManager() { |
1948 DCHECK(!tile_manager_); | 1948 DCHECK(!tile_manager_); |
1949 DCHECK(settings_.impl_side_painting); | 1949 DCHECK(settings_.impl_side_painting); |
1950 DCHECK(output_surface_); | 1950 DCHECK(output_surface_); |
1951 DCHECK(resource_provider_); | 1951 DCHECK(resource_provider_); |
1952 | 1952 |
1953 CreateResourceAndRasterWorkerPool( | 1953 CreateResourceAndTileTaskWorkerPool(&tile_task_worker_pool_, &resource_pool_, |
1954 &raster_worker_pool_, &resource_pool_, &staging_resource_pool_); | 1954 &staging_resource_pool_); |
1955 DCHECK(raster_worker_pool_); | 1955 DCHECK(tile_task_worker_pool_); |
1956 DCHECK(resource_pool_); | 1956 DCHECK(resource_pool_); |
1957 | 1957 |
1958 base::SingleThreadTaskRunner* task_runner = | 1958 base::SingleThreadTaskRunner* task_runner = |
1959 proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner() | 1959 proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner() |
1960 : proxy_->MainThreadTaskRunner(); | 1960 : proxy_->MainThreadTaskRunner(); |
1961 DCHECK(task_runner); | 1961 DCHECK(task_runner); |
1962 size_t scheduled_raster_task_limit = | 1962 size_t scheduled_raster_task_limit = |
1963 IsSynchronousSingleThreaded() ? std::numeric_limits<size_t>::max() | 1963 IsSynchronousSingleThreaded() ? std::numeric_limits<size_t>::max() |
1964 : settings_.scheduled_raster_task_limit; | 1964 : settings_.scheduled_raster_task_limit; |
1965 tile_manager_ = TileManager::Create(this, | 1965 tile_manager_ = TileManager::Create( |
1966 task_runner, | 1966 this, task_runner, resource_pool_.get(), |
1967 resource_pool_.get(), | 1967 tile_task_worker_pool_->AsTileTaskRunner(), |
1968 raster_worker_pool_->AsRasterizer(), | 1968 rendering_stats_instrumentation_, scheduled_raster_task_limit); |
1969 rendering_stats_instrumentation_, | |
1970 scheduled_raster_task_limit); | |
1971 | 1969 |
1972 UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy()); | 1970 UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy()); |
1973 } | 1971 } |
1974 | 1972 |
1975 void LayerTreeHostImpl::CreateResourceAndRasterWorkerPool( | 1973 void LayerTreeHostImpl::CreateResourceAndTileTaskWorkerPool( |
1976 scoped_ptr<RasterWorkerPool>* raster_worker_pool, | 1974 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool, |
1977 scoped_ptr<ResourcePool>* resource_pool, | 1975 scoped_ptr<ResourcePool>* resource_pool, |
1978 scoped_ptr<ResourcePool>* staging_resource_pool) { | 1976 scoped_ptr<ResourcePool>* staging_resource_pool) { |
1979 base::SingleThreadTaskRunner* task_runner = | 1977 base::SingleThreadTaskRunner* task_runner = |
1980 proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner() | 1978 proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner() |
1981 : proxy_->MainThreadTaskRunner(); | 1979 : proxy_->MainThreadTaskRunner(); |
1982 DCHECK(task_runner); | 1980 DCHECK(task_runner); |
1983 | 1981 |
1984 ContextProvider* context_provider = output_surface_->context_provider(); | 1982 ContextProvider* context_provider = output_surface_->context_provider(); |
1985 if (!context_provider) { | 1983 if (!context_provider) { |
1986 *resource_pool = | 1984 *resource_pool = |
1987 ResourcePool::Create(resource_provider_.get(), | 1985 ResourcePool::Create(resource_provider_.get(), |
1988 GL_TEXTURE_2D, | 1986 GL_TEXTURE_2D, |
1989 resource_provider_->best_texture_format()); | 1987 resource_provider_->best_texture_format()); |
1990 | 1988 |
1991 *raster_worker_pool = | 1989 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( |
1992 BitmapRasterWorkerPool::Create(task_runner, | 1990 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
1993 RasterWorkerPool::GetTaskGraphRunner(), | 1991 resource_provider_.get()); |
1994 resource_provider_.get()); | |
1995 return; | 1992 return; |
1996 } | 1993 } |
1997 | 1994 |
1998 if (use_gpu_rasterization_) { | 1995 if (use_gpu_rasterization_) { |
1999 *resource_pool = | 1996 *resource_pool = |
2000 ResourcePool::Create(resource_provider_.get(), | 1997 ResourcePool::Create(resource_provider_.get(), |
2001 GL_TEXTURE_2D, | 1998 GL_TEXTURE_2D, |
2002 resource_provider_->best_texture_format()); | 1999 resource_provider_->best_texture_format()); |
2003 | 2000 |
2004 *raster_worker_pool = | 2001 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( |
2005 GpuRasterWorkerPool::Create(task_runner, | 2002 task_runner, context_provider, resource_provider_.get(), |
2006 context_provider, | 2003 settings_.use_distance_field_text); |
2007 resource_provider_.get(), | |
2008 settings_.use_distance_field_text); | |
2009 return; | 2004 return; |
2010 } | 2005 } |
2011 | 2006 |
2012 if (GetRendererCapabilities().using_image) { | 2007 if (GetRendererCapabilities().using_image) { |
2013 unsigned image_target = settings_.use_image_texture_target; | 2008 unsigned image_target = settings_.use_image_texture_target; |
2014 DCHECK_IMPLIES( | 2009 DCHECK_IMPLIES( |
2015 image_target == GL_TEXTURE_RECTANGLE_ARB, | 2010 image_target == GL_TEXTURE_RECTANGLE_ARB, |
2016 context_provider->ContextCapabilities().gpu.texture_rectangle); | 2011 context_provider->ContextCapabilities().gpu.texture_rectangle); |
2017 DCHECK_IMPLIES( | 2012 DCHECK_IMPLIES( |
2018 image_target == GL_TEXTURE_EXTERNAL_OES, | 2013 image_target == GL_TEXTURE_EXTERNAL_OES, |
2019 context_provider->ContextCapabilities().gpu.egl_image_external); | 2014 context_provider->ContextCapabilities().gpu.egl_image_external); |
2020 | 2015 |
2021 if (settings_.use_zero_copy || IsSynchronousSingleThreaded()) { | 2016 if (settings_.use_zero_copy || IsSynchronousSingleThreaded()) { |
2022 *resource_pool = | 2017 *resource_pool = |
2023 ResourcePool::Create(resource_provider_.get(), image_target, | 2018 ResourcePool::Create(resource_provider_.get(), image_target, |
2024 resource_provider_->best_texture_format()); | 2019 resource_provider_->best_texture_format()); |
2025 | 2020 |
2026 TaskGraphRunner* task_graph_runner; | 2021 TaskGraphRunner* task_graph_runner; |
2027 if (IsSynchronousSingleThreaded()) { | 2022 if (IsSynchronousSingleThreaded()) { |
2028 DCHECK(!single_thread_synchronous_task_graph_runner_); | 2023 DCHECK(!single_thread_synchronous_task_graph_runner_); |
2029 single_thread_synchronous_task_graph_runner_.reset(new TaskGraphRunner); | 2024 single_thread_synchronous_task_graph_runner_.reset(new TaskGraphRunner); |
2030 task_graph_runner = single_thread_synchronous_task_graph_runner_.get(); | 2025 task_graph_runner = single_thread_synchronous_task_graph_runner_.get(); |
2031 } else { | 2026 } else { |
2032 task_graph_runner = RasterWorkerPool::GetTaskGraphRunner(); | 2027 task_graph_runner = TileTaskWorkerPool::GetTaskGraphRunner(); |
2033 } | 2028 } |
2034 | 2029 |
2035 *raster_worker_pool = ZeroCopyRasterWorkerPool::Create( | 2030 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( |
2036 task_runner, task_graph_runner, resource_provider_.get()); | 2031 task_runner, task_graph_runner, resource_provider_.get()); |
2037 return; | 2032 return; |
2038 } | 2033 } |
2039 | 2034 |
2040 if (settings_.use_one_copy) { | 2035 if (settings_.use_one_copy) { |
2041 // We need to create a staging resource pool when using copy rasterizer. | 2036 // We need to create a staging resource pool when using copy rasterizer. |
2042 *staging_resource_pool = | 2037 *staging_resource_pool = |
2043 ResourcePool::Create(resource_provider_.get(), image_target, | 2038 ResourcePool::Create(resource_provider_.get(), image_target, |
2044 resource_provider_->best_texture_format()); | 2039 resource_provider_->best_texture_format()); |
2045 *resource_pool = | 2040 *resource_pool = |
2046 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D, | 2041 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D, |
2047 resource_provider_->best_texture_format()); | 2042 resource_provider_->best_texture_format()); |
2048 | 2043 |
2049 *raster_worker_pool = OneCopyRasterWorkerPool::Create( | 2044 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( |
2050 task_runner, RasterWorkerPool::GetTaskGraphRunner(), context_provider, | 2045 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
2051 resource_provider_.get(), staging_resource_pool_.get()); | 2046 context_provider, resource_provider_.get(), |
| 2047 staging_resource_pool_.get()); |
2052 return; | 2048 return; |
2053 } | 2049 } |
2054 } | 2050 } |
2055 | 2051 |
2056 *resource_pool = ResourcePool::Create( | 2052 *resource_pool = ResourcePool::Create( |
2057 resource_provider_.get(), GL_TEXTURE_2D, | 2053 resource_provider_.get(), GL_TEXTURE_2D, |
2058 resource_provider_->memory_efficient_texture_format()); | 2054 resource_provider_->memory_efficient_texture_format()); |
2059 | 2055 |
2060 *raster_worker_pool = PixelBufferRasterWorkerPool::Create( | 2056 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( |
2061 task_runner, RasterWorkerPool::GetTaskGraphRunner(), context_provider, | 2057 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), context_provider, |
2062 resource_provider_.get(), | 2058 resource_provider_.get(), |
2063 GetMaxTransferBufferUsageBytes(context_provider->ContextCapabilities(), | 2059 GetMaxTransferBufferUsageBytes(context_provider->ContextCapabilities(), |
2064 settings_.renderer_settings.refresh_rate)); | 2060 settings_.renderer_settings.refresh_rate)); |
2065 } | 2061 } |
2066 | 2062 |
2067 void LayerTreeHostImpl::DestroyTileManager() { | 2063 void LayerTreeHostImpl::DestroyTileManager() { |
2068 tile_manager_ = nullptr; | 2064 tile_manager_ = nullptr; |
2069 resource_pool_ = nullptr; | 2065 resource_pool_ = nullptr; |
2070 staging_resource_pool_ = nullptr; | 2066 staging_resource_pool_ = nullptr; |
2071 raster_worker_pool_ = nullptr; | 2067 tile_task_worker_pool_ = nullptr; |
2072 single_thread_synchronous_task_graph_runner_ = nullptr; | 2068 single_thread_synchronous_task_graph_runner_ = nullptr; |
2073 } | 2069 } |
2074 | 2070 |
2075 bool LayerTreeHostImpl::UsePendingTreeForSync() const { | 2071 bool LayerTreeHostImpl::UsePendingTreeForSync() const { |
2076 // In impl-side painting, synchronize to the pending tree so that it has | 2072 // In impl-side painting, synchronize to the pending tree so that it has |
2077 // time to raster before being displayed. | 2073 // time to raster before being displayed. |
2078 return settings_.impl_side_painting; | 2074 return settings_.impl_side_painting; |
2079 } | 2075 } |
2080 | 2076 |
2081 bool LayerTreeHostImpl::IsSynchronousSingleThreaded() const { | 2077 bool LayerTreeHostImpl::IsSynchronousSingleThreaded() const { |
(...skipping 1402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3484 } | 3480 } |
3485 | 3481 |
3486 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { | 3482 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { |
3487 std::vector<PictureLayerImpl*>::iterator it = | 3483 std::vector<PictureLayerImpl*>::iterator it = |
3488 std::find(picture_layers_.begin(), picture_layers_.end(), layer); | 3484 std::find(picture_layers_.begin(), picture_layers_.end(), layer); |
3489 DCHECK(it != picture_layers_.end()); | 3485 DCHECK(it != picture_layers_.end()); |
3490 picture_layers_.erase(it); | 3486 picture_layers_.erase(it); |
3491 } | 3487 } |
3492 | 3488 |
3493 } // namespace cc | 3489 } // namespace cc |
OLD | NEW |