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

Side by Side Diff: cc/test/test_gpu_memory_buffer_manager.cc

Issue 1437623003: Revert of ui: Add custom stride support to GLImageMemory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « no previous file | cc/test/test_image_factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/test/test_gpu_memory_buffer_manager.h" 5 #include "cc/test/test_gpu_memory_buffer_manager.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/numerics/safe_conversions.h" 8 #include "base/numerics/safe_conversions.h"
9 #include "ui/gfx/buffer_format_util.h" 9 #include "ui/gfx/buffer_format_util.h"
10 #include "ui/gfx/gpu_memory_buffer.h" 10 #include "ui/gfx/gpu_memory_buffer.h"
11 11
12 namespace cc { 12 namespace cc {
13 namespace { 13 namespace {
14 14
15 class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { 15 class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer {
16 public: 16 public:
17 GpuMemoryBufferImpl(const gfx::Size& size, 17 GpuMemoryBufferImpl(const gfx::Size& size,
18 gfx::BufferFormat format, 18 gfx::BufferFormat format,
19 scoped_ptr<base::SharedMemory> shared_memory, 19 scoped_ptr<base::SharedMemory> shared_memory,
20 size_t offset, 20 size_t offset)
21 size_t stride)
22 : size_(size), 21 : size_(size),
23 format_(format), 22 format_(format),
24 shared_memory_(shared_memory.Pass()), 23 shared_memory_(shared_memory.Pass()),
25 offset_(offset), 24 offset_(offset),
26 stride_(stride),
27 mapped_(false) {} 25 mapped_(false) {}
28 26
29 // Overridden from gfx::GpuMemoryBuffer: 27 // Overridden from gfx::GpuMemoryBuffer:
30 bool Map() override { 28 bool Map() override {
31 DCHECK(!mapped_); 29 DCHECK(!mapped_);
32 DCHECK_EQ(stride_, gfx::RowSizeForBufferFormat(size_.width(), format_, 0));
33 if (!shared_memory_->Map(offset_ + 30 if (!shared_memory_->Map(offset_ +
34 gfx::BufferSizeForBufferFormat(size_, format_))) 31 gfx::BufferSizeForBufferFormat(size_, format_)))
35 return false; 32 return false;
36 mapped_ = true; 33 mapped_ = true;
37 return true; 34 return true;
38 } 35 }
39 void* memory(size_t plane) override { 36 void* memory(size_t plane) override {
40 DCHECK(mapped_); 37 DCHECK(mapped_);
41 DCHECK_LT(plane, gfx::NumberOfPlanesForBufferFormat(format_)); 38 DCHECK_LT(plane, gfx::NumberOfPlanesForBufferFormat(format_));
42 return reinterpret_cast<uint8_t*>(shared_memory_->memory()) + offset_ + 39 return reinterpret_cast<uint8_t*>(shared_memory_->memory()) + offset_ +
(...skipping 13 matching lines...) Expand all
56 } 53 }
57 gfx::GpuMemoryBufferId GetId() const override { 54 gfx::GpuMemoryBufferId GetId() const override {
58 NOTREACHED(); 55 NOTREACHED();
59 return gfx::GpuMemoryBufferId(0); 56 return gfx::GpuMemoryBufferId(0);
60 } 57 }
61 gfx::GpuMemoryBufferHandle GetHandle() const override { 58 gfx::GpuMemoryBufferHandle GetHandle() const override {
62 gfx::GpuMemoryBufferHandle handle; 59 gfx::GpuMemoryBufferHandle handle;
63 handle.type = gfx::SHARED_MEMORY_BUFFER; 60 handle.type = gfx::SHARED_MEMORY_BUFFER;
64 handle.handle = shared_memory_->handle(); 61 handle.handle = shared_memory_->handle();
65 handle.offset = base::checked_cast<uint32_t>(offset_); 62 handle.offset = base::checked_cast<uint32_t>(offset_);
66 handle.stride = base::checked_cast<int32_t>(stride_);
67 return handle; 63 return handle;
68 } 64 }
69 ClientBuffer AsClientBuffer() override { 65 ClientBuffer AsClientBuffer() override {
70 return reinterpret_cast<ClientBuffer>(this); 66 return reinterpret_cast<ClientBuffer>(this);
71 } 67 }
72 68
73 private: 69 private:
74 const gfx::Size size_; 70 const gfx::Size size_;
75 gfx::BufferFormat format_; 71 gfx::BufferFormat format_;
76 scoped_ptr<base::SharedMemory> shared_memory_; 72 scoped_ptr<base::SharedMemory> shared_memory_;
77 size_t offset_; 73 size_t offset_;
78 size_t stride_;
79 bool mapped_; 74 bool mapped_;
80 }; 75 };
81 76
82 } // namespace 77 } // namespace
83 78
84 TestGpuMemoryBufferManager::TestGpuMemoryBufferManager() { 79 TestGpuMemoryBufferManager::TestGpuMemoryBufferManager() {
85 } 80 }
86 81
87 TestGpuMemoryBufferManager::~TestGpuMemoryBufferManager() { 82 TestGpuMemoryBufferManager::~TestGpuMemoryBufferManager() {
88 } 83 }
89 84
90 scoped_ptr<gfx::GpuMemoryBuffer> 85 scoped_ptr<gfx::GpuMemoryBuffer>
91 TestGpuMemoryBufferManager::AllocateGpuMemoryBuffer(const gfx::Size& size, 86 TestGpuMemoryBufferManager::AllocateGpuMemoryBuffer(const gfx::Size& size,
92 gfx::BufferFormat format, 87 gfx::BufferFormat format,
93 gfx::BufferUsage usage) { 88 gfx::BufferUsage usage) {
94 scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory); 89 scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory);
95 const size_t buffer_size = gfx::BufferSizeForBufferFormat(size, format); 90 const size_t buffer_size = gfx::BufferSizeForBufferFormat(size, format);
96 if (!shared_memory->CreateAnonymous(buffer_size)) 91 if (!shared_memory->CreateAnonymous(buffer_size))
97 return nullptr; 92 return nullptr;
98 return make_scoped_ptr<gfx::GpuMemoryBuffer>(new GpuMemoryBufferImpl( 93 return make_scoped_ptr<gfx::GpuMemoryBuffer>(
99 size, format, shared_memory.Pass(), 0, 94 new GpuMemoryBufferImpl(size, format, shared_memory.Pass(), 0));
100 base::checked_cast<int>(
101 gfx::RowSizeForBufferFormat(size.width(), format, 0))));
102 } 95 }
103 96
104 scoped_ptr<gfx::GpuMemoryBuffer> 97 scoped_ptr<gfx::GpuMemoryBuffer>
105 TestGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandle( 98 TestGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandle(
106 const gfx::GpuMemoryBufferHandle& handle, 99 const gfx::GpuMemoryBufferHandle& handle,
107 const gfx::Size& size, 100 const gfx::Size& size,
108 gfx::BufferFormat format) { 101 gfx::BufferFormat format) {
109 if (handle.type != gfx::SHARED_MEMORY_BUFFER) 102 if (handle.type != gfx::SHARED_MEMORY_BUFFER)
110 return nullptr; 103 return nullptr;
111 104
112 return make_scoped_ptr<gfx::GpuMemoryBuffer>(new GpuMemoryBufferImpl( 105 return make_scoped_ptr<gfx::GpuMemoryBuffer>(new GpuMemoryBufferImpl(
113 size, format, 106 size, format,
114 make_scoped_ptr(new base::SharedMemory(handle.handle, false)), 107 make_scoped_ptr(new base::SharedMemory(handle.handle, false)),
115 handle.offset, handle.stride)); 108 handle.offset));
116 } 109 }
117 110
118 gfx::GpuMemoryBuffer* 111 gfx::GpuMemoryBuffer*
119 TestGpuMemoryBufferManager::GpuMemoryBufferFromClientBuffer( 112 TestGpuMemoryBufferManager::GpuMemoryBufferFromClientBuffer(
120 ClientBuffer buffer) { 113 ClientBuffer buffer) {
121 return reinterpret_cast<gfx::GpuMemoryBuffer*>(buffer); 114 return reinterpret_cast<gfx::GpuMemoryBuffer*>(buffer);
122 } 115 }
123 116
124 void TestGpuMemoryBufferManager::SetDestructionSyncToken( 117 void TestGpuMemoryBufferManager::SetDestructionSyncToken(
125 gfx::GpuMemoryBuffer* buffer, 118 gfx::GpuMemoryBuffer* buffer,
126 const gpu::SyncToken& sync_token) {} 119 const gpu::SyncToken& sync_token) {}
127 120
128 } // namespace cc 121 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/test/test_image_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698