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 // Tests for GLES2Implementation. | 5 // Tests for GLES2Implementation. |
6 | 6 |
7 #include "gpu/command_buffer/client/client_test_helper.h" | 7 #include "gpu/command_buffer/client/client_test_helper.h" |
8 | 8 |
9 #include "gpu/command_buffer/common/command_buffer.h" | 9 #include "gpu/command_buffer/common/command_buffer.h" |
10 #include "gpu/command_buffer/client/cmd_buffer_helper.h" | 10 #include "gpu/command_buffer/client/cmd_buffer_helper.h" |
11 #include "testing/gmock/include/gmock/gmock.h" | 11 #include "testing/gmock/include/gmock/gmock.h" |
12 | 12 |
13 using ::testing::_; | 13 using ::testing::_; |
14 using ::testing::Invoke; | 14 using ::testing::Invoke; |
15 | 15 |
16 namespace gpu { | 16 namespace gpu { |
17 | 17 |
18 MockCommandBufferBase::MockCommandBufferBase() { | 18 MockCommandBufferBase::MockCommandBufferBase() : put_offset_(0) { |
19 } | 19 } |
20 | 20 |
21 MockCommandBufferBase::~MockCommandBufferBase() { | 21 MockCommandBufferBase::~MockCommandBufferBase() { |
22 } | 22 } |
23 | 23 |
24 bool MockCommandBufferBase::Initialize() { | 24 bool MockCommandBufferBase::Initialize() { |
25 return true; | 25 return true; |
26 } | 26 } |
27 | 27 |
28 CommandBuffer::State MockCommandBufferBase::GetLastState() { | 28 CommandBuffer::State MockCommandBufferBase::GetLastState() { |
29 return state_; | 29 return state_; |
30 } | 30 } |
31 | 31 |
32 int32 MockCommandBufferBase::GetLastToken() { | 32 int32 MockCommandBufferBase::GetLastToken() { |
33 return state_.token; | 33 return state_.token; |
34 } | 34 } |
35 | 35 |
36 void MockCommandBufferBase::SetGetOffset(int32 get_offset) { | 36 void MockCommandBufferBase::SetGetOffset(int32 get_offset) { |
37 state_.get_offset = get_offset; | 37 state_.get_offset = get_offset; |
38 } | 38 } |
39 | 39 |
40 void MockCommandBufferBase::WaitForTokenInRange(int32 start, int32 end) {} | 40 void MockCommandBufferBase::WaitForTokenInRange(int32 start, int32 end) {} |
41 | 41 |
42 void MockCommandBufferBase::WaitForGetOffsetInRange(int32 start, int32 end) { | 42 void MockCommandBufferBase::WaitForGetOffsetInRange(int32 start, int32 end) { |
43 state_.get_offset = state_.put_offset; | 43 state_.get_offset = put_offset_; |
44 OnFlush(); | 44 OnFlush(); |
45 } | 45 } |
46 | 46 |
47 void MockCommandBufferBase::SetGetBuffer(int transfer_buffer_id) { | 47 void MockCommandBufferBase::SetGetBuffer(int transfer_buffer_id) { |
48 ring_buffer_buffer_ = GetTransferBuffer(transfer_buffer_id); | 48 ring_buffer_buffer_ = GetTransferBuffer(transfer_buffer_id); |
49 ring_buffer_ = | 49 ring_buffer_ = |
50 static_cast<CommandBufferEntry*>(ring_buffer_buffer_->memory()); | 50 static_cast<CommandBufferEntry*>(ring_buffer_buffer_->memory()); |
51 state_.num_entries = ring_buffer_buffer_->size() / sizeof(ring_buffer_[0]); | |
52 state_.token = 10000; // All token checks in the tests should pass. | 51 state_.token = 10000; // All token checks in the tests should pass. |
53 } | 52 } |
54 | 53 |
55 // Get's the Id of the next transfer buffer that will be returned | 54 // Get's the Id of the next transfer buffer that will be returned |
56 // by CreateTransferBuffer. This is useful for testing expected ids. | 55 // by CreateTransferBuffer. This is useful for testing expected ids. |
57 int32 MockCommandBufferBase::GetNextFreeTransferBufferId() { | 56 int32 MockCommandBufferBase::GetNextFreeTransferBufferId() { |
58 for (size_t ii = 0; ii < arraysize(transfer_buffer_buffers_); ++ii) { | 57 for (size_t ii = 0; ii < arraysize(transfer_buffer_buffers_); ++ii) { |
59 if (!transfer_buffer_buffers_[ii].get()) { | 58 if (!transfer_buffer_buffers_[ii].get()) { |
60 return kTransferBufferBaseId + ii; | 59 return kTransferBufferBaseId + ii; |
61 } | 60 } |
(...skipping 22 matching lines...) Expand all Loading... |
84 transfer_buffer_buffers_[id] = NULL; | 83 transfer_buffer_buffers_[id] = NULL; |
85 } | 84 } |
86 | 85 |
87 scoped_refptr<Buffer> MockCommandBufferBase::GetTransferBuffer(int32 id) { | 86 scoped_refptr<Buffer> MockCommandBufferBase::GetTransferBuffer(int32 id) { |
88 DCHECK_GE(id, kTransferBufferBaseId); | 87 DCHECK_GE(id, kTransferBufferBaseId); |
89 DCHECK_LT(id, kTransferBufferBaseId + kMaxTransferBuffers); | 88 DCHECK_LT(id, kTransferBufferBaseId + kMaxTransferBuffers); |
90 return transfer_buffer_buffers_[id - kTransferBufferBaseId]; | 89 return transfer_buffer_buffers_[id - kTransferBufferBaseId]; |
91 } | 90 } |
92 | 91 |
93 void MockCommandBufferBase::FlushHelper(int32 put_offset) { | 92 void MockCommandBufferBase::FlushHelper(int32 put_offset) { |
94 state_.put_offset = put_offset; | 93 put_offset_ = put_offset; |
95 } | 94 } |
96 | 95 |
97 void MockCommandBufferBase::SetToken(int32 token) { | 96 void MockCommandBufferBase::SetToken(int32 token) { |
98 NOTREACHED(); | 97 NOTREACHED(); |
99 state_.token = token; | 98 state_.token = token; |
100 } | 99 } |
101 | 100 |
102 void MockCommandBufferBase::SetParseError(error::Error error) { | 101 void MockCommandBufferBase::SetParseError(error::Error error) { |
103 NOTREACHED(); | 102 NOTREACHED(); |
104 state_.error = error; | 103 state_.error = error; |
105 } | 104 } |
106 | 105 |
107 void MockCommandBufferBase::SetContextLostReason( | 106 void MockCommandBufferBase::SetContextLostReason( |
108 error::ContextLostReason reason) { | 107 error::ContextLostReason reason) { |
109 NOTREACHED(); | 108 NOTREACHED(); |
110 state_.context_lost_reason = reason; | 109 state_.context_lost_reason = reason; |
111 } | 110 } |
112 | 111 |
| 112 int32 MockCommandBufferBase::GetPutOffset() { |
| 113 return put_offset_; |
| 114 } |
| 115 |
113 // GCC requires these declarations, but MSVC requires they not be present | 116 // GCC requires these declarations, but MSVC requires they not be present |
114 #ifndef _MSC_VER | 117 #ifndef _MSC_VER |
115 const int32 MockCommandBufferBase::kTransferBufferBaseId; | 118 const int32 MockCommandBufferBase::kTransferBufferBaseId; |
116 const int32 MockCommandBufferBase::kMaxTransferBuffers; | 119 const int32 MockCommandBufferBase::kMaxTransferBuffers; |
117 #endif | 120 #endif |
118 | 121 |
119 MockClientCommandBuffer::MockClientCommandBuffer() { | 122 MockClientCommandBuffer::MockClientCommandBuffer() { |
120 DelegateToFake(); | 123 DelegateToFake(); |
121 } | 124 } |
122 | 125 |
(...skipping 26 matching lines...) Expand all Loading... |
149 | 152 |
150 MockClientGpuControl::MockClientGpuControl() { | 153 MockClientGpuControl::MockClientGpuControl() { |
151 } | 154 } |
152 | 155 |
153 MockClientGpuControl::~MockClientGpuControl() { | 156 MockClientGpuControl::~MockClientGpuControl() { |
154 } | 157 } |
155 | 158 |
156 } // namespace gpu | 159 } // namespace gpu |
157 | 160 |
158 | 161 |
OLD | NEW |