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

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

Issue 24153017: cc: Always check for completed raster tasks before scheduling more tasks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix unit tests Created 7 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/resources/pixel_buffer_raster_worker_pool.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/image_raster_worker_pool.h" 5 #include "cc/resources/image_raster_worker_pool.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "cc/debug/traced_value.h" 9 #include "cc/debug/traced_value.h"
10 #include "cc/resources/resource.h" 10 #include "cc/resources/resource.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 scoped_refptr<internal::WorkerPoolTask> new_raster_finished_task( 93 scoped_refptr<internal::WorkerPoolTask> new_raster_finished_task(
94 CreateRasterFinishedTask()); 94 CreateRasterFinishedTask());
95 internal::GraphNode* raster_finished_node = 95 internal::GraphNode* raster_finished_node =
96 CreateGraphNodeForTask(new_raster_finished_task.get(), 96 CreateGraphNodeForTask(new_raster_finished_task.get(),
97 priority++, 97 priority++,
98 &graph); 98 &graph);
99 99
100 for (RasterTaskVector::const_iterator it = raster_tasks().begin(); 100 for (RasterTaskVector::const_iterator it = raster_tasks().begin();
101 it != raster_tasks().end(); ++it) { 101 it != raster_tasks().end(); ++it) {
102 internal::RasterWorkerPoolTask* task = it->get(); 102 internal::RasterWorkerPoolTask* task = it->get();
103 DCHECK(!task->HasCompleted());
104 DCHECK(!task->WasCanceled());
103 105
104 TaskMap::iterator image_it = image_tasks_.find(task); 106 TaskMap::iterator image_it = image_tasks_.find(task);
105 if (image_it != image_tasks_.end()) { 107 if (image_it != image_tasks_.end()) {
106 internal::WorkerPoolTask* image_task = image_it->second.get(); 108 internal::WorkerPoolTask* image_task = image_it->second.get();
107 CreateGraphNodeForImageTask( 109 CreateGraphNodeForImageTask(
108 image_task, 110 image_task,
109 task->dependencies(), 111 task->dependencies(),
110 priority++, 112 priority++,
111 IsRasterTaskRequiredForActivation(task), 113 IsRasterTaskRequiredForActivation(task),
112 raster_required_for_activation_finished_node, 114 raster_required_for_activation_finished_node,
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 if (is_required_for_activation) { 220 if (is_required_for_activation) {
219 raster_required_for_activation_finished_node->add_dependency(); 221 raster_required_for_activation_finished_node->add_dependency();
220 image_node->add_dependent(raster_required_for_activation_finished_node); 222 image_node->add_dependent(raster_required_for_activation_finished_node);
221 } 223 }
222 224
223 raster_finished_node->add_dependency(); 225 raster_finished_node->add_dependency();
224 image_node->add_dependent(raster_finished_node); 226 image_node->add_dependent(raster_finished_node);
225 } 227 }
226 228
227 } // namespace cc 229 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/resources/pixel_buffer_raster_worker_pool.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698