OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
6 #include "gpu/command_buffer/common/command_buffer_mock.h" | 6 #include "gpu/command_buffer/common/command_buffer_mock.h" |
7 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 7 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
8 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" | 8 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" |
9 #include "gpu/command_buffer/service/gpu_scheduler.h" | 9 #include "gpu/command_buffer/service/gpu_scheduler.h" |
10 #include "gpu/command_buffer/service/mocks.h" | 10 #include "gpu/command_buffer/service/mocks.h" |
(...skipping 30 matching lines...) Expand all Loading... |
41 memset(buffer_, 0, kRingBufferSize); | 41 memset(buffer_, 0, kRingBufferSize); |
42 | 42 |
43 command_buffer_.reset(new MockCommandBuffer); | 43 command_buffer_.reset(new MockCommandBuffer); |
44 | 44 |
45 CommandBuffer::State default_state; | 45 CommandBuffer::State default_state; |
46 default_state.num_entries = kRingBufferEntries; | 46 default_state.num_entries = kRingBufferEntries; |
47 ON_CALL(*command_buffer_.get(), GetLastState()) | 47 ON_CALL(*command_buffer_.get(), GetLastState()) |
48 .WillByDefault(Return(default_state)); | 48 .WillByDefault(Return(default_state)); |
49 | 49 |
50 decoder_.reset(new gles2::MockGLES2Decoder()); | 50 decoder_.reset(new gles2::MockGLES2Decoder()); |
| 51 // Install FakeDoCommands handler so we can use individual DoCommand() |
| 52 // expectations. |
| 53 EXPECT_CALL(*decoder_, DoCommands(_, _, _, _)).WillRepeatedly( |
| 54 Invoke(decoder_.get(), &gles2::MockGLES2Decoder::FakeDoCommands)); |
| 55 |
51 scheduler_.reset(new gpu::GpuScheduler(command_buffer_.get(), | 56 scheduler_.reset(new gpu::GpuScheduler(command_buffer_.get(), |
52 decoder_.get(), | 57 decoder_.get(), |
53 decoder_.get())); | 58 decoder_.get())); |
54 EXPECT_CALL(*command_buffer_, GetTransferBuffer(kTransferBufferId)) | 59 EXPECT_CALL(*command_buffer_, GetTransferBuffer(kTransferBufferId)) |
55 .WillOnce(Return(shared_memory_buffer_)); | 60 .WillOnce(Return(shared_memory_buffer_)); |
56 EXPECT_CALL(*command_buffer_, SetGetOffset(0)); | 61 EXPECT_CALL(*command_buffer_, SetGetOffset(0)); |
57 EXPECT_TRUE(scheduler_->SetGetBuffer(kTransferBufferId)); | 62 EXPECT_TRUE(scheduler_->SetGetBuffer(kTransferBufferId)); |
58 } | 63 } |
59 | 64 |
60 virtual void TearDown() { | 65 virtual void TearDown() { |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 header[2].size = 1; | 145 header[2].size = 1; |
141 | 146 |
142 CommandBuffer::State state; | 147 CommandBuffer::State state; |
143 | 148 |
144 state.put_offset = 3; | 149 state.put_offset = 3; |
145 EXPECT_CALL(*command_buffer_, GetLastState()) | 150 EXPECT_CALL(*command_buffer_, GetLastState()) |
146 .WillRepeatedly(Return(state)); | 151 .WillRepeatedly(Return(state)); |
147 | 152 |
148 EXPECT_CALL(*decoder_, DoCommand(7, 1, &buffer_[0])) | 153 EXPECT_CALL(*decoder_, DoCommand(7, 1, &buffer_[0])) |
149 .WillOnce(Return(error::kNoError)); | 154 .WillOnce(Return(error::kNoError)); |
150 EXPECT_CALL(*command_buffer_, SetGetOffset(2)); | |
151 | 155 |
152 EXPECT_CALL(*decoder_, DoCommand(8, 0, &buffer_[2])) | 156 EXPECT_CALL(*decoder_, DoCommand(8, 0, &buffer_[2])) |
153 .WillOnce(Return(error::kNoError)); | 157 .WillOnce(Return(error::kNoError)); |
154 EXPECT_CALL(*command_buffer_, SetGetOffset(3)); | 158 EXPECT_CALL(*command_buffer_, SetGetOffset(3)); |
155 | 159 |
156 scheduler_->PutChanged(); | 160 scheduler_->PutChanged(); |
157 } | 161 } |
158 | 162 |
159 TEST_F(GpuSchedulerTest, SetsErrorCodeOnCommandBuffer) { | 163 TEST_F(GpuSchedulerTest, SetsErrorCodeOnCommandBuffer) { |
160 CommandHeader* header = reinterpret_cast<CommandHeader*>(&buffer_[0]); | 164 CommandHeader* header = reinterpret_cast<CommandHeader*>(&buffer_[0]); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 | 212 |
209 EXPECT_EQ(kRingBufferSize, scheduler_->GetSharedMemoryBuffer(7)->size()); | 213 EXPECT_EQ(kRingBufferSize, scheduler_->GetSharedMemoryBuffer(7)->size()); |
210 } | 214 } |
211 | 215 |
212 TEST_F(GpuSchedulerTest, SetTokenForwardsToCommandBuffer) { | 216 TEST_F(GpuSchedulerTest, SetTokenForwardsToCommandBuffer) { |
213 EXPECT_CALL(*command_buffer_, SetToken(7)); | 217 EXPECT_CALL(*command_buffer_, SetToken(7)); |
214 scheduler_->set_token(7); | 218 scheduler_->set_token(7); |
215 } | 219 } |
216 | 220 |
217 } // namespace gpu | 221 } // namespace gpu |
OLD | NEW |