Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc

Issue 560002: Fixed compile/link errors for gpu unit-tests. I had to mostly fix signed/unsi... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 #include "gpu/command_buffer/common/gles2_cmd_format.h" 6 #include "gpu/command_buffer/common/gles2_cmd_format.h"
7 #include "gpu/command_buffer/service/gl_mock.h" 7 #include "gpu/command_buffer/service/gl_mock.h"
8 #include "gpu/command_buffer/service/cmd_buffer_engine.h" 8 #include "gpu/command_buffer/service/cmd_buffer_engine.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 using ::gles2::MockGLInterface;
11 using ::testing::_; 12 using ::testing::_;
12 using ::testing::DoAll; 13 using ::testing::DoAll;
13 using ::testing::InSequence; 14 using ::testing::InSequence;
14 using ::testing::MatcherCast; 15 using ::testing::MatcherCast;
15 using ::testing::Pointee; 16 using ::testing::Pointee;
16 using ::testing::Return; 17 using ::testing::Return;
17 using ::testing::SetArrayArgument; 18 using ::testing::SetArrayArgument;
18 using ::testing::SetArgumentPointee; 19 using ::testing::SetArgumentPointee;
19 using ::testing::StrEq; 20 using ::testing::StrEq;
20 21
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 T* GetImmediateAs() { 77 T* GetImmediateAs() {
77 return reinterpret_cast<T*>(immediate_buffer_); 78 return reinterpret_cast<T*>(immediate_buffer_);
78 } 79 }
79 80
80 template <typename T, typename Command> 81 template <typename T, typename Command>
81 T GetImmediateDataAs(Command* cmd) { 82 T GetImmediateDataAs(Command* cmd) {
82 reinterpret_cast<T>(ImmediateDataAddress(cmd)); 83 reinterpret_cast<T>(ImmediateDataAddress(cmd));
83 } 84 }
84 85
85 virtual void SetUp() { 86 virtual void SetUp() {
86 gl_.reset(new ::gles2::MockGLInterface()); 87 gl_.reset(new MockGLInterface());
87 ::gles2::GLInterface::SetGLInterface(gl_.get()); 88 ::gles2::GLInterface::SetGLInterface(gl_.get());
88 89
89 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_VERTEX_ATTRIBS, _)) 90 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_VERTEX_ATTRIBS, _))
90 .WillOnce(SetArgumentPointee<1>(kNumVertexAttribs)) 91 .WillOnce(SetArgumentPointee<1>(kNumVertexAttribs))
91 .RetiresOnSaturation(); 92 .RetiresOnSaturation();
92 EXPECT_CALL(*gl_, GetError()) 93 EXPECT_CALL(*gl_, GetError())
93 .WillRepeatedly(Return(GL_NO_ERROR)); 94 .WillRepeatedly(Return(GL_NO_ERROR));
94 95
95 engine_.reset(new MockCommandBufferEngine()); 96 engine_.reset(new MockCommandBufferEngine());
96 Buffer buffer = engine_->GetSharedMemoryBuffer(kSharedMemoryId); 97 Buffer buffer = engine_->GetSharedMemoryBuffer(kSharedMemoryId);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 179
179 template <typename T> 180 template <typename T>
180 T GetSharedMemoryAs() { 181 T GetSharedMemoryAs() {
181 return reinterpret_cast<T>(shared_memory_address_); 182 return reinterpret_cast<T>(shared_memory_address_);
182 } 183 }
183 184
184 uint32 GetServiceId(uint32 client_id) { 185 uint32 GetServiceId(uint32 client_id) {
185 return decoder_->GetServiceIdForTesting(client_id); 186 return decoder_->GetServiceIdForTesting(client_id);
186 } 187 }
187 188
188 GLenum GetGLError() { 189 // Note that the error is returned as GLint instead of GLenum.
190 // This is because there is a mismatch in the types of GLenum and
191 // the error values GL_NO_ERROR, GL_INVALID_ENUM, etc. GLenum is
192 // typedef'd as unsigned int while the error values are defined as
193 // integers. This is problematic for template functions such as
194 // EXPECT_EQ that expect both types to be the same.
195 GLint GetGLError() {
189 EXPECT_CALL(*gl_, GetError()) 196 EXPECT_CALL(*gl_, GetError())
190 .WillOnce(Return(GL_NO_ERROR)) 197 .WillOnce(Return(GL_NO_ERROR))
191 .RetiresOnSaturation(); 198 .RetiresOnSaturation();
192 GetError cmd; 199 GetError cmd;
193 cmd.Init(shared_memory_id_, shared_memory_offset_); 200 cmd.Init(shared_memory_id_, shared_memory_offset_);
194 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 201 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
195 return *GetSharedMemoryAs<GLenum*>(); 202 return static_cast<GLint>(*GetSharedMemoryAs<GLenum*>());
196 } 203 }
197 204
198 scoped_ptr<::gles2::MockGLInterface> gl_; 205 scoped_ptr<MockGLInterface> gl_;
199 scoped_ptr<GLES2Decoder> decoder_; 206 scoped_ptr<GLES2Decoder> decoder_;
200 207
201 GLuint client_buffer_id_; 208 GLuint client_buffer_id_;
202 GLuint client_framebuffer_id_; 209 GLuint client_framebuffer_id_;
203 GLuint client_program_id_; 210 GLuint client_program_id_;
204 GLuint client_renderbuffer_id_; 211 GLuint client_renderbuffer_id_;
205 GLuint client_shader_id_; 212 GLuint client_shader_id_;
206 GLuint client_texture_id_; 213 GLuint client_texture_id_;
207 GLuint client_element_buffer_id_; 214 GLuint client_element_buffer_id_;
208 215
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 254
248 private: 255 private:
249 scoped_array<int8> data_; 256 scoped_array<int8> data_;
250 Buffer valid_buffer_; 257 Buffer valid_buffer_;
251 Buffer invalid_buffer_; 258 Buffer invalid_buffer_;
252 }; 259 };
253 260
254 scoped_ptr<MockCommandBufferEngine> engine_; 261 scoped_ptr<MockCommandBufferEngine> engine_;
255 }; 262 };
256 263
264 const GLint GLES2DecoderTest::kNumVertexAttribs;
265 const GLuint GLES2DecoderTest::kServiceBufferId;
266 const GLuint GLES2DecoderTest::kServiceFramebufferId;
267 const GLuint GLES2DecoderTest::kServiceRenderbufferId;
268 const GLuint GLES2DecoderTest::kServiceTextureId;
269 const GLuint GLES2DecoderTest::kServiceProgramId;
270 const GLuint GLES2DecoderTest::kServiceShaderId;
271 const GLuint GLES2DecoderTest::kServiceElementBufferId;
272 const int32 GLES2DecoderTest::kSharedMemoryId;
273 const size_t GLES2DecoderTest::kSharedBufferSize;
274 const uint32 GLES2DecoderTest::kSharedMemoryOffset;
275 const int32 GLES2DecoderTest::kInvalidSharedMemoryId;
276 const uint32 GLES2DecoderTest::kInvalidSharedMemoryOffset;
277 const uint32 GLES2DecoderTest::kInitialResult;
278 const uint32 GLES2DecoderTest::kNewClientId;
279 const uint32 GLES2DecoderTest::kNewServiceId;
280 const uint32 GLES2DecoderTest::kInvalidClientId;
281
257 template <> 282 template <>
258 void GLES2DecoderTest::SpecializedSetup<LinkProgram, 0>() { 283 void GLES2DecoderTest::SpecializedSetup<LinkProgram, 0>() {
259 InSequence dummy; 284 InSequence dummy;
260 EXPECT_CALL(*gl_, GetProgramiv(kServiceProgramId, GL_ACTIVE_ATTRIBUTES, _)) 285 EXPECT_CALL(*gl_, GetProgramiv(kServiceProgramId, GL_ACTIVE_ATTRIBUTES, _))
261 .WillOnce(SetArgumentPointee<2>(0)); 286 .WillOnce(SetArgumentPointee<2>(0));
262 EXPECT_CALL( 287 EXPECT_CALL(
263 *gl_, 288 *gl_,
264 GetProgramiv(kServiceProgramId, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, _)) 289 GetProgramiv(kServiceProgramId, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, _))
265 .WillOnce(SetArgumentPointee<2>(0)); 290 .WillOnce(SetArgumentPointee<2>(0));
266 }; 291 };
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 474
450 void DeleteVertexBuffer() { 475 void DeleteVertexBuffer() {
451 DoDeleteBuffer(client_buffer_id_, kServiceBufferId); 476 DoDeleteBuffer(client_buffer_id_, kServiceBufferId);
452 } 477 }
453 478
454 void DeleteIndexBuffer() { 479 void DeleteIndexBuffer() {
455 DoDeleteBuffer(client_element_buffer_id_, kServiceElementBufferId); 480 DoDeleteBuffer(client_element_buffer_id_, kServiceElementBufferId);
456 } 481 }
457 }; 482 };
458 483
484 const GLint GLES2DecoderWithShaderTest::kNumAttribs;
485 const GLint GLES2DecoderWithShaderTest::kMaxAttribLength;
486 const GLsizei GLES2DecoderWithShaderTest::kNumVertices;
487 const GLsizei GLES2DecoderWithShaderTest::kNumIndices;
488 const int GLES2DecoderWithShaderTest::kValidIndexRangeStart;
489 const int GLES2DecoderWithShaderTest::kValidIndexRangeCount;
490 const int GLES2DecoderWithShaderTest::kInvalidIndexRangeStart;
491 const int GLES2DecoderWithShaderTest::kInvalidIndexRangeCount;
492 const int GLES2DecoderWithShaderTest::kOutOfRangeIndexRangeEnd;
459 const char* GLES2DecoderWithShaderTest::kAttrib1Name = "attrib1"; 493 const char* GLES2DecoderWithShaderTest::kAttrib1Name = "attrib1";
460 const char* GLES2DecoderWithShaderTest::kAttrib2Name = "attrib2"; 494 const char* GLES2DecoderWithShaderTest::kAttrib2Name = "attrib2";
461 const char* GLES2DecoderWithShaderTest::kAttrib3Name = "attrib3"; 495 const char* GLES2DecoderWithShaderTest::kAttrib3Name = "attrib3";
462 496
463 TEST_F(GLES2DecoderWithShaderTest, DrawArraysNoAttributesSucceeds) { 497 TEST_F(GLES2DecoderWithShaderTest, DrawArraysNoAttributesSucceeds) {
464 EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices)) 498 EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
465 .Times(1) 499 .Times(1)
466 .RetiresOnSaturation(); 500 .RetiresOnSaturation();
467 DrawArrays cmd; 501 DrawArrays cmd;
468 cmd.Init(GL_TRIANGLES, 0, kNumVertices); 502 cmd.Init(GL_TRIANGLES, 0, kNumVertices);
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); 790 EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
757 } 791 }
758 792
759 793
760 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_autogen.h" 794 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_autogen.h"
761 795
762 } // namespace gles2 796 } // namespace gles2
763 } // namespace gpu 797 } // namespace gpu
764 798
765 799
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/common_decoder_unittest.cc ('k') | gpu/command_buffer/service/gpu_processor_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698