Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: cc/resources/tile_manager.cc

Issue 1028333002: Chromium -> Mojo roll. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/resources/tile.cc ('k') | cc/resources/tile_manager_perftest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/resources/tile_manager.h" 5 #include "cc/resources/tile_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 10
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 did_check_for_completed_tasks_since_last_schedule_tasks_ = true; 359 did_check_for_completed_tasks_since_last_schedule_tasks_ = true;
360 } 360 }
361 361
362 FreeResourcesForReleasedTiles(); 362 FreeResourcesForReleasedTiles();
363 CleanUpReleasedTiles(); 363 CleanUpReleasedTiles();
364 364
365 TileVector tiles_that_need_to_be_rasterized; 365 TileVector tiles_that_need_to_be_rasterized;
366 scoped_ptr<RasterTilePriorityQueue> raster_priority_queue( 366 scoped_ptr<RasterTilePriorityQueue> raster_priority_queue(
367 client_->BuildRasterQueue(global_state_.tree_priority, 367 client_->BuildRasterQueue(global_state_.tree_priority,
368 RasterTilePriorityQueue::Type::ALL)); 368 RasterTilePriorityQueue::Type::ALL));
369 // Inform the client that will likely require a draw if the top tile is
370 // required for draw.
371 client_->SetIsLikelyToRequireADraw(
372 !raster_priority_queue->IsEmpty() &&
373 raster_priority_queue->Top()->required_for_draw());
374 AssignGpuMemoryToTiles(raster_priority_queue.get(), 369 AssignGpuMemoryToTiles(raster_priority_queue.get(),
375 scheduled_raster_task_limit_, 370 scheduled_raster_task_limit_,
376 &tiles_that_need_to_be_rasterized); 371 &tiles_that_need_to_be_rasterized);
377 372
373 // Inform the client that will likely require a draw if the highest priority
374 // tile that will be rasterized is required for draw.
375 client_->SetIsLikelyToRequireADraw(
376 !tiles_that_need_to_be_rasterized.empty() &&
377 (*tiles_that_need_to_be_rasterized.begin())->required_for_draw());
378
378 // Schedule tile tasks. 379 // Schedule tile tasks.
379 ScheduleTasks(tiles_that_need_to_be_rasterized); 380 ScheduleTasks(tiles_that_need_to_be_rasterized);
380 381
381 did_notify_ready_to_activate_ = false; 382 did_notify_ready_to_activate_ = false;
382 did_notify_ready_to_draw_ = false; 383 did_notify_ready_to_draw_ = false;
383 } else { 384 } else {
384 if (global_state_.hard_memory_limit_in_bytes == 0) { 385 if (global_state_.hard_memory_limit_in_bytes == 0) {
385 resource_pool_->CheckBusyResources(false); 386 resource_pool_->CheckBusyResources(false);
386 MemoryUsage memory_limit(0, 0); 387 MemoryUsage memory_limit(0, 0);
387 MemoryUsage memory_usage(resource_pool_->acquired_memory_usage_bytes(), 388 MemoryUsage memory_usage(resource_pool_->acquired_memory_usage_bytes(),
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
1052 result -= other; 1053 result -= other;
1053 return result; 1054 return result;
1054 } 1055 }
1055 1056
1056 bool TileManager::MemoryUsage::Exceeds(const MemoryUsage& limit) const { 1057 bool TileManager::MemoryUsage::Exceeds(const MemoryUsage& limit) const {
1057 return memory_bytes_ > limit.memory_bytes_ || 1058 return memory_bytes_ > limit.memory_bytes_ ||
1058 resource_count_ > limit.resource_count_; 1059 resource_count_ > limit.resource_count_;
1059 } 1060 }
1060 1061
1061 } // namespace cc 1062 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/tile.cc ('k') | cc/resources/tile_manager_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698