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

Unified 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: implement acquire/release/map/unmap 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 side-by-side diff with in-line comments
Download patch
Index: cc/resources/image_raster_worker_pool.cc
diff --git a/cc/resources/image_raster_worker_pool.cc b/cc/resources/image_raster_worker_pool.cc
index 45cd08f4102f984c5e69b86881e312f4e6c03149..860b4cca2469178d90ea77f65d593c4da5bdba82 100644
--- a/cc/resources/image_raster_worker_pool.cc
+++ b/cc/resources/image_raster_worker_pool.cc
@@ -130,20 +130,21 @@ void ImageRasterWorkerPool::CheckForCompletedTasks() {
CheckForCompletedGpuRasterTasks();
}
-void* ImageRasterWorkerPool::AcquireBufferForRaster(
- internal::RasterWorkerPoolTask* task,
- int* stride) {
- // Acquire image for resource.
- resource_provider()->AcquireImage(task->resource()->id());
-
- *stride = resource_provider()->GetImageStride(task->resource()->id());
- return resource_provider()->MapImage(task->resource()->id());
+SkCanvas* ImageRasterWorkerPool::AcquireCanvasForRaster(
+ internal::RasterWorkerPoolTask* task) {
+ if (task->use_gpu_rasterization())
+ return RasterWorkerPool::AcquireCanvasForRaster(task);
+ return resource_provider()->MapImageRasterBuffer(task->resource()->id());
}
void ImageRasterWorkerPool::OnRasterCompleted(
internal::RasterWorkerPoolTask* task,
const PicturePileImpl::Analysis& analysis) {
- resource_provider()->UnmapImage(task->resource()->id());
+ if (task->use_gpu_rasterization()) {
+ RasterWorkerPool::OnRasterCompleted(task, analysis);
+ return;
+ }
+ resource_provider()->UnmapImageRasterBuffer(task->resource()->id());
}
void ImageRasterWorkerPool::OnImageDecodeCompleted(

Powered by Google App Engine
This is Rietveld 408576698