Index: cc/test/test_gpu_memory_buffer_manager.cc |
diff --git a/cc/test/test_gpu_memory_buffer_manager.cc b/cc/test/test_gpu_memory_buffer_manager.cc |
index 3583ff30da7093beaf9af8a7f2fd444e15abd04b..150c4d88222fef8c0fe0f42af98e9a656d1c3abb 100644 |
--- a/cc/test/test_gpu_memory_buffer_manager.cc |
+++ b/cc/test/test_gpu_memory_buffer_manager.cc |
@@ -10,18 +10,24 @@ |
namespace cc { |
namespace { |
-size_t BytesPerPixel(gfx::GpuMemoryBuffer::Format format) { |
+size_t BitsPerPixel(gfx::GpuMemoryBuffer::Format format) { |
switch (format) { |
case gfx::GpuMemoryBuffer::RGBA_8888: |
case gfx::GpuMemoryBuffer::RGBX_8888: |
case gfx::GpuMemoryBuffer::BGRA_8888: |
- return 4; |
+ return 32; |
} |
NOTREACHED(); |
return 0; |
} |
+size_t PixelsToBytes(size_t pixel_count, gfx::GpuMemoryBuffer::Format format) { |
+ size_t size_in_bits = pixel_count * BitsPerPixel(format); |
+ DCHECK_EQ(size_in_bits % 8, 0u); |
+ return size_in_bits / 8; |
+} |
+ |
class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { |
public: |
GpuMemoryBufferImpl(const gfx::Size& size, |
@@ -35,7 +41,7 @@ class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { |
// Overridden from gfx::GpuMemoryBuffer: |
void* Map() override { |
DCHECK(!mapped_); |
- if (!shared_memory_->Map(size_.GetArea() * BytesPerPixel(format_))) |
+ if (!shared_memory_->Map(PixelsToBytes(size_.GetArea(), format_))) |
return NULL; |
mapped_ = true; |
return shared_memory_->memory(); |
@@ -48,7 +54,7 @@ class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { |
bool IsMapped() const override { return mapped_; } |
Format GetFormat() const override { return format_; } |
uint32 GetStride() const override { |
- return size_.width() * BytesPerPixel(format_); |
+ return PixelsToBytes(size_.width(), format_); |
} |
gfx::GpuMemoryBufferHandle GetHandle() const override { |
gfx::GpuMemoryBufferHandle handle; |
@@ -81,7 +87,7 @@ TestGpuMemoryBufferManager::AllocateGpuMemoryBuffer( |
gfx::GpuMemoryBuffer::Format format, |
gfx::GpuMemoryBuffer::Usage usage) { |
scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory); |
- if (!shared_memory->CreateAnonymous(size.GetArea() * BytesPerPixel(format))) |
+ if (!shared_memory->CreateAnonymous(PixelsToBytes(size.GetArea(), format))) |
return nullptr; |
return make_scoped_ptr<gfx::GpuMemoryBuffer>( |
new GpuMemoryBufferImpl(size, format, shared_memory.Pass())); |