Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(642)

Unified Diff: cc/test/test_gpu_memory_buffer_manager.cc

Issue 806653006: Update GPU memory buffers to use StrideInBytes internally. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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()));
« no previous file with comments | « no previous file | content/common/gpu/client/gpu_memory_buffer_impl.h » ('j') | content/common/gpu/client/gpu_memory_buffer_impl.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698