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 #include "gpu/command_buffer/service/common_decoder.h" | 5 #include "gpu/command_buffer/service/common_decoder.h" |
6 #include "gpu/command_buffer/service/cmd_buffer_engine.h" | 6 #include "gpu/command_buffer/service/cmd_buffer_engine.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace gpu { | 9 namespace gpu { |
10 | 10 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
160 virtual void SetUp() { | 160 virtual void SetUp() { |
161 decoder_.set_engine(&engine_); | 161 decoder_.set_engine(&engine_); |
162 } | 162 } |
163 | 163 |
164 virtual void TearDown() { | 164 virtual void TearDown() { |
165 } | 165 } |
166 | 166 |
167 template <typename T> | 167 template <typename T> |
168 error::Error ExecuteCmd(const T& cmd) { | 168 error::Error ExecuteCmd(const T& cmd) { |
169 COMPILE_ASSERT(T::kArgFlags == cmd::kFixed, Cmd_kArgFlags_not_kFixed); | 169 COMPILE_ASSERT(T::kArgFlags == cmd::kFixed, Cmd_kArgFlags_not_kFixed); |
170 return decoder_.DoCommand(cmd.kCmdId, | 170 return decoder_.DoCommands( |
171 ComputeNumEntries(sizeof(cmd)) - 1, | 171 1, (const void*)&cmd, ComputeNumEntries(sizeof(cmd)), 0); |
172 &cmd); | |
173 } | 172 } |
174 | 173 |
175 template <typename T> | 174 template <typename T> |
176 error::Error ExecuteImmediateCmd(const T& cmd, size_t data_size) { | 175 error::Error ExecuteImmediateCmd(const T& cmd, size_t data_size) { |
177 COMPILE_ASSERT(T::kArgFlags == cmd::kAtLeastN, Cmd_kArgFlags_not_kAtLeastN); | 176 COMPILE_ASSERT(T::kArgFlags == cmd::kAtLeastN, Cmd_kArgFlags_not_kAtLeastN); |
178 return decoder_.DoCommand(cmd.kCmdId, | 177 return decoder_.DoCommands( |
179 ComputeNumEntries(sizeof(cmd) + data_size) - 1, | 178 1, (const void*)&cmd, ComputeNumEntries(sizeof(cmd) + data_size), 0); |
180 &cmd); | |
181 } | 179 } |
182 | 180 |
183 MockCommandBufferEngine engine_; | 181 MockCommandBufferEngine engine_; |
184 TestCommonDecoder decoder_; | 182 TestCommonDecoder decoder_; |
185 }; | 183 }; |
186 | 184 |
187 TEST_F(CommonDecoderTest, Initialize) { | 185 TEST_F(CommonDecoderTest, Initialize) { |
188 EXPECT_EQ(0, engine_.GetGetOffset()); | 186 EXPECT_EQ(0, engine_.GetGetOffset()); |
189 } | 187 } |
190 | 188 |
191 TEST_F(CommonDecoderTest, DoCommonCommandInvalidCommand) { | 189 TEST_F(CommonDecoderTest, DoCommonCommandInvalidCommand) { |
190 // TODO(vmiura): fix this | |
vmiura
2014/09/09 01:16:10
I need to delete this comment.
vmiura
2014/09/09 01:38:56
Done.
| |
192 EXPECT_EQ(error::kUnknownCommand, decoder_.DoCommand(999999, 0, NULL)); | 191 EXPECT_EQ(error::kUnknownCommand, decoder_.DoCommand(999999, 0, NULL)); |
193 } | 192 } |
194 | 193 |
195 TEST_F(CommonDecoderTest, HandleNoop) { | 194 TEST_F(CommonDecoderTest, HandleNoop) { |
196 cmd::Noop cmd; | 195 cmd::Noop cmd; |
197 const uint32 kSkipCount = 5; | 196 const uint32 kSkipCount = 5; |
198 cmd.Init(kSkipCount); | 197 cmd.Init(kSkipCount); |
199 EXPECT_EQ(error::kNoError, | 198 EXPECT_EQ(error::kNoError, |
200 ExecuteImmediateCmd( | 199 ExecuteImmediateCmd( |
201 cmd, kSkipCount * kCommandBufferEntrySize)); | 200 cmd, kSkipCount * kCommandBufferEntrySize)); |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
506 MockCommandBufferEngine::kValidShmId, kSomeOffsetInSharedMemory); | 505 MockCommandBufferEngine::kValidShmId, kSomeOffsetInSharedMemory); |
507 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); | 506 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); |
508 | 507 |
509 // Check that it fails if the size is invalid | 508 // Check that it fails if the size is invalid |
510 cmd.Init(kBucketId, 0, sizeof(kData) + 1, | 509 cmd.Init(kBucketId, 0, sizeof(kData) + 1, |
511 MockCommandBufferEngine::kValidShmId, kSomeOffsetInSharedMemory); | 510 MockCommandBufferEngine::kValidShmId, kSomeOffsetInSharedMemory); |
512 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); | 511 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); |
513 } | 512 } |
514 | 513 |
515 } // namespace gpu | 514 } // namespace gpu |
OLD | NEW |