| 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/test_helper.h" | 5 #include "gpu/command_buffer/service/test_helper.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| 11 #include "base/strings/string_tokenizer.h" | 11 #include "base/strings/string_tokenizer.h" |
| 12 #include "gpu/command_buffer/common/types.h" | 12 #include "gpu/command_buffer/common/types.h" |
| 13 #include "gpu/command_buffer/service/buffer_manager.h" | 13 #include "gpu/command_buffer/service/buffer_manager.h" |
| 14 #include "gpu/command_buffer/service/error_state_mock.h" |
| 14 #include "gpu/command_buffer/service/gl_utils.h" | 15 #include "gpu/command_buffer/service/gl_utils.h" |
| 15 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" | |
| 16 #include "gpu/command_buffer/service/gpu_switches.h" | 16 #include "gpu/command_buffer/service/gpu_switches.h" |
| 17 #include "gpu/command_buffer/service/program_manager.h" | 17 #include "gpu/command_buffer/service/program_manager.h" |
| 18 #include "gpu/command_buffer/service/texture_manager.h" | 18 #include "gpu/command_buffer/service/texture_manager.h" |
| 19 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
| 20 #include "ui/gl/gl_mock.h" | 20 #include "ui/gl/gl_mock.h" |
| 21 | 21 |
| 22 using ::testing::_; | 22 using ::testing::_; |
| 23 using ::testing::DoAll; | 23 using ::testing::DoAll; |
| 24 using ::testing::InSequence; | 24 using ::testing::InSequence; |
| 25 using ::testing::MatcherCast; | 25 using ::testing::MatcherCast; |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 EXPECT_CALL(*gl, | 491 EXPECT_CALL(*gl, |
| 492 LinkProgram(service_id)) | 492 LinkProgram(service_id)) |
| 493 .Times(1) | 493 .Times(1) |
| 494 .RetiresOnSaturation(); | 494 .RetiresOnSaturation(); |
| 495 | 495 |
| 496 SetupProgramSuccessExpectations( | 496 SetupProgramSuccessExpectations( |
| 497 gl, attribs, num_attribs, uniforms, num_uniforms, service_id); | 497 gl, attribs, num_attribs, uniforms, num_uniforms, service_id); |
| 498 } | 498 } |
| 499 | 499 |
| 500 void TestHelper::DoBufferData( | 500 void TestHelper::DoBufferData( |
| 501 ::gfx::MockGLInterface* gl, MockGLES2Decoder* decoder, | 501 ::gfx::MockGLInterface* gl, MockErrorState* error_state, |
| 502 BufferManager* manager, Buffer* buffer, GLsizeiptr size, GLenum usage, | 502 BufferManager* manager, Buffer* buffer, GLsizeiptr size, GLenum usage, |
| 503 const GLvoid* data, GLenum error) { | 503 const GLvoid* data, GLenum error) { |
| 504 EXPECT_CALL(*decoder, CopyRealGLErrorsToWrapper(_, _, _)) | 504 EXPECT_CALL(*error_state, CopyRealGLErrorsToWrapper(_, _, _)) |
| 505 .Times(1) | 505 .Times(1) |
| 506 .RetiresOnSaturation(); | 506 .RetiresOnSaturation(); |
| 507 if (manager->IsUsageClientSideArray(usage)) { | 507 if (manager->IsUsageClientSideArray(usage)) { |
| 508 EXPECT_CALL(*gl, BufferData( | 508 EXPECT_CALL(*gl, BufferData( |
| 509 buffer->target(), 0, _, usage)) | 509 buffer->target(), 0, _, usage)) |
| 510 .Times(1) | 510 .Times(1) |
| 511 .RetiresOnSaturation(); | 511 .RetiresOnSaturation(); |
| 512 } else { | 512 } else { |
| 513 EXPECT_CALL(*gl, BufferData( | 513 EXPECT_CALL(*gl, BufferData( |
| 514 buffer->target(), size, _, usage)) | 514 buffer->target(), size, _, usage)) |
| 515 .Times(1) | 515 .Times(1) |
| 516 .RetiresOnSaturation(); | 516 .RetiresOnSaturation(); |
| 517 } | 517 } |
| 518 EXPECT_CALL(*decoder, PeekGLError(_, _, _)) | 518 EXPECT_CALL(*error_state, PeekGLError(_, _, _)) |
| 519 .WillOnce(Return(error)) | 519 .WillOnce(Return(error)) |
| 520 .RetiresOnSaturation(); | 520 .RetiresOnSaturation(); |
| 521 manager->DoBufferData(decoder, buffer, size, usage, data); | 521 manager->DoBufferData(error_state, buffer, size, usage, data); |
| 522 } | 522 } |
| 523 | 523 |
| 524 void TestHelper::SetTexParameterWithExpectations( | 524 void TestHelper::SetTexParameterWithExpectations( |
| 525 ::gfx::MockGLInterface* gl, MockGLES2Decoder* decoder, | 525 ::gfx::MockGLInterface* gl, MockErrorState* error_state, |
| 526 TextureManager* manager, Texture* texture, | 526 TextureManager* manager, Texture* texture, |
| 527 GLenum pname, GLint value, GLenum error) { | 527 GLenum pname, GLint value, GLenum error) { |
| 528 if (error == GL_NO_ERROR) { | 528 if (error == GL_NO_ERROR) { |
| 529 if (pname != GL_TEXTURE_POOL_CHROMIUM) { | 529 if (pname != GL_TEXTURE_POOL_CHROMIUM) { |
| 530 EXPECT_CALL(*gl, TexParameteri(texture->target(), pname, value)) | 530 EXPECT_CALL(*gl, TexParameteri(texture->target(), pname, value)) |
| 531 .Times(1) | 531 .Times(1) |
| 532 .RetiresOnSaturation(); | 532 .RetiresOnSaturation(); |
| 533 } | 533 } |
| 534 } else if (error == GL_INVALID_ENUM) { | 534 } else if (error == GL_INVALID_ENUM) { |
| 535 EXPECT_CALL(*decoder, SetGLErrorInvalidEnum(_, _, _, value, _)) | 535 EXPECT_CALL(*error_state, SetGLErrorInvalidEnum(_, _, _, value, _)) |
| 536 .Times(1) | 536 .Times(1) |
| 537 .RetiresOnSaturation(); | 537 .RetiresOnSaturation(); |
| 538 } else { | 538 } else { |
| 539 EXPECT_CALL(*decoder, SetGLErrorInvalidParam(_, _, error, _, _, _)) | 539 EXPECT_CALL(*error_state, SetGLErrorInvalidParam(_, _, error, _, _, _)) |
| 540 .Times(1) | 540 .Times(1) |
| 541 .RetiresOnSaturation(); | 541 .RetiresOnSaturation(); |
| 542 } | 542 } |
| 543 manager->SetParameter("", decoder, texture, pname, value); | 543 manager->SetParameter("", error_state, texture, pname, value); |
| 544 } | 544 } |
| 545 | 545 |
| 546 ScopedGLImplementationSetter::ScopedGLImplementationSetter( | 546 ScopedGLImplementationSetter::ScopedGLImplementationSetter( |
| 547 gfx::GLImplementation implementation) | 547 gfx::GLImplementation implementation) |
| 548 : old_implementation_(gfx::GetGLImplementation()) { | 548 : old_implementation_(gfx::GetGLImplementation()) { |
| 549 gfx::SetGLImplementation(implementation); | 549 gfx::SetGLImplementation(implementation); |
| 550 } | 550 } |
| 551 | 551 |
| 552 ScopedGLImplementationSetter::~ScopedGLImplementationSetter() { | 552 ScopedGLImplementationSetter::~ScopedGLImplementationSetter() { |
| 553 gfx::SetGLImplementation(old_implementation_); | 553 gfx::SetGLImplementation(old_implementation_); |
| 554 } | 554 } |
| 555 | 555 |
| 556 } // namespace gles2 | 556 } // namespace gles2 |
| 557 } // namespace gpu | 557 } // namespace gpu |
| 558 | 558 |
| OLD | NEW |