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 2120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2131 // draw when raster is complete. Therefore, it must use one of zero | 2131 // draw when raster is complete. Therefore, it must use one of zero |
2132 // copy, software raster, or GPU raster. | 2132 // copy, software raster, or GPU raster. |
2133 DCHECK(!IsSynchronousSingleThreaded()); | 2133 DCHECK(!IsSynchronousSingleThreaded()); |
2134 | 2134 |
2135 // We need to create a staging resource pool when using copy rasterizer. | 2135 // We need to create a staging resource pool when using copy rasterizer. |
2136 *staging_resource_pool = | 2136 *staging_resource_pool = |
2137 ResourcePool::Create(resource_provider_.get(), image_target); | 2137 ResourcePool::Create(resource_provider_.get(), image_target); |
2138 *resource_pool = | 2138 *resource_pool = |
2139 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D); | 2139 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D); |
2140 | 2140 |
| 2141 int max_copy_texture_chromium_size = |
| 2142 context_provider->ContextCapabilities() |
| 2143 .gpu.max_copy_texture_chromium_size; |
| 2144 |
2141 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( | 2145 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( |
2142 task_runner, task_graph_runner, context_provider, | 2146 task_runner, task_graph_runner, context_provider, |
2143 resource_provider_.get(), staging_resource_pool_.get(), | 2147 resource_provider_.get(), staging_resource_pool_.get(), |
2144 settings_.max_bytes_per_copy_operation, | 2148 max_copy_texture_chromium_size, |
2145 settings_.use_persistent_map_for_gpu_memory_buffers); | 2149 settings_.use_persistent_map_for_gpu_memory_buffers); |
2146 return; | 2150 return; |
2147 } | 2151 } |
2148 | 2152 |
2149 // Synchronous single-threaded mode depends on tiles being ready to | 2153 // Synchronous single-threaded mode depends on tiles being ready to |
2150 // draw when raster is complete. Therefore, it must use one of zero | 2154 // draw when raster is complete. Therefore, it must use one of zero |
2151 // copy, software raster, or GPU raster (in the branches above). | 2155 // copy, software raster, or GPU raster (in the branches above). |
2152 DCHECK(!IsSynchronousSingleThreaded()); | 2156 DCHECK(!IsSynchronousSingleThreaded()); |
2153 | 2157 |
2154 *resource_pool = ResourcePool::Create( | 2158 *resource_pool = ResourcePool::Create( |
(...skipping 1303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3458 new_target.SetToMin(layer_impl->MaxScrollOffset()); | 3462 new_target.SetToMin(layer_impl->MaxScrollOffset()); |
3459 | 3463 |
3460 curve->UpdateTarget( | 3464 curve->UpdateTarget( |
3461 animation->TrimTimeToCurrentIteration(CurrentBeginFrameArgs().frame_time) | 3465 animation->TrimTimeToCurrentIteration(CurrentBeginFrameArgs().frame_time) |
3462 .InSecondsF(), | 3466 .InSecondsF(), |
3463 new_target); | 3467 new_target); |
3464 | 3468 |
3465 return true; | 3469 return true; |
3466 } | 3470 } |
3467 } // namespace cc | 3471 } // namespace cc |
OLD | NEW |