summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/gpu_scheduler_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer/service/gpu_scheduler_unittest.cc')
-rw-r--r--gpu/command_buffer/service/gpu_scheduler_unittest.cc49
1 files changed, 19 insertions, 30 deletions
diff --git a/gpu/command_buffer/service/gpu_scheduler_unittest.cc b/gpu/command_buffer/service/gpu_scheduler_unittest.cc
index cf881e6..2d230ec 100644
--- a/gpu/command_buffer/service/gpu_scheduler_unittest.cc
+++ b/gpu/command_buffer/service/gpu_scheduler_unittest.cc
@@ -30,8 +30,6 @@ const size_t kRingBufferEntries = kRingBufferSize / sizeof(CommandBufferEntry);
class GpuSchedulerTest : public testing::Test {
protected:
- static const int32 kTransferBufferId = 123;
-
virtual void SetUp() {
shared_memory_.reset(new ::base::SharedMemory);
shared_memory_->CreateAndMapAnonymous(kRingBufferSize);
@@ -41,20 +39,28 @@ class GpuSchedulerTest : public testing::Test {
memset(buffer_, 0, kRingBufferSize);
command_buffer_.reset(new MockCommandBuffer);
+ ON_CALL(*command_buffer_.get(), GetRingBuffer())
+ .WillByDefault(Return(shared_memory_buffer_));
CommandBuffer::State default_state;
default_state.num_entries = kRingBufferEntries;
ON_CALL(*command_buffer_.get(), GetState())
.WillByDefault(Return(default_state));
+ async_api_.reset(new StrictMock<AsyncAPIMock>);
+
decoder_.reset(new gles2::MockGLES2Decoder());
+
+ parser_ = new CommandParser(buffer_,
+ kRingBufferEntries,
+ 0,
+ kRingBufferEntries,
+ 0,
+ async_api_.get());
+
scheduler_.reset(new gpu::GpuScheduler(command_buffer_.get(),
decoder_.get(),
- NULL));
- EXPECT_CALL(*command_buffer_, GetTransferBuffer(kTransferBufferId))
- .WillOnce(Return(shared_memory_buffer_));
- EXPECT_CALL(*command_buffer_, SetGetOffset(0));
- EXPECT_TRUE(scheduler_->SetGetBuffer(kTransferBufferId));
+ parser_));
}
virtual void TearDown() {
@@ -76,6 +82,8 @@ class GpuSchedulerTest : public testing::Test {
Buffer shared_memory_buffer_;
int32* buffer_;
scoped_ptr<gles2::MockGLES2Decoder> decoder_;
+ CommandParser* parser_;
+ scoped_ptr<AsyncAPIMock> async_api_;
scoped_ptr<GpuScheduler> scheduler_;
};
@@ -92,24 +100,6 @@ TEST_F(GpuSchedulerTest, SchedulerDoesNothingIfRingBufferIsEmpty) {
scheduler_->PutChanged();
}
-TEST_F(GpuSchedulerTest, GetSetBuffer) {
- CommandBuffer::State state;
-
- // Set the get offset to something not 0.
- EXPECT_CALL(*command_buffer_, SetGetOffset(2));
- scheduler_->SetGetOffset(2);
- EXPECT_EQ(2, scheduler_->GetGetOffset());
-
- // Set the buffer.
- EXPECT_CALL(*command_buffer_, GetTransferBuffer(kTransferBufferId))
- .WillOnce(Return(shared_memory_buffer_));
- EXPECT_CALL(*command_buffer_, SetGetOffset(0));
- EXPECT_TRUE(scheduler_->SetGetBuffer(kTransferBufferId));
-
- // Check the get offset was reset.
- EXPECT_EQ(0, scheduler_->GetGetOffset());
-}
-
TEST_F(GpuSchedulerTest, ProcessesOneCommand) {
CommandHeader* header = reinterpret_cast<CommandHeader*>(&buffer_[0]);
header[0].command = 7;
@@ -123,7 +113,7 @@ TEST_F(GpuSchedulerTest, ProcessesOneCommand) {
.WillRepeatedly(Return(state));
EXPECT_CALL(*command_buffer_, SetGetOffset(2));
- EXPECT_CALL(*decoder_, DoCommand(7, 1, &buffer_[0]))
+ EXPECT_CALL(*async_api_, DoCommand(7, 1, &buffer_[0]))
.WillOnce(Return(error::kNoError));
EXPECT_CALL(*command_buffer_, SetParseError(_))
@@ -146,11 +136,11 @@ TEST_F(GpuSchedulerTest, ProcessesTwoCommands) {
EXPECT_CALL(*command_buffer_, GetState())
.WillRepeatedly(Return(state));
- EXPECT_CALL(*decoder_, DoCommand(7, 1, &buffer_[0]))
+ EXPECT_CALL(*async_api_, DoCommand(7, 1, &buffer_[0]))
.WillOnce(Return(error::kNoError));
EXPECT_CALL(*command_buffer_, SetGetOffset(2));
- EXPECT_CALL(*decoder_, DoCommand(8, 0, &buffer_[2]))
+ EXPECT_CALL(*async_api_, DoCommand(8, 0, &buffer_[2]))
.WillOnce(Return(error::kNoError));
EXPECT_CALL(*command_buffer_, SetGetOffset(3));
@@ -168,12 +158,11 @@ TEST_F(GpuSchedulerTest, SetsErrorCodeOnCommandBuffer) {
EXPECT_CALL(*command_buffer_, GetState())
.WillRepeatedly(Return(state));
- EXPECT_CALL(*decoder_, DoCommand(7, 0, &buffer_[0]))
+ EXPECT_CALL(*async_api_, DoCommand(7, 0, &buffer_[0]))
.WillOnce(Return(
error::kUnknownCommand));
EXPECT_CALL(*command_buffer_, SetGetOffset(1));
- EXPECT_CALL(*command_buffer_, SetContextLostReason(_));
EXPECT_CALL(*decoder_, GetContextLostReason())
.WillOnce(Return(error::kUnknown));
EXPECT_CALL(*command_buffer_,