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 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 2115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2126 | 2126 |
2127 // We need to create a staging resource pool when using copy rasterizer. | 2127 // We need to create a staging resource pool when using copy rasterizer. |
2128 *staging_resource_pool = | 2128 *staging_resource_pool = |
2129 ResourcePool::Create(resource_provider_.get(), image_target); | 2129 ResourcePool::Create(resource_provider_.get(), image_target); |
2130 *resource_pool = | 2130 *resource_pool = |
2131 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D); | 2131 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D); |
2132 | 2132 |
2133 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( | 2133 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( |
2134 task_runner, task_graph_runner, context_provider, | 2134 task_runner, task_graph_runner, context_provider, |
2135 resource_provider_.get(), staging_resource_pool_.get(), | 2135 resource_provider_.get(), staging_resource_pool_.get(), |
2136 settings_.max_bytes_per_copy_operation); | 2136 settings_.max_bytes_per_copy_operation, |
| 2137 settings_.use_persistent_map_for_gpu_memory_buffers); |
2137 return; | 2138 return; |
2138 } | 2139 } |
2139 | 2140 |
2140 // Synchronous single-threaded mode depends on tiles being ready to | 2141 // Synchronous single-threaded mode depends on tiles being ready to |
2141 // draw when raster is complete. Therefore, it must use one of zero | 2142 // draw when raster is complete. Therefore, it must use one of zero |
2142 // copy, software raster, or GPU raster (in the branches above). | 2143 // copy, software raster, or GPU raster (in the branches above). |
2143 DCHECK(!IsSynchronousSingleThreaded()); | 2144 DCHECK(!IsSynchronousSingleThreaded()); |
2144 | 2145 |
2145 *resource_pool = ResourcePool::Create( | 2146 *resource_pool = ResourcePool::Create( |
2146 resource_provider_.get(), GL_TEXTURE_2D); | 2147 resource_provider_.get(), GL_TEXTURE_2D); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2199 // point). | 2200 // point). |
2200 return false; | 2201 return false; |
2201 } | 2202 } |
2202 | 2203 |
2203 output_surface_ = output_surface.Pass(); | 2204 output_surface_ = output_surface.Pass(); |
2204 resource_provider_ = ResourceProvider::Create( | 2205 resource_provider_ = ResourceProvider::Create( |
2205 output_surface_.get(), shared_bitmap_manager_, gpu_memory_buffer_manager_, | 2206 output_surface_.get(), shared_bitmap_manager_, gpu_memory_buffer_manager_, |
2206 proxy_->blocking_main_thread_task_runner(), | 2207 proxy_->blocking_main_thread_task_runner(), |
2207 settings_.renderer_settings.highp_threshold_min, | 2208 settings_.renderer_settings.highp_threshold_min, |
2208 settings_.renderer_settings.use_rgba_4444_textures, | 2209 settings_.renderer_settings.use_rgba_4444_textures, |
2209 settings_.renderer_settings.texture_id_allocation_chunk_size); | 2210 settings_.renderer_settings.texture_id_allocation_chunk_size, |
| 2211 settings_.use_persistent_map_for_gpu_memory_buffers); |
2210 | 2212 |
2211 CreateAndSetRenderer(); | 2213 CreateAndSetRenderer(); |
2212 | 2214 |
2213 // Since the new renderer may be capable of MSAA, update status here. | 2215 // Since the new renderer may be capable of MSAA, update status here. |
2214 UpdateGpuRasterizationStatus(); | 2216 UpdateGpuRasterizationStatus(); |
2215 | 2217 |
2216 if (settings_.impl_side_painting && settings_.raster_enabled) | 2218 if (settings_.impl_side_painting && settings_.raster_enabled) |
2217 CreateAndSetTileManager(); | 2219 CreateAndSetTileManager(); |
2218 RecreateTreeResources(); | 2220 RecreateTreeResources(); |
2219 | 2221 |
(...skipping 1215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3435 new_target.SetToMin(layer_impl->MaxScrollOffset()); | 3437 new_target.SetToMin(layer_impl->MaxScrollOffset()); |
3436 | 3438 |
3437 curve->UpdateTarget( | 3439 curve->UpdateTarget( |
3438 animation->TrimTimeToCurrentIteration(CurrentBeginFrameArgs().frame_time) | 3440 animation->TrimTimeToCurrentIteration(CurrentBeginFrameArgs().frame_time) |
3439 .InSecondsF(), | 3441 .InSecondsF(), |
3440 new_target); | 3442 new_target); |
3441 | 3443 |
3442 return true; | 3444 return true; |
3443 } | 3445 } |
3444 } // namespace cc | 3446 } // namespace cc |
OLD | NEW |