Chromium Code Reviews| 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 |