| 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/query_manager.h" | 5 #include "gpu/command_buffer/service/query_manager.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/cmd_buffer_engine.h" | 7 #include "gpu/command_buffer/service/cmd_buffer_engine.h" |
| 8 #include "gpu/command_buffer/service/error_state_mock.h" | 8 #include "gpu/command_buffer/service/error_state_mock.h" |
| 9 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 9 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
| 10 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" | 10 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 virtual void SetUp() { | 40 virtual void SetUp() { |
| 41 gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>()); | 41 gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>()); |
| 42 ::gfx::GLInterface::SetGLInterface(gl_.get()); | 42 ::gfx::GLInterface::SetGLInterface(gl_.get()); |
| 43 engine_.reset(new MockCommandBufferEngine()); | 43 engine_.reset(new MockCommandBufferEngine()); |
| 44 decoder_.reset(new MockGLES2Decoder()); | 44 decoder_.reset(new MockGLES2Decoder()); |
| 45 decoder_->set_engine(engine_.get()); | 45 decoder_->set_engine(engine_.get()); |
| 46 TestHelper::SetupFeatureInfoInitExpectations( | 46 TestHelper::SetupFeatureInfoInitExpectations( |
| 47 gl_.get(), | 47 gl_.get(), |
| 48 "GL_EXT_occlusion_query_boolean"); | 48 "GL_EXT_occlusion_query_boolean"); |
| 49 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 49 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 50 feature_info->Initialize("*"); | 50 feature_info->Initialize(); |
| 51 manager_.reset(new QueryManager(decoder_.get(), feature_info.get())); | 51 manager_.reset(new QueryManager(decoder_.get(), feature_info.get())); |
| 52 } | 52 } |
| 53 | 53 |
| 54 virtual void TearDown() { | 54 virtual void TearDown() { |
| 55 decoder_.reset(); | 55 decoder_.reset(); |
| 56 manager_->Destroy(false); | 56 manager_->Destroy(false); |
| 57 manager_.reset(); | 57 manager_.reset(); |
| 58 engine_.reset(); | 58 engine_.reset(); |
| 59 ::gfx::GLInterface::SetGLInterface(NULL); | 59 ::gfx::GLInterface::SetGLInterface(NULL); |
| 60 gl_.reset(); | 60 gl_.reset(); |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 TEST_F(QueryManagerTest, ARBOcclusionQuery2) { | 467 TEST_F(QueryManagerTest, ARBOcclusionQuery2) { |
| 468 const GLuint kClient1Id = 1; | 468 const GLuint kClient1Id = 1; |
| 469 const GLuint kService1Id = 11; | 469 const GLuint kService1Id = 11; |
| 470 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT; | 470 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT; |
| 471 const uint32 kSubmitCount = 123; | 471 const uint32 kSubmitCount = 123; |
| 472 | 472 |
| 473 TestHelper::SetupFeatureInfoInitExpectations( | 473 TestHelper::SetupFeatureInfoInitExpectations( |
| 474 gl_.get(), | 474 gl_.get(), |
| 475 "GL_ARB_occlusion_query2"); | 475 "GL_ARB_occlusion_query2"); |
| 476 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 476 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 477 feature_info->Initialize("*"); | 477 feature_info->Initialize(); |
| 478 scoped_ptr<QueryManager> manager( | 478 scoped_ptr<QueryManager> manager( |
| 479 new QueryManager(decoder_.get(), feature_info.get())); | 479 new QueryManager(decoder_.get(), feature_info.get())); |
| 480 | 480 |
| 481 EXPECT_CALL(*gl_, GenQueriesARB(1, _)) | 481 EXPECT_CALL(*gl_, GenQueriesARB(1, _)) |
| 482 .WillOnce(SetArgumentPointee<1>(kService1Id)) | 482 .WillOnce(SetArgumentPointee<1>(kService1Id)) |
| 483 .RetiresOnSaturation(); | 483 .RetiresOnSaturation(); |
| 484 QueryManager::Query* query = manager->CreateQuery( | 484 QueryManager::Query* query = manager->CreateQuery( |
| 485 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 485 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
| 486 ASSERT_TRUE(query != NULL); | 486 ASSERT_TRUE(query != NULL); |
| 487 | 487 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 501 TEST_F(QueryManagerTest, ARBOcclusionQuery) { | 501 TEST_F(QueryManagerTest, ARBOcclusionQuery) { |
| 502 const GLuint kClient1Id = 1; | 502 const GLuint kClient1Id = 1; |
| 503 const GLuint kService1Id = 11; | 503 const GLuint kService1Id = 11; |
| 504 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; | 504 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; |
| 505 const uint32 kSubmitCount = 123; | 505 const uint32 kSubmitCount = 123; |
| 506 | 506 |
| 507 TestHelper::SetupFeatureInfoInitExpectations( | 507 TestHelper::SetupFeatureInfoInitExpectations( |
| 508 gl_.get(), | 508 gl_.get(), |
| 509 "GL_ARB_occlusion_query"); | 509 "GL_ARB_occlusion_query"); |
| 510 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 510 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 511 feature_info->Initialize("*"); | 511 feature_info->Initialize(); |
| 512 scoped_ptr<QueryManager> manager( | 512 scoped_ptr<QueryManager> manager( |
| 513 new QueryManager(decoder_.get(), feature_info.get())); | 513 new QueryManager(decoder_.get(), feature_info.get())); |
| 514 | 514 |
| 515 EXPECT_CALL(*gl_, GenQueriesARB(1, _)) | 515 EXPECT_CALL(*gl_, GenQueriesARB(1, _)) |
| 516 .WillOnce(SetArgumentPointee<1>(kService1Id)) | 516 .WillOnce(SetArgumentPointee<1>(kService1Id)) |
| 517 .RetiresOnSaturation(); | 517 .RetiresOnSaturation(); |
| 518 QueryManager::Query* query = manager->CreateQuery( | 518 QueryManager::Query* query = manager->CreateQuery( |
| 519 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 519 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
| 520 ASSERT_TRUE(query != NULL); | 520 ASSERT_TRUE(query != NULL); |
| 521 | 521 |
| 522 EXPECT_CALL(*gl_, BeginQueryARB(GL_SAMPLES_PASSED_ARB, kService1Id)) | 522 EXPECT_CALL(*gl_, BeginQueryARB(GL_SAMPLES_PASSED_ARB, kService1Id)) |
| 523 .Times(1) | 523 .Times(1) |
| 524 .RetiresOnSaturation(); | 524 .RetiresOnSaturation(); |
| 525 EXPECT_CALL(*gl_, EndQueryARB(GL_SAMPLES_PASSED_ARB)) | 525 EXPECT_CALL(*gl_, EndQueryARB(GL_SAMPLES_PASSED_ARB)) |
| 526 .Times(1) | 526 .Times(1) |
| 527 .RetiresOnSaturation(); | 527 .RetiresOnSaturation(); |
| 528 EXPECT_TRUE(manager->BeginQuery(query)); | 528 EXPECT_TRUE(manager->BeginQuery(query)); |
| 529 EXPECT_TRUE(manager->EndQuery(query, kSubmitCount)); | 529 EXPECT_TRUE(manager->EndQuery(query, kSubmitCount)); |
| 530 manager->Destroy(false); | 530 manager->Destroy(false); |
| 531 } | 531 } |
| 532 | 532 |
| 533 TEST_F(QueryManagerTest, GetErrorQuery) { | 533 TEST_F(QueryManagerTest, GetErrorQuery) { |
| 534 const GLuint kClient1Id = 1; | 534 const GLuint kClient1Id = 1; |
| 535 const GLenum kTarget = GL_GET_ERROR_QUERY_CHROMIUM; | 535 const GLenum kTarget = GL_GET_ERROR_QUERY_CHROMIUM; |
| 536 const uint32 kSubmitCount = 123; | 536 const uint32 kSubmitCount = 123; |
| 537 | 537 |
| 538 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), ""); | 538 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), ""); |
| 539 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 539 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 540 feature_info->Initialize("*"); | 540 feature_info->Initialize(); |
| 541 scoped_ptr<QueryManager> manager( | 541 scoped_ptr<QueryManager> manager( |
| 542 new QueryManager(decoder_.get(), feature_info.get())); | 542 new QueryManager(decoder_.get(), feature_info.get())); |
| 543 | 543 |
| 544 QueryManager::Query* query = manager->CreateQuery( | 544 QueryManager::Query* query = manager->CreateQuery( |
| 545 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 545 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
| 546 ASSERT_TRUE(query != NULL); | 546 ASSERT_TRUE(query != NULL); |
| 547 | 547 |
| 548 // Setup shared memory like client would. | 548 // Setup shared memory like client would. |
| 549 QuerySync* sync = decoder_->GetSharedMemoryAs<QuerySync*>( | 549 QuerySync* sync = decoder_->GetSharedMemoryAs<QuerySync*>( |
| 550 kSharedMemoryId, kSharedMemoryOffset, sizeof(*sync)); | 550 kSharedMemoryId, kSharedMemoryOffset, sizeof(*sync)); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 565 | 565 |
| 566 EXPECT_EQ(static_cast<GLuint>(GL_INVALID_ENUM), sync->result); | 566 EXPECT_EQ(static_cast<GLuint>(GL_INVALID_ENUM), sync->result); |
| 567 | 567 |
| 568 manager->Destroy(false); | 568 manager->Destroy(false); |
| 569 } | 569 } |
| 570 | 570 |
| 571 } // namespace gles2 | 571 } // namespace gles2 |
| 572 } // namespace gpu | 572 } // namespace gpu |
| 573 | 573 |
| 574 | 574 |
| OLD | NEW |