| 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 4b05bbff2aa1c4ce67da55713b3d020a4a9d8f0a..e2a48beeef2854d870e46c040be833dcc15b1b57 100644
|
| --- a/content/common/gpu/client/gpu_memory_buffer_impl.cc
|
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/numerics/safe_math.h"
|
| #include "content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h"
|
| #include "ui/gl/gl_bindings.h"
|
| +#include "ui/gl/gl_image_memory.h"
|
|
|
| #if defined(OS_MACOSX)
|
| #include "content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h"
|
| @@ -33,6 +34,7 @@ GpuMemoryBufferImpl::GpuMemoryBufferImpl(gfx::GpuMemoryBufferId id,
|
| callback_(callback),
|
| mapped_(false),
|
| destruction_sync_point_(0) {
|
| + DCHECK(gfx::GLImageMemory::ValidSize(size, format));
|
| }
|
|
|
| GpuMemoryBufferImpl::~GpuMemoryBufferImpl() {
|
| @@ -82,6 +84,20 @@ bool GpuMemoryBufferImpl::StrideInBytes(size_t width,
|
| size_t* stride_in_bytes) {
|
| base::CheckedNumeric<size_t> s = width;
|
| switch (format) {
|
| + case ATCIA:
|
| + case 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();
|
| + return true;
|
| case RGBA_8888:
|
| case RGBX_8888:
|
| case BGRA_8888:
|
|
|