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

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

Issue 157293002: cc: Refactor WorkerPoolTaskClient::AcquireBufferForRaster (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed cc_perftests compile error Created 6 years, 10 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 | « cc/resources/image_raster_worker_pool.h ('k') | cc/resources/pixel_buffer_raster_worker_pool.h » ('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 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 task->CompleteOnOriginThread(this); 133 task->CompleteOnOriginThread(this);
134 task->DidComplete(); 134 task->DidComplete();
135 135
136 task->RunReplyOnOriginThread(); 136 task->RunReplyOnOriginThread();
137 } 137 }
138 completed_tasks_.clear(); 138 completed_tasks_.clear();
139 139
140 CheckForCompletedGpuRasterTasks(); 140 CheckForCompletedGpuRasterTasks();
141 } 141 }
142 142
143 void* ImageRasterWorkerPool::AcquireBufferForRaster( 143 SkCanvas* ImageRasterWorkerPool::AcquireCanvasForRaster(
144 internal::RasterWorkerPoolTask* task, 144 internal::RasterWorkerPoolTask* task) {
145 int* stride) { 145 if (task->use_gpu_rasterization())
146 // Acquire image for resource. 146 return resource_provider()->MapDirectRasterBuffer(task->resource()->id());
147 resource_provider()->AcquireImage(task->resource()->id());
148 147
149 *stride = resource_provider()->GetImageStride(task->resource()->id()); 148 return resource_provider()->MapImageRasterBuffer(task->resource()->id());
150 return resource_provider()->MapImage(task->resource()->id());
151 } 149 }
152 150
153 void ImageRasterWorkerPool::OnRasterCompleted( 151 void ImageRasterWorkerPool::OnRasterCompleted(
154 internal::RasterWorkerPoolTask* task, 152 internal::RasterWorkerPoolTask* task,
155 const PicturePileImpl::Analysis& analysis) { 153 const PicturePileImpl::Analysis& analysis) {
156 resource_provider()->UnmapImage(task->resource()->id()); 154 if (task->use_gpu_rasterization()) {
155 resource_provider()->UnmapDirectRasterBuffer(task->resource()->id());
156 return;
157 }
158 resource_provider()->UnmapImageRasterBuffer(task->resource()->id());
157 } 159 }
158 160
159 void ImageRasterWorkerPool::OnImageDecodeCompleted( 161 void ImageRasterWorkerPool::OnImageDecodeCompleted(
160 internal::WorkerPoolTask* task) {} 162 internal::WorkerPoolTask* task) {}
161 163
162 void ImageRasterWorkerPool::OnRasterTasksFinished() { 164 void ImageRasterWorkerPool::OnRasterTasksFinished() {
163 DCHECK(raster_tasks_pending_); 165 DCHECK(raster_tasks_pending_);
164 raster_tasks_pending_ = false; 166 raster_tasks_pending_ = false;
165 TRACE_EVENT_ASYNC_END0("cc", "ScheduledTasks", this); 167 TRACE_EVENT_ASYNC_END0("cc", "ScheduledTasks", this);
166 client()->DidFinishRunningTasks(); 168 client()->DidFinishRunningTasks();
(...skipping 14 matching lines...) Expand all
181 183
182 scoped_ptr<base::Value> ImageRasterWorkerPool::StateAsValue() const { 184 scoped_ptr<base::Value> ImageRasterWorkerPool::StateAsValue() const {
183 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue); 185 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue);
184 186
185 state->SetBoolean("tasks_required_for_activation_pending", 187 state->SetBoolean("tasks_required_for_activation_pending",
186 raster_tasks_required_for_activation_pending_); 188 raster_tasks_required_for_activation_pending_);
187 return state.PassAs<base::Value>(); 189 return state.PassAs<base::Value>();
188 } 190 }
189 191
190 } // namespace cc 192 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/image_raster_worker_pool.h ('k') | cc/resources/pixel_buffer_raster_worker_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698