| Index: cc/resources/tile_manager.cc
|
| diff --git a/cc/resources/tile_manager.cc b/cc/resources/tile_manager.cc
|
| index 3e91167866031a18cb3c342f37f4f1fa4c9d3c1b..c6b547bb5436e75c7a97cedff36592de21438a3e 100644
|
| --- a/cc/resources/tile_manager.cc
|
| +++ b/cc/resources/tile_manager.cc
|
| @@ -124,7 +124,8 @@ scoped_ptr<TileManager> TileManager::Create(
|
| ResourceProvider* resource_provider,
|
| size_t num_raster_threads,
|
| RenderingStatsInstrumentation* rendering_stats_instrumentation,
|
| - bool use_map_image) {
|
| + bool use_map_image,
|
| + ContextProvider* context_provider) {
|
| return make_scoped_ptr(
|
| new TileManager(client,
|
| resource_provider,
|
| @@ -132,7 +133,9 @@ scoped_ptr<TileManager> TileManager::Create(
|
| ImageRasterWorkerPool::Create(
|
| resource_provider, num_raster_threads) :
|
| PixelBufferRasterWorkerPool::Create(
|
| - resource_provider, num_raster_threads),
|
| + resource_provider,
|
| + num_raster_threads,
|
| + GetMaxBytesPendingUpload(context_provider)),
|
| num_raster_threads,
|
| rendering_stats_instrumentation));
|
| }
|
| @@ -854,4 +857,17 @@ void TileManager::OnRasterTaskCompleted(
|
| did_initialize_visible_tile_ = true;
|
| }
|
|
|
| +// static
|
| +size_t TileManager::GetMaxBytesPendingUpload(
|
| + ContextProvider* context_provider) {
|
| + if (context_provider != NULL) {
|
| + return
|
| + context_provider->ContextCapabilities().max_transfer_buffer_usage_bytes;
|
| + } else {
|
| + // Software compositing should not use this path in production. Just use a
|
| + // default value when testing this path with software compositor.
|
| + return std::numeric_limits<size_t>::max();
|
| + }
|
| +}
|
| +
|
| } // namespace cc
|
|
|