summaryrefslogtreecommitdiff
path: root/chromium/cc/resources/tile_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/resources/tile_manager.cc')
-rw-r--r--chromium/cc/resources/tile_manager.cc15
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;