Chromium Code Reviews| Index: content/common/gpu/client/gpu_memory_buffer_impl.cc |
| diff --git a/content/common/gpu/client/gpu_memory_buffer_impl.cc b/content/common/gpu/client/gpu_memory_buffer_impl.cc |
| index 208261dd0831e940f8f858b63a4169888c706db8..dc6ade5ed9d76287cff97119ea1657d117e1d65a 100644 |
| --- a/content/common/gpu/client/gpu_memory_buffer_impl.cc |
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl.cc |
| @@ -80,33 +80,33 @@ GpuMemoryBufferImpl* GpuMemoryBufferImpl::FromClientBuffer( |
| bool GpuMemoryBufferImpl::StrideInBytes(size_t width, |
| Format format, |
| size_t* stride_in_bytes) { |
| - base::CheckedNumeric<size_t> s = width; |
| + base::CheckedNumeric<size_t> checked_stride = width; |
| switch (format) { |
| - case ATCIA: |
| - case DXT5: |
| + case GpuMemoryBuffer::R_8: |
|
reveman
2015/04/08 02:57:28
hm, doesn't really matter as we'll clean this up i
Daniele Castagna
2015/04/08 19:16:00
Not intentional, fixed.
|
| + checked_stride += 3; |
| + if (!checked_stride.IsValid()) |
| + return false; |
| + *stride_in_bytes = checked_stride.ValueOrDie() & ~0x3; |
| + return true; |
| + case GpuMemoryBuffer::ATCIA: |
| + case GpuMemoryBuffer::DXT5: |
| *stride_in_bytes = width; |
| return true; |
| - case ATC: |
| - case DXT1: |
| - case ETC1: |
| - DCHECK_EQ(width % 2, 0U); |
| - s /= 2; |
| - if (!s.IsValid()) |
| - return false; |
| - |
| - *stride_in_bytes = s.ValueOrDie(); |
| + case GpuMemoryBuffer::ATC: |
| + case GpuMemoryBuffer::DXT1: |
| + case GpuMemoryBuffer::ETC1: |
| + DCHECK_EQ(width % 2, 0u); |
| + *stride_in_bytes = width / 2; |
| return true; |
| - case RGBA_8888: |
| - case RGBX_8888: |
| - case BGRA_8888: |
| - s *= 4; |
| - if (!s.IsValid()) |
| + case GpuMemoryBuffer::RGBA_8888: |
| + case GpuMemoryBuffer::RGBX_8888: |
| + case GpuMemoryBuffer::BGRA_8888: |
| + checked_stride *= 4; |
| + if (!checked_stride.IsValid()) |
| return false; |
| - |
| - *stride_in_bytes = s.ValueOrDie(); |
| + *stride_in_bytes = checked_stride.ValueOrDie(); |
| return true; |
| } |
| - |
| NOTREACHED(); |
| return false; |
| } |
| @@ -120,6 +120,7 @@ size_t GpuMemoryBufferImpl::NumberOfPlanesForGpuMemoryBufferFormat( |
| case gfx::GpuMemoryBuffer::Format::DXT1: |
| case gfx::GpuMemoryBuffer::Format::DXT5: |
| case gfx::GpuMemoryBuffer::Format::ETC1: |
| + case gfx::GpuMemoryBuffer::Format::R_8: |
| case gfx::GpuMemoryBuffer::Format::RGBA_8888: |
| case gfx::GpuMemoryBuffer::Format::RGBX_8888: |
| case gfx::GpuMemoryBuffer::Format::BGRA_8888: |