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..7903d3964a9b4bc6d9555c1e0dc5543645c858e3 100644 |
| --- a/content/common/gpu/client/gpu_memory_buffer_impl.cc |
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl.cc |
| @@ -80,35 +80,30 @@ 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: |
| - *stride_in_bytes = width; |
| - return true; |
| - case ATC: |
| - case DXT1: |
| - case ETC1: |
| + case GpuMemoryBuffer::R_8: |
| + checked_stride = (checked_stride + 3) % 4; |
|
reveman
2015/04/01 13:14:33
I assume this is a typo and should be "(width + 3)
Daniele Castagna
2015/04/01 21:58:34
Ops, I was trying to break some test to see if thi
|
| + break; |
| + case GpuMemoryBuffer::ATCIA: |
| + case GpuMemoryBuffer::DXT5: // 'checked_stride' is the same as 'width'. |
|
reveman
2015/04/01 13:14:33
nit: no need for checked_stride in this case
Daniele Castagna
2015/04/01 21:58:34
Done.
|
| + break; |
| + case GpuMemoryBuffer::ATC: |
| + case GpuMemoryBuffer::DXT1: |
| + case GpuMemoryBuffer::ETC1: |
| DCHECK_EQ(width % 2, 0U); |
|
reveman
2015/04/01 13:14:33
nit: ..., 0u);
Daniele Castagna
2015/04/01 21:58:34
Done.
|
| - s /= 2; |
| - if (!s.IsValid()) |
| - return false; |
| - |
| - *stride_in_bytes = s.ValueOrDie(); |
| - return true; |
| - case RGBA_8888: |
| - case RGBX_8888: |
| - case BGRA_8888: |
| - s *= 4; |
| - if (!s.IsValid()) |
| - return false; |
| - |
| - *stride_in_bytes = s.ValueOrDie(); |
| - return true; |
| + checked_stride /= 2; |
|
reveman
2015/04/01 13:14:33
no need for checked_stride in this case.
Daniele Castagna
2015/04/01 21:58:34
Done.
|
| + break; |
| + case GpuMemoryBuffer::RGBA_8888: |
| + case GpuMemoryBuffer::RGBX_8888: |
| + case GpuMemoryBuffer::BGRA_8888: |
| + checked_stride *= 4; |
| + break; |
| } |
| - |
| - NOTREACHED(); |
|
reveman
2015/04/01 13:14:33
I like to keep this condition. ie detect if format
Daniele Castagna
2015/04/01 21:58:34
Done as you suggested.
For the sake of arguing: I
reveman
2015/04/01 23:38:55
Ok, fair enough.
|
| - return false; |
| + if (!checked_stride.IsValid()) |
| + return false; |
| + *stride_in_bytes = checked_stride.ValueOrDie(); |
| + return true; |
| } |
| // static |
| @@ -120,6 +115,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: |