| 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/gles2_implementation.h" | 7 #include "gpu/command_buffer/client/gles2_implementation.h" |
| 8 | 8 |
| 9 #include <GLES2/gl2ext.h> | 9 #include <GLES2/gl2ext.h> |
| 10 #include <GLES2/gl2extchromium.h> | 10 #include <GLES2/gl2extchromium.h> |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 | 359 |
| 360 transfer_buffer_.reset(new MockTransferBuffer( | 360 transfer_buffer_.reset(new MockTransferBuffer( |
| 361 command_buffer(), | 361 command_buffer(), |
| 362 kTransferBufferSize, | 362 kTransferBufferSize, |
| 363 GLES2Implementation::kStartingOffset, | 363 GLES2Implementation::kStartingOffset, |
| 364 GLES2Implementation::kAlignment)); | 364 GLES2Implementation::kAlignment)); |
| 365 | 365 |
| 366 helper_.reset(new GLES2CmdHelper(command_buffer())); | 366 helper_.reset(new GLES2CmdHelper(command_buffer())); |
| 367 helper_->Initialize(kCommandBufferSizeBytes); | 367 helper_->Initialize(kCommandBufferSizeBytes); |
| 368 | 368 |
| 369 gpu_control_.reset(new StrictMock<MockClientGpuControl>()); |
| 370 |
| 369 GLES2Implementation::GLStaticState state; | 371 GLES2Implementation::GLStaticState state; |
| 370 GLES2Implementation::GLStaticState::IntState& int_state = state.int_state; | 372 GLES2Implementation::GLStaticState::IntState& int_state = state.int_state; |
| 371 int_state.max_combined_texture_image_units = kMaxCombinedTextureImageUnits; | 373 int_state.max_combined_texture_image_units = kMaxCombinedTextureImageUnits; |
| 372 int_state.max_cube_map_texture_size = kMaxCubeMapTextureSize; | 374 int_state.max_cube_map_texture_size = kMaxCubeMapTextureSize; |
| 373 int_state.max_fragment_uniform_vectors = kMaxFragmentUniformVectors; | 375 int_state.max_fragment_uniform_vectors = kMaxFragmentUniformVectors; |
| 374 int_state.max_renderbuffer_size = kMaxRenderbufferSize; | 376 int_state.max_renderbuffer_size = kMaxRenderbufferSize; |
| 375 int_state.max_texture_image_units = kMaxTextureImageUnits; | 377 int_state.max_texture_image_units = kMaxTextureImageUnits; |
| 376 int_state.max_texture_size = kMaxTextureSize; | 378 int_state.max_texture_size = kMaxTextureSize; |
| 377 int_state.max_varying_vectors = kMaxVaryingVectors; | 379 int_state.max_varying_vectors = kMaxVaryingVectors; |
| 378 int_state.max_vertex_attribs = kMaxVertexAttribs; | 380 int_state.max_vertex_attribs = kMaxVertexAttribs; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 394 EXPECT_CALL(*command_buffer(), OnFlush()) | 396 EXPECT_CALL(*command_buffer(), OnFlush()) |
| 395 .WillOnce(SetMemory(mem1.ptr + sizeof(int_state), int_state)) | 397 .WillOnce(SetMemory(mem1.ptr + sizeof(int_state), int_state)) |
| 396 .RetiresOnSaturation(); | 398 .RetiresOnSaturation(); |
| 397 GetNextToken(); // eat the token that starting up will use. | 399 GetNextToken(); // eat the token that starting up will use. |
| 398 | 400 |
| 399 gl_.reset(new GLES2Implementation( | 401 gl_.reset(new GLES2Implementation( |
| 400 helper_.get(), | 402 helper_.get(), |
| 401 NULL, | 403 NULL, |
| 402 transfer_buffer_.get(), | 404 transfer_buffer_.get(), |
| 403 bind_generates_resource, | 405 bind_generates_resource, |
| 404 NULL)); | 406 gpu_control_.get())); |
| 405 ASSERT_TRUE(gl_->Initialize( | 407 ASSERT_TRUE(gl_->Initialize( |
| 406 kTransferBufferSize, | 408 kTransferBufferSize, |
| 407 kTransferBufferSize, | 409 kTransferBufferSize, |
| 408 kTransferBufferSize)); | 410 kTransferBufferSize)); |
| 409 } | 411 } |
| 410 | 412 |
| 411 EXPECT_CALL(*command_buffer(), OnFlush()) | 413 EXPECT_CALL(*command_buffer(), OnFlush()) |
| 412 .Times(1) | 414 .Times(1) |
| 413 .RetiresOnSaturation(); | 415 .RetiresOnSaturation(); |
| 414 helper_->CommandBufferHelper::Finish(); | 416 helper_->CommandBufferHelper::Finish(); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 466 .RetiresOnSaturation(); | 468 .RetiresOnSaturation(); |
| 467 return gl_->GetError(); | 469 return gl_->GetError(); |
| 468 } | 470 } |
| 469 | 471 |
| 470 bool GetBucketContents(uint32 bucket_id, std::vector<int8>* data) { | 472 bool GetBucketContents(uint32 bucket_id, std::vector<int8>* data) { |
| 471 return gl_->GetBucketContents(bucket_id, data); | 473 return gl_->GetBucketContents(bucket_id, data); |
| 472 } | 474 } |
| 473 | 475 |
| 474 Sequence sequence_; | 476 Sequence sequence_; |
| 475 scoped_ptr<MockClientCommandBuffer> command_buffer_; | 477 scoped_ptr<MockClientCommandBuffer> command_buffer_; |
| 478 scoped_ptr<MockClientGpuControl> gpu_control_; |
| 476 scoped_ptr<GLES2CmdHelper> helper_; | 479 scoped_ptr<GLES2CmdHelper> helper_; |
| 477 scoped_ptr<MockTransferBuffer> transfer_buffer_; | 480 scoped_ptr<MockTransferBuffer> transfer_buffer_; |
| 478 scoped_ptr<GLES2Implementation> gl_; | 481 scoped_ptr<GLES2Implementation> gl_; |
| 479 CommandBufferEntry* commands_; | 482 CommandBufferEntry* commands_; |
| 480 int token_; | 483 int token_; |
| 481 }; | 484 }; |
| 482 | 485 |
| 483 void GLES2ImplementationTest::SetUp() { | 486 void GLES2ImplementationTest::SetUp() { |
| 484 Initialize(true); | 487 Initialize(true); |
| 485 } | 488 } |
| (...skipping 1983 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2469 TEST_F(GLES2ImplementationTest, GetString) { | 2472 TEST_F(GLES2ImplementationTest, GetString) { |
| 2470 const uint32 kBucketId = GLES2Implementation::kResultBucketId; | 2473 const uint32 kBucketId = GLES2Implementation::kResultBucketId; |
| 2471 const Str7 kString = {"foobar"}; | 2474 const Str7 kString = {"foobar"}; |
| 2472 // GL_CHROMIUM_map_sub GL_CHROMIUM_flipy are hard coded into | 2475 // GL_CHROMIUM_map_sub GL_CHROMIUM_flipy are hard coded into |
| 2473 // GLES2Implementation. | 2476 // GLES2Implementation. |
| 2474 const char* expected_str = | 2477 const char* expected_str = |
| 2475 "foobar " | 2478 "foobar " |
| 2476 "GL_CHROMIUM_flipy " | 2479 "GL_CHROMIUM_flipy " |
| 2477 "GL_CHROMIUM_map_sub " | 2480 "GL_CHROMIUM_map_sub " |
| 2478 "GL_CHROMIUM_shallow_flush " | 2481 "GL_CHROMIUM_shallow_flush " |
| 2479 "GL_EXT_unpack_subimage"; | 2482 "GL_EXT_unpack_subimage " |
| 2483 "GL_CHROMIUM_map_image"; |
| 2480 const char kBad = 0x12; | 2484 const char kBad = 0x12; |
| 2481 struct Cmds { | 2485 struct Cmds { |
| 2482 cmd::SetBucketSize set_bucket_size1; | 2486 cmd::SetBucketSize set_bucket_size1; |
| 2483 cmds::GetString get_string; | 2487 cmds::GetString get_string; |
| 2484 cmd::GetBucketStart get_bucket_start; | 2488 cmd::GetBucketStart get_bucket_start; |
| 2485 cmd::SetToken set_token1; | 2489 cmd::SetToken set_token1; |
| 2486 cmd::SetBucketSize set_bucket_size2; | 2490 cmd::SetBucketSize set_bucket_size2; |
| 2487 }; | 2491 }; |
| 2488 ExpectedMemoryInfo mem1 = GetExpectedMemory(MaxTransferBufferSize()); | 2492 ExpectedMemoryInfo mem1 = GetExpectedMemory(MaxTransferBufferSize()); |
| 2489 ExpectedMemoryInfo result1 = | 2493 ExpectedMemoryInfo result1 = |
| (...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2867 ClearCommands(); | 2871 ClearCommands(); |
| 2868 gl_->Enable(GL_BLEND); | 2872 gl_->Enable(GL_BLEND); |
| 2869 EXPECT_TRUE(NoCommandsWritten()); | 2873 EXPECT_TRUE(NoCommandsWritten()); |
| 2870 } | 2874 } |
| 2871 | 2875 |
| 2872 | 2876 |
| 2873 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h" | 2877 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h" |
| 2874 | 2878 |
| 2875 } // namespace gles2 | 2879 } // namespace gles2 |
| 2876 } // namespace gpu | 2880 } // namespace gpu |
| OLD | NEW |