| 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/feature_info.h" | 9 #include "gpu/command_buffer/service/feature_info.h" |
| 10 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 10 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 | 59 |
| 60 void SetUpMockGL(const char* extension_expectations) { | 60 void SetUpMockGL(const char* extension_expectations) { |
| 61 engine_.reset(new MockCommandBufferEngine()); | 61 engine_.reset(new MockCommandBufferEngine()); |
| 62 decoder_.reset(new MockGLES2Decoder()); | 62 decoder_.reset(new MockGLES2Decoder()); |
| 63 decoder_->set_engine(engine_.get()); | 63 decoder_->set_engine(engine_.get()); |
| 64 TestHelper::SetupFeatureInfoInitExpectations( | 64 TestHelper::SetupFeatureInfoInitExpectations( |
| 65 gl_.get(), extension_expectations); | 65 gl_.get(), extension_expectations); |
| 66 EXPECT_CALL(*decoder_.get(), GetGLContext()) | 66 EXPECT_CALL(*decoder_.get(), GetGLContext()) |
| 67 .WillRepeatedly(Return(GetGLContext())); | 67 .WillRepeatedly(Return(GetGLContext())); |
| 68 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 68 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 69 feature_info->Initialize(); | 69 feature_info->InitializeForTesting(); |
| 70 manager_.reset(new QueryManager(decoder_.get(), feature_info.get())); | 70 manager_.reset(new QueryManager(decoder_.get(), feature_info.get())); |
| 71 } | 71 } |
| 72 | 72 |
| 73 QueryManager::Query* CreateQuery( | 73 QueryManager::Query* CreateQuery( |
| 74 GLenum target, GLuint client_id, int32 shm_id, uint32 shm_offset, | 74 GLenum target, GLuint client_id, int32 shm_id, uint32 shm_offset, |
| 75 GLuint service_id) { | 75 GLuint service_id) { |
| 76 EXPECT_CALL(*gl_, GenQueries(1, _)) | 76 EXPECT_CALL(*gl_, GenQueries(1, _)) |
| 77 .WillOnce(SetArgumentPointee<1>(service_id)) | 77 .WillOnce(SetArgumentPointee<1>(service_id)) |
| 78 .RetiresOnSaturation(); | 78 .RetiresOnSaturation(); |
| 79 return manager_->CreateQuery(target, client_id, shm_id, shm_offset); | 79 return manager_->CreateQuery(target, client_id, shm_id, shm_offset); |
| (...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 TEST_F(QueryManagerTest, ARBOcclusionQuery2) { | 497 TEST_F(QueryManagerTest, ARBOcclusionQuery2) { |
| 498 const GLuint kClient1Id = 1; | 498 const GLuint kClient1Id = 1; |
| 499 const GLuint kService1Id = 11; | 499 const GLuint kService1Id = 11; |
| 500 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT; | 500 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT; |
| 501 const base::subtle::Atomic32 kSubmitCount = 123; | 501 const base::subtle::Atomic32 kSubmitCount = 123; |
| 502 | 502 |
| 503 TestHelper::SetupFeatureInfoInitExpectations( | 503 TestHelper::SetupFeatureInfoInitExpectations( |
| 504 gl_.get(), | 504 gl_.get(), |
| 505 "GL_ARB_occlusion_query2"); | 505 "GL_ARB_occlusion_query2"); |
| 506 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 506 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 507 feature_info->Initialize(); | 507 feature_info->InitializeForTesting(); |
| 508 scoped_ptr<QueryManager> manager( | 508 scoped_ptr<QueryManager> manager( |
| 509 new QueryManager(decoder_.get(), feature_info.get())); | 509 new QueryManager(decoder_.get(), feature_info.get())); |
| 510 | 510 |
| 511 EXPECT_CALL(*gl_, GenQueries(1, _)) | 511 EXPECT_CALL(*gl_, GenQueries(1, _)) |
| 512 .WillOnce(SetArgumentPointee<1>(kService1Id)) | 512 .WillOnce(SetArgumentPointee<1>(kService1Id)) |
| 513 .RetiresOnSaturation(); | 513 .RetiresOnSaturation(); |
| 514 QueryManager::Query* query = manager->CreateQuery( | 514 QueryManager::Query* query = manager->CreateQuery( |
| 515 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 515 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
| 516 ASSERT_TRUE(query != NULL); | 516 ASSERT_TRUE(query != NULL); |
| 517 | 517 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 531 TEST_F(QueryManagerTest, ARBOcclusionQuery) { | 531 TEST_F(QueryManagerTest, ARBOcclusionQuery) { |
| 532 const GLuint kClient1Id = 1; | 532 const GLuint kClient1Id = 1; |
| 533 const GLuint kService1Id = 11; | 533 const GLuint kService1Id = 11; |
| 534 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; | 534 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; |
| 535 const base::subtle::Atomic32 kSubmitCount = 123; | 535 const base::subtle::Atomic32 kSubmitCount = 123; |
| 536 | 536 |
| 537 TestHelper::SetupFeatureInfoInitExpectations( | 537 TestHelper::SetupFeatureInfoInitExpectations( |
| 538 gl_.get(), | 538 gl_.get(), |
| 539 "GL_ARB_occlusion_query"); | 539 "GL_ARB_occlusion_query"); |
| 540 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 540 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 541 feature_info->Initialize(); | 541 feature_info->InitializeForTesting(); |
| 542 scoped_ptr<QueryManager> manager( | 542 scoped_ptr<QueryManager> manager( |
| 543 new QueryManager(decoder_.get(), feature_info.get())); | 543 new QueryManager(decoder_.get(), feature_info.get())); |
| 544 | 544 |
| 545 EXPECT_CALL(*gl_, GenQueries(1, _)) | 545 EXPECT_CALL(*gl_, GenQueries(1, _)) |
| 546 .WillOnce(SetArgumentPointee<1>(kService1Id)) | 546 .WillOnce(SetArgumentPointee<1>(kService1Id)) |
| 547 .RetiresOnSaturation(); | 547 .RetiresOnSaturation(); |
| 548 QueryManager::Query* query = manager->CreateQuery( | 548 QueryManager::Query* query = manager->CreateQuery( |
| 549 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 549 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
| 550 ASSERT_TRUE(query != NULL); | 550 ASSERT_TRUE(query != NULL); |
| 551 | 551 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 564 const GLuint kClient1Id = 1; | 564 const GLuint kClient1Id = 1; |
| 565 const GLuint kService1Id = 11; | 565 const GLuint kService1Id = 11; |
| 566 const GLuint kService2Id = 12; | 566 const GLuint kService2Id = 12; |
| 567 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; | 567 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; |
| 568 const base::subtle::Atomic32 kSubmitCount = 123; | 568 const base::subtle::Atomic32 kSubmitCount = 123; |
| 569 | 569 |
| 570 TestHelper::SetupFeatureInfoInitExpectations( | 570 TestHelper::SetupFeatureInfoInitExpectations( |
| 571 gl_.get(), | 571 gl_.get(), |
| 572 "GL_ARB_occlusion_query"); | 572 "GL_ARB_occlusion_query"); |
| 573 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 573 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 574 feature_info->Initialize(); | 574 feature_info->InitializeForTesting(); |
| 575 scoped_ptr<QueryManager> manager( | 575 scoped_ptr<QueryManager> manager( |
| 576 new QueryManager(decoder_.get(), feature_info.get())); | 576 new QueryManager(decoder_.get(), feature_info.get())); |
| 577 | 577 |
| 578 EXPECT_CALL(*gl_, GenQueries(1, _)) | 578 EXPECT_CALL(*gl_, GenQueries(1, _)) |
| 579 .WillOnce(SetArgumentPointee<1>(kService1Id)) | 579 .WillOnce(SetArgumentPointee<1>(kService1Id)) |
| 580 .RetiresOnSaturation(); | 580 .RetiresOnSaturation(); |
| 581 QueryManager::Query* query = manager->CreateQuery( | 581 QueryManager::Query* query = manager->CreateQuery( |
| 582 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 582 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
| 583 ASSERT_TRUE(query != NULL); | 583 ASSERT_TRUE(query != NULL); |
| 584 | 584 |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 907 manager_->Destroy(false); | 907 manager_->Destroy(false); |
| 908 } | 908 } |
| 909 | 909 |
| 910 TEST_F(QueryManagerTest, GetErrorQuery) { | 910 TEST_F(QueryManagerTest, GetErrorQuery) { |
| 911 const GLuint kClient1Id = 1; | 911 const GLuint kClient1Id = 1; |
| 912 const GLenum kTarget = GL_GET_ERROR_QUERY_CHROMIUM; | 912 const GLenum kTarget = GL_GET_ERROR_QUERY_CHROMIUM; |
| 913 const base::subtle::Atomic32 kSubmitCount = 123; | 913 const base::subtle::Atomic32 kSubmitCount = 123; |
| 914 | 914 |
| 915 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), ""); | 915 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), ""); |
| 916 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 916 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 917 feature_info->Initialize(); | 917 feature_info->InitializeForTesting(); |
| 918 scoped_ptr<QueryManager> manager( | 918 scoped_ptr<QueryManager> manager( |
| 919 new QueryManager(decoder_.get(), feature_info.get())); | 919 new QueryManager(decoder_.get(), feature_info.get())); |
| 920 | 920 |
| 921 QueryManager::Query* query = manager->CreateQuery( | 921 QueryManager::Query* query = manager->CreateQuery( |
| 922 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 922 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
| 923 ASSERT_TRUE(query != NULL); | 923 ASSERT_TRUE(query != NULL); |
| 924 | 924 |
| 925 // Setup shared memory like client would. | 925 // Setup shared memory like client would. |
| 926 QuerySync* sync = decoder_->GetSharedMemoryAs<QuerySync*>( | 926 QuerySync* sync = decoder_->GetSharedMemoryAs<QuerySync*>( |
| 927 kSharedMemoryId, kSharedMemoryOffset, sizeof(*sync)); | 927 kSharedMemoryId, kSharedMemoryOffset, sizeof(*sync)); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 942 | 942 |
| 943 EXPECT_EQ(static_cast<GLuint>(GL_INVALID_ENUM), sync->result); | 943 EXPECT_EQ(static_cast<GLuint>(GL_INVALID_ENUM), sync->result); |
| 944 | 944 |
| 945 manager->Destroy(false); | 945 manager->Destroy(false); |
| 946 } | 946 } |
| 947 | 947 |
| 948 } // namespace gles2 | 948 } // namespace gles2 |
| 949 } // namespace gpu | 949 } // namespace gpu |
| 950 | 950 |
| 951 | 951 |
| OLD | NEW |