OLD | NEW |
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 // This file contains the tests for the RingBuffer class. | 5 // This file contains the tests for the RingBuffer class. |
6 | 6 |
7 #include "gpu/command_buffer/client/ring_buffer.h" | 7 #include "gpu/command_buffer/client/ring_buffer.h" |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
11 #include "base/message_loop/message_loop.h" | |
12 #include "gpu/command_buffer/client/cmd_buffer_helper.h" | 11 #include "gpu/command_buffer/client/cmd_buffer_helper.h" |
13 #include "gpu/command_buffer/service/cmd_buffer_engine.h" | 12 #include "gpu/command_buffer/service/cmd_buffer_engine.h" |
14 #include "gpu/command_buffer/service/command_buffer_service.h" | 13 #include "gpu/command_buffer/service/command_buffer_service.h" |
15 #include "gpu/command_buffer/service/gpu_scheduler.h" | 14 #include "gpu/command_buffer/service/gpu_scheduler.h" |
16 #include "gpu/command_buffer/service/mocks.h" | 15 #include "gpu/command_buffer/service/mocks.h" |
17 #include "gpu/command_buffer/service/transfer_buffer_manager.h" | 16 #include "gpu/command_buffer/service/transfer_buffer_manager.h" |
18 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
19 | 18 |
20 #if defined(OS_MACOSX) | |
21 #include "base/mac/scoped_nsautorelease_pool.h" | |
22 #endif | |
23 | |
24 namespace gpu { | 19 namespace gpu { |
25 | 20 |
26 using testing::Return; | 21 using testing::Return; |
27 using testing::Mock; | 22 using testing::Mock; |
28 using testing::Truly; | 23 using testing::Truly; |
29 using testing::Sequence; | 24 using testing::Sequence; |
30 using testing::DoAll; | 25 using testing::DoAll; |
31 using testing::Invoke; | 26 using testing::Invoke; |
32 using testing::_; | 27 using testing::_; |
33 | 28 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 api_mock_->set_engine(gpu_scheduler_.get()); | 84 api_mock_->set_engine(gpu_scheduler_.get()); |
90 | 85 |
91 helper_.reset(new CommandBufferHelper(command_buffer_.get())); | 86 helper_.reset(new CommandBufferHelper(command_buffer_.get())); |
92 helper_->Initialize(kBufferSize); | 87 helper_->Initialize(kBufferSize); |
93 } | 88 } |
94 | 89 |
95 int32 GetToken() { | 90 int32 GetToken() { |
96 return command_buffer_->GetLastState().token; | 91 return command_buffer_->GetLastState().token; |
97 } | 92 } |
98 | 93 |
99 #if defined(OS_MACOSX) | |
100 base::mac::ScopedNSAutoreleasePool autorelease_pool_; | |
101 #endif | |
102 base::MessageLoop message_loop_; | |
103 scoped_ptr<AsyncAPIMock> api_mock_; | 94 scoped_ptr<AsyncAPIMock> api_mock_; |
104 scoped_ptr<TransferBufferManagerInterface> transfer_buffer_manager_; | 95 scoped_ptr<TransferBufferManagerInterface> transfer_buffer_manager_; |
105 scoped_ptr<CommandBufferService> command_buffer_; | 96 scoped_ptr<CommandBufferService> command_buffer_; |
106 scoped_ptr<GpuScheduler> gpu_scheduler_; | 97 scoped_ptr<GpuScheduler> gpu_scheduler_; |
107 scoped_ptr<CommandBufferHelper> helper_; | 98 scoped_ptr<CommandBufferHelper> helper_; |
108 std::vector<const void*> set_token_arguments_; | 99 std::vector<const void*> set_token_arguments_; |
109 bool delay_set_token_; | 100 bool delay_set_token_; |
110 | 101 |
111 scoped_ptr<int8[]> buffer_; | 102 scoped_ptr<int8[]> buffer_; |
112 int8* buffer_start_; | 103 int8* buffer_start_; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 pointer = allocator_->Alloc(kAlloc2); | 198 pointer = allocator_->Alloc(kAlloc2); |
208 EXPECT_EQ(kBufferSize - kAlloc1 - kAlloc2, | 199 EXPECT_EQ(kBufferSize - kAlloc1 - kAlloc2, |
209 allocator_->GetLargestFreeSizeNoWaiting()); | 200 allocator_->GetLargestFreeSizeNoWaiting()); |
210 allocator_->FreePendingToken(pointer, helper_.get()->InsertToken()); | 201 allocator_->FreePendingToken(pointer, helper_.get()->InsertToken()); |
211 pointer = allocator_->Alloc(kBufferSize); | 202 pointer = allocator_->Alloc(kBufferSize); |
212 EXPECT_EQ(0u, allocator_->GetLargestFreeSizeNoWaiting()); | 203 EXPECT_EQ(0u, allocator_->GetLargestFreeSizeNoWaiting()); |
213 allocator_->FreePendingToken(pointer, helper_.get()->InsertToken()); | 204 allocator_->FreePendingToken(pointer, helper_.get()->InsertToken()); |
214 } | 205 } |
215 | 206 |
216 } // namespace gpu | 207 } // namespace gpu |
OLD | NEW |