| Index: content/common/gpu/client/gpu_memory_buffer_impl_io_surface.cc
|
| diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_io_surface.cc b/content/common/gpu/client/gpu_memory_buffer_impl_io_surface.cc
|
| index f16125bfa181f8e5bd51abfe54c0d48b3d453511..0b8f0871b9801844d077a1539e0514514606de40 100644
|
| --- a/content/common/gpu/client/gpu_memory_buffer_impl_io_surface.cc
|
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl_io_surface.cc
|
| @@ -61,7 +61,9 @@ bool GpuMemoryBufferImplIOSurface::Map(void** data) {
|
| IOReturn status = IOSurfaceLock(io_surface_, lock_flags_, NULL);
|
| DCHECK_NE(status, kIOReturnCannotLock);
|
| mapped_ = true;
|
| - *data = IOSurfaceGetBaseAddress(io_surface_);
|
| + size_t num_planes = GpuMemoryBuffer::NumberOfPlanes(GetFormat());
|
| + for (size_t plane = 0; plane < num_planes; ++plane)
|
| + data[plane] = IOSurfaceGetBaseAddressOfPlane(io_surface_, plane);
|
| return true;
|
| }
|
|
|
| @@ -71,8 +73,10 @@ void GpuMemoryBufferImplIOSurface::Unmap() {
|
| mapped_ = false;
|
| }
|
|
|
| -void GpuMemoryBufferImplIOSurface::GetStride(int* stride) const {
|
| - *stride = IOSurfaceGetBytesPerRow(io_surface_);
|
| +void GpuMemoryBufferImplIOSurface::GetStride(int* strides) const {
|
| + size_t num_planes = GpuMemoryBuffer::NumberOfPlanes(GetFormat());
|
| + for (size_t plane = 0; plane < num_planes; ++plane)
|
| + strides[plane] = IOSurfaceGetBytesPerRowOfPlane(io_surface_, plane);
|
| }
|
|
|
| gfx::GpuMemoryBufferHandle GpuMemoryBufferImplIOSurface::GetHandle() const {
|
|
|