Index: cc/resources/zero_copy_tile_task_worker_pool.cc |
diff --git a/cc/resources/zero_copy_tile_task_worker_pool.cc b/cc/resources/zero_copy_tile_task_worker_pool.cc |
index 8b80aa3292207d48f52c5033bb2b121fec3b9441..4529ad648e426aed53ae9bee59e971915c3c95f0 100644 |
--- a/cc/resources/zero_copy_tile_task_worker_pool.cc |
+++ b/cc/resources/zero_copy_tile_task_worker_pool.cc |
@@ -31,9 +31,20 @@ class RasterBufferImpl : public RasterBuffer { |
if (!gpu_memory_buffer) |
return; |
- TileTaskWorkerPool::PlaybackToMemory( |
- gpu_memory_buffer->Map(), resource_->format(), resource_->size(), |
- gpu_memory_buffer->GetStride(), raster_source, rect, scale); |
+ size_t num_buffers = gpu_memory_buffer->GetNumberOfPlanes(); |
reveman
2015/03/23 22:24:00
Same here. No need to support multi-plane formats.
reveman
2015/03/23 22:24:01
Same here. This code can assume one plane.
emircan
2015/03/24 16:52:26
Done.
|
+ DCHECK_EQ(num_buffers, 1u); |
+ |
+ void* mapped_buffers[num_buffers]; |
+ bool map_completed = gpu_memory_buffer->Map(mapped_buffers); |
+ DCHECK(map_completed); |
+ |
+ uint32 strides[num_buffers]; |
+ bool getStride_completed = gpu_memory_buffer->GetStride(strides); |
+ DCHECK(getStride_completed); |
+ |
+ TileTaskWorkerPool::PlaybackToMemory(mapped_buffers[0], resource_->format(), |
+ resource_->size(), strides[0], |
+ raster_source, rect, scale); |
gpu_memory_buffer->Unmap(); |
} |