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: |