Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index dd485ba6b759e709edb3ac1f02311cbdbf6012a8..ea8a29f46560dbaf88d13c08f9247dd7c3da857a 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1589,11 +1589,13 @@ void LayerTreeHostImpl::SetUseGpuRasterization(bool use_gpu) { |
if (use_gpu == use_gpu_rasterization_) |
return; |
+ // Note that this must happen first, in case the rest of the calls want to |
+ // query the new state of |use_gpu_rasterization_|. |
use_gpu_rasterization_ = use_gpu; |
- ReleaseTreeResources(); |
- // Replace existing tile manager with another one that uses appropriate |
- // rasterizer. |
+ // Clean up and replace existing tile manager with another one that uses |
+ // appropriate rasterizer. |
+ ReleaseTreeResources(); |
if (tile_manager_) { |
DestroyTileManager(); |
CreateAndSetTileManager(); |
@@ -1964,8 +1966,7 @@ void LayerTreeHostImpl::CreateAndSetTileManager() { |
: settings_.scheduled_raster_task_limit; |
tile_manager_ = TileManager::Create( |
this, task_runner, resource_pool_.get(), |
- tile_task_worker_pool_->AsTileTaskRunner(), |
- rendering_stats_instrumentation_, scheduled_raster_task_limit); |
+ tile_task_worker_pool_->AsTileTaskRunner(), scheduled_raster_task_limit); |
UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy()); |
} |