diff options
Diffstat (limited to 'chromium/cc/resources/tile_manager.cc')
-rw-r--r-- | chromium/cc/resources/tile_manager.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/chromium/cc/resources/tile_manager.cc b/chromium/cc/resources/tile_manager.cc index 2fbb6d18913..58a697312ad 100644 --- a/chromium/cc/resources/tile_manager.cc +++ b/chromium/cc/resources/tile_manager.cc @@ -170,6 +170,7 @@ scoped_ptr<TileManager> TileManager::Create( size_t num_raster_threads, RenderingStatsInstrumentation* rendering_stats_instrumentation, bool use_map_image, + bool use_rasterize_on_demand, size_t max_transfer_buffer_usage_bytes, size_t max_raster_usage_bytes, GLenum map_image_texture_target) { @@ -187,7 +188,8 @@ scoped_ptr<TileManager> TileManager::Create( max_transfer_buffer_usage_bytes), num_raster_threads, max_raster_usage_bytes, - rendering_stats_instrumentation)); + rendering_stats_instrumentation, + use_rasterize_on_demand)); } TileManager::TileManager( @@ -196,7 +198,8 @@ TileManager::TileManager( scoped_ptr<RasterWorkerPool> raster_worker_pool, size_t num_raster_threads, size_t max_raster_usage_bytes, - RenderingStatsInstrumentation* rendering_stats_instrumentation) + RenderingStatsInstrumentation* rendering_stats_instrumentation, + bool use_rasterize_on_demand) : client_(client), resource_pool_(ResourcePool::Create( resource_provider, @@ -214,7 +217,8 @@ TileManager::TileManager( ever_exceeded_memory_budget_(false), rendering_stats_instrumentation_(rendering_stats_instrumentation), did_initialize_visible_tile_(false), - did_check_for_completed_tasks_since_last_schedule_tasks_(true) { + did_check_for_completed_tasks_since_last_schedule_tasks_(true), + use_rasterize_on_demand_(use_rasterize_on_demand) { raster_worker_pool_->SetClient(this); } @@ -328,7 +332,8 @@ void TileManager::DidFinishRunningTasks() { // If we can't raster on demand, give up early (and don't activate). if (!allow_rasterize_on_demand) return; - tile_version.set_rasterize_on_demand(); + if (use_rasterize_on_demand_) + tile_version.set_rasterize_on_demand(); } } @@ -706,7 +711,7 @@ void TileManager::AssignGpuMemoryToTiles( // This tile was already on screen and now its resources have been // released. In order to prevent checkerboarding, set this tile as // rasterize on demand immediately. - if (mts.visible_and_ready_to_draw) + if (mts.visible_and_ready_to_draw && use_rasterize_on_demand_) tile_version.set_rasterize_on_demand(); oomed = true; |