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

Side by Side Diff: gpu/command_buffer/client/mapped_memory_unittest.cc

Issue 1859703002: convert //gpu to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase on master Created 4 years, 8 months 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "gpu/command_buffer/client/mapped_memory.h" 5 #include "gpu/command_buffer/client/mapped_memory.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <list> 10 #include <list>
11 #include <memory>
12
11 #include "base/bind.h" 13 #include "base/bind.h"
12 #include "base/memory/scoped_ptr.h"
13 #include "base/message_loop/message_loop.h" 14 #include "base/message_loop/message_loop.h"
14 #include "gpu/command_buffer/client/cmd_buffer_helper.h" 15 #include "gpu/command_buffer/client/cmd_buffer_helper.h"
15 #include "gpu/command_buffer/service/command_buffer_service.h" 16 #include "gpu/command_buffer/service/command_buffer_service.h"
16 #include "gpu/command_buffer/service/command_executor.h" 17 #include "gpu/command_buffer/service/command_executor.h"
17 #include "gpu/command_buffer/service/mocks.h" 18 #include "gpu/command_buffer/service/mocks.h"
18 #include "gpu/command_buffer/service/transfer_buffer_manager.h" 19 #include "gpu/command_buffer/service/transfer_buffer_manager.h"
19 #include "testing/gtest/include/gtest/gtest.h" 20 #include "testing/gtest/include/gtest/gtest.h"
20 21
21 namespace gpu { 22 namespace gpu {
22 23
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 &CommandExecutor::SetGetBuffer, base::Unretained(executor_.get()))); 62 &CommandExecutor::SetGetBuffer, base::Unretained(executor_.get())));
62 63
63 api_mock_->set_engine(executor_.get()); 64 api_mock_->set_engine(executor_.get());
64 65
65 helper_.reset(new CommandBufferHelper(command_buffer_.get())); 66 helper_.reset(new CommandBufferHelper(command_buffer_.get()));
66 helper_->Initialize(kBufferSize); 67 helper_->Initialize(kBufferSize);
67 } 68 }
68 69
69 int32_t GetToken() { return command_buffer_->GetLastState().token; } 70 int32_t GetToken() { return command_buffer_->GetLastState().token; }
70 71
71 scoped_ptr<AsyncAPIMock> api_mock_; 72 std::unique_ptr<AsyncAPIMock> api_mock_;
72 scoped_refptr<TransferBufferManagerInterface> transfer_buffer_manager_; 73 scoped_refptr<TransferBufferManagerInterface> transfer_buffer_manager_;
73 scoped_ptr<CommandBufferService> command_buffer_; 74 std::unique_ptr<CommandBufferService> command_buffer_;
74 scoped_ptr<CommandExecutor> executor_; 75 std::unique_ptr<CommandExecutor> executor_;
75 scoped_ptr<CommandBufferHelper> helper_; 76 std::unique_ptr<CommandBufferHelper> helper_;
76 base::MessageLoop message_loop_; 77 base::MessageLoop message_loop_;
77 }; 78 };
78 79
79 #ifndef _MSC_VER 80 #ifndef _MSC_VER
80 const unsigned int MappedMemoryTestBase::kBufferSize; 81 const unsigned int MappedMemoryTestBase::kBufferSize;
81 #endif 82 #endif
82 83
83 // Test fixture for MemoryChunk test - Creates a MemoryChunk, using a 84 // Test fixture for MemoryChunk test - Creates a MemoryChunk, using a
84 // CommandBufferHelper with a mock AsyncAPIInterface for its interface (calling 85 // CommandBufferHelper with a mock AsyncAPIInterface for its interface (calling
85 // it directly, not through the RPC mechanism), making sure Noops are ignored 86 // it directly, not through the RPC mechanism), making sure Noops are ignored
86 // and SetToken are properly forwarded to the engine. 87 // and SetToken are properly forwarded to the engine.
87 class MemoryChunkTest : public MappedMemoryTestBase { 88 class MemoryChunkTest : public MappedMemoryTestBase {
88 protected: 89 protected:
89 static const int32_t kShmId = 123; 90 static const int32_t kShmId = 123;
90 void SetUp() override { 91 void SetUp() override {
91 MappedMemoryTestBase::SetUp(); 92 MappedMemoryTestBase::SetUp();
92 scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory()); 93 std::unique_ptr<base::SharedMemory> shared_memory(new base::SharedMemory());
93 shared_memory->CreateAndMapAnonymous(kBufferSize); 94 shared_memory->CreateAndMapAnonymous(kBufferSize);
94 buffer_ = MakeBufferFromSharedMemory(std::move(shared_memory), kBufferSize); 95 buffer_ = MakeBufferFromSharedMemory(std::move(shared_memory), kBufferSize);
95 chunk_.reset(new MemoryChunk(kShmId, buffer_, helper_.get())); 96 chunk_.reset(new MemoryChunk(kShmId, buffer_, helper_.get()));
96 } 97 }
97 98
98 void TearDown() override { 99 void TearDown() override {
99 // If the CommandExecutor posts any tasks, this forces them to run. 100 // If the CommandExecutor posts any tasks, this forces them to run.
100 base::MessageLoop::current()->RunUntilIdle(); 101 base::MessageLoop::current()->RunUntilIdle();
101 102
102 MappedMemoryTestBase::TearDown(); 103 MappedMemoryTestBase::TearDown();
103 } 104 }
104 105
105 uint8_t* buffer_memory() { return static_cast<uint8_t*>(buffer_->memory()); } 106 uint8_t* buffer_memory() { return static_cast<uint8_t*>(buffer_->memory()); }
106 107
107 scoped_ptr<MemoryChunk> chunk_; 108 std::unique_ptr<MemoryChunk> chunk_;
108 scoped_refptr<gpu::Buffer> buffer_; 109 scoped_refptr<gpu::Buffer> buffer_;
109 }; 110 };
110 111
111 #ifndef _MSC_VER 112 #ifndef _MSC_VER
112 const int32_t MemoryChunkTest::kShmId; 113 const int32_t MemoryChunkTest::kShmId;
113 #endif 114 #endif
114 115
115 TEST_F(MemoryChunkTest, Basic) { 116 TEST_F(MemoryChunkTest, Basic) {
116 const unsigned int kSize = 16; 117 const unsigned int kSize = 16;
117 EXPECT_EQ(kShmId, chunk_->shm_id()); 118 EXPECT_EQ(kShmId, chunk_->shm_id());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 new MappedMemoryManager(helper_.get(), MappedMemoryManager::kNoLimit)); 156 new MappedMemoryManager(helper_.get(), MappedMemoryManager::kNoLimit));
156 } 157 }
157 158
158 void TearDown() override { 159 void TearDown() override {
159 // If the CommandExecutor posts any tasks, this forces them to run. 160 // If the CommandExecutor posts any tasks, this forces them to run.
160 base::MessageLoop::current()->RunUntilIdle(); 161 base::MessageLoop::current()->RunUntilIdle();
161 manager_.reset(); 162 manager_.reset();
162 MappedMemoryTestBase::TearDown(); 163 MappedMemoryTestBase::TearDown();
163 } 164 }
164 165
165 scoped_ptr<MappedMemoryManager> manager_; 166 std::unique_ptr<MappedMemoryManager> manager_;
166 }; 167 };
167 168
168 TEST_F(MappedMemoryManagerTest, Basic) { 169 TEST_F(MappedMemoryManagerTest, Basic) {
169 const unsigned int kSize = 1024; 170 const unsigned int kSize = 1024;
170 // Check we can alloc. 171 // Check we can alloc.
171 int32_t id1 = -1; 172 int32_t id1 = -1;
172 unsigned int offset1 = 0xFFFFFFFFU; 173 unsigned int offset1 = 0xFFFFFFFFU;
173 void* mem1 = manager_->Alloc(kSize, &id1, &offset1); 174 void* mem1 = manager_->Alloc(kSize, &id1, &offset1);
174 ASSERT_TRUE(mem1); 175 ASSERT_TRUE(mem1);
175 EXPECT_NE(-1, id1); 176 EXPECT_NE(-1, id1);
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 void* mem4 = manager_->Alloc(kLimit, &id4, &offset4); 428 void* mem4 = manager_->Alloc(kLimit, &id4, &offset4);
428 ASSERT_TRUE(mem4); 429 ASSERT_TRUE(mem4);
429 EXPECT_EQ(id2, id4); 430 EXPECT_EQ(id2, id4);
430 EXPECT_EQ(offset2, offset4); 431 EXPECT_EQ(offset2, offset4);
431 432
432 manager_->Free(mem1); 433 manager_->Free(mem1);
433 manager_->Free(mem4); 434 manager_->Free(mem4);
434 } 435 }
435 436
436 } // namespace gpu 437 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/client/mapped_memory.cc ('k') | gpu/command_buffer/client/program_info_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698