| Index: cc/resources/pixel_buffer_raster_worker_pool.cc
|
| diff --git a/cc/resources/pixel_buffer_raster_worker_pool.cc b/cc/resources/pixel_buffer_raster_worker_pool.cc
|
| index 32a79aa97ccb1ece69a24399a70f22444ad9a7c0..a0a1604227431b5efce987dc031a940cf0088905 100644
|
| --- a/cc/resources/pixel_buffer_raster_worker_pool.cc
|
| +++ b/cc/resources/pixel_buffer_raster_worker_pool.cc
|
| @@ -216,19 +216,22 @@ void PixelBufferRasterWorkerPool::CheckForCompletedTasks() {
|
| CheckForCompletedGpuRasterTasks();
|
| }
|
|
|
| -void* PixelBufferRasterWorkerPool::AcquireBufferForRaster(
|
| - internal::RasterWorkerPoolTask* task,
|
| - int* stride) {
|
| - // Request a pixel buffer. This will reserve shared memory.
|
| - resource_provider()->AcquirePixelBuffer(task->resource()->id());
|
| -
|
| - *stride = 0;
|
| - return resource_provider()->MapPixelBuffer(task->resource()->id());
|
| +SkCanvas* PixelBufferRasterWorkerPool::AcquireCanvasForRaster(
|
| + internal::RasterWorkerPoolTask* task) {
|
| + if (task->use_gpu_rasterization())
|
| + return RasterWorkerPool::AcquireCanvasForRaster(task);
|
| + resource_provider()->AcquirePixelRasterBuffer(task->resource()->id());
|
| + return resource_provider()->MapPixelRasterBuffer(task->resource()->id());
|
| }
|
|
|
| void PixelBufferRasterWorkerPool::OnRasterCompleted(
|
| internal::RasterWorkerPoolTask* task,
|
| const PicturePileImpl::Analysis& analysis) {
|
| + if (task->use_gpu_rasterization()) {
|
| + RasterWorkerPool::OnRasterCompleted(task, analysis);
|
| + return;
|
| + }
|
| +
|
| TRACE_EVENT2(TRACE_DISABLED_BY_DEFAULT("cc"),
|
| "PixelBufferRasterWorkerPool::OnRasterCompleted",
|
| "was_canceled",
|
| @@ -239,11 +242,11 @@ void PixelBufferRasterWorkerPool::OnRasterCompleted(
|
| DCHECK(raster_task_states_.find(task) != raster_task_states_.end());
|
| DCHECK_EQ(SCHEDULED, raster_task_states_[task]);
|
|
|
| - // Balanced with MapPixelBuffer() call in AcquireBufferForRaster().
|
| - resource_provider()->UnmapPixelBuffer(task->resource()->id());
|
| + // Balanced with MapPixelRasterBuffer() call in AcquireCanvasForRaster().
|
| + resource_provider()->UnmapPixelRasterBuffer(task->resource()->id());
|
|
|
| if (!task->HasFinishedRunning() || analysis.is_solid_color) {
|
| - resource_provider()->ReleasePixelBuffer(task->resource()->id());
|
| + resource_provider()->ReleasePixelRasterBuffer(task->resource()->id());
|
|
|
| if (!task->HasFinishedRunning()) {
|
| // When priorites change, a raster task can be canceled as a result of
|
| @@ -376,7 +379,7 @@ void PixelBufferRasterWorkerPool::CheckForCompletedUploads() {
|
| tasks_with_completed_uploads.front().get();
|
|
|
| // It's now safe to release the pixel buffer and the shared memory.
|
| - resource_provider()->ReleasePixelBuffer(task->resource()->id());
|
| + resource_provider()->ReleasePixelRasterBuffer(task->resource()->id());
|
|
|
| bytes_pending_upload_ -= task->resource()->bytes();
|
|
|
|
|