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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
no sievers
2016/04/05 19:02:41
#include <memory>
Mostyn Bramley-Moore
2016/04/05 21:35:31
Done.
| |
8 #include "gpu/command_buffer/common/gles2_cmd_format.h" | 8 #include "gpu/command_buffer/common/gles2_cmd_format.h" |
9 #include "gpu/command_buffer/service/cmd_buffer_engine.h" | 9 #include "gpu/command_buffer/service/cmd_buffer_engine.h" |
10 #include "gpu/command_buffer/service/error_state_mock.h" | 10 #include "gpu/command_buffer/service/error_state_mock.h" |
11 #include "gpu/command_buffer/service/feature_info.h" | 11 #include "gpu/command_buffer/service/feature_info.h" |
12 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 12 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
13 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" | 13 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" |
14 #include "gpu/command_buffer/service/gpu_service_test.h" | 14 #include "gpu/command_buffer/service/gpu_service_test.h" |
15 #include "gpu/command_buffer/service/query_manager.h" | 15 #include "gpu/command_buffer/service/query_manager.h" |
16 #include "gpu/command_buffer/service/test_helper.h" | 16 #include "gpu/command_buffer/service/test_helper.h" |
17 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
90 EXPECT_CALL(*gl_, BeginQuery(query->target(), service_id)) | 90 EXPECT_CALL(*gl_, BeginQuery(query->target(), service_id)) |
91 .Times(1) | 91 .Times(1) |
92 .RetiresOnSaturation(); | 92 .RetiresOnSaturation(); |
93 EXPECT_CALL(*gl_, EndQuery(query->target())) | 93 EXPECT_CALL(*gl_, EndQuery(query->target())) |
94 .Times(1) | 94 .Times(1) |
95 .RetiresOnSaturation(); | 95 .RetiresOnSaturation(); |
96 EXPECT_TRUE(manager_->BeginQuery(query)); | 96 EXPECT_TRUE(manager_->BeginQuery(query)); |
97 EXPECT_TRUE(manager_->EndQuery(query, submit_count)); | 97 EXPECT_TRUE(manager_->EndQuery(query, submit_count)); |
98 } | 98 } |
99 | 99 |
100 scoped_ptr<MockGLES2Decoder> decoder_; | 100 std::unique_ptr<MockGLES2Decoder> decoder_; |
101 scoped_ptr<QueryManager> manager_; | 101 std::unique_ptr<QueryManager> manager_; |
102 | 102 |
103 private: | 103 private: |
104 class MockCommandBufferEngine : public CommandBufferEngine { | 104 class MockCommandBufferEngine : public CommandBufferEngine { |
105 public: | 105 public: |
106 MockCommandBufferEngine() { | 106 MockCommandBufferEngine() { |
107 scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory()); | 107 std::unique_ptr<base::SharedMemory> shared_memory( |
108 new base::SharedMemory()); | |
108 shared_memory->CreateAndMapAnonymous(kSharedBufferSize); | 109 shared_memory->CreateAndMapAnonymous(kSharedBufferSize); |
109 valid_buffer_ = MakeBufferFromSharedMemory(std::move(shared_memory), | 110 valid_buffer_ = MakeBufferFromSharedMemory(std::move(shared_memory), |
110 kSharedBufferSize); | 111 kSharedBufferSize); |
111 | 112 |
112 scoped_ptr<base::SharedMemory> shared_memory2(new base::SharedMemory()); | 113 std::unique_ptr<base::SharedMemory> shared_memory2( |
114 new base::SharedMemory()); | |
113 shared_memory2->CreateAndMapAnonymous(kSharedBufferSize); | 115 shared_memory2->CreateAndMapAnonymous(kSharedBufferSize); |
114 valid_buffer2_ = MakeBufferFromSharedMemory(std::move(shared_memory2), | 116 valid_buffer2_ = MakeBufferFromSharedMemory(std::move(shared_memory2), |
115 kSharedBufferSize); | 117 kSharedBufferSize); |
116 | 118 |
117 ClearSharedMemory(); | 119 ClearSharedMemory(); |
118 } | 120 } |
119 | 121 |
120 ~MockCommandBufferEngine() override {} | 122 ~MockCommandBufferEngine() override {} |
121 | 123 |
122 scoped_refptr<gpu::Buffer> GetSharedMemoryBuffer(int32_t shm_id) override { | 124 scoped_refptr<gpu::Buffer> GetSharedMemoryBuffer(int32_t shm_id) override { |
(...skipping 27 matching lines...) Expand all Loading... | |
150 DCHECK(false); | 152 DCHECK(false); |
151 return 0; | 153 return 0; |
152 } | 154 } |
153 | 155 |
154 private: | 156 private: |
155 scoped_refptr<gpu::Buffer> valid_buffer_; | 157 scoped_refptr<gpu::Buffer> valid_buffer_; |
156 scoped_refptr<gpu::Buffer> valid_buffer2_; | 158 scoped_refptr<gpu::Buffer> valid_buffer2_; |
157 scoped_refptr<gpu::Buffer> invalid_buffer_; | 159 scoped_refptr<gpu::Buffer> invalid_buffer_; |
158 }; | 160 }; |
159 | 161 |
160 scoped_ptr<MockCommandBufferEngine> engine_; | 162 std::unique_ptr<MockCommandBufferEngine> engine_; |
161 }; | 163 }; |
162 | 164 |
163 class QueryManagerManualSetupTest : public QueryManagerTest { | 165 class QueryManagerManualSetupTest : public QueryManagerTest { |
164 protected: | 166 protected: |
165 void SetUp() override { | 167 void SetUp() override { |
166 // Let test setup manually. | 168 // Let test setup manually. |
167 } | 169 } |
168 }; | 170 }; |
169 | 171 |
170 // GCC requires these declarations, but MSVC requires they not be present | 172 // GCC requires these declarations, but MSVC requires they not be present |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
503 const GLuint kClient1Id = 1; | 505 const GLuint kClient1Id = 1; |
504 const GLuint kService1Id = 11; | 506 const GLuint kService1Id = 11; |
505 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT; | 507 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT; |
506 const base::subtle::Atomic32 kSubmitCount = 123; | 508 const base::subtle::Atomic32 kSubmitCount = 123; |
507 | 509 |
508 TestHelper::SetupFeatureInfoInitExpectations( | 510 TestHelper::SetupFeatureInfoInitExpectations( |
509 gl_.get(), | 511 gl_.get(), |
510 "GL_ARB_occlusion_query2"); | 512 "GL_ARB_occlusion_query2"); |
511 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 513 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
512 feature_info->InitializeForTesting(); | 514 feature_info->InitializeForTesting(); |
513 scoped_ptr<QueryManager> manager( | 515 std::unique_ptr<QueryManager> manager( |
514 new QueryManager(decoder_.get(), feature_info.get())); | 516 new QueryManager(decoder_.get(), feature_info.get())); |
515 | 517 |
516 EXPECT_CALL(*gl_, GenQueries(1, _)) | 518 EXPECT_CALL(*gl_, GenQueries(1, _)) |
517 .WillOnce(SetArgumentPointee<1>(kService1Id)) | 519 .WillOnce(SetArgumentPointee<1>(kService1Id)) |
518 .RetiresOnSaturation(); | 520 .RetiresOnSaturation(); |
519 QueryManager::Query* query = manager->CreateQuery( | 521 QueryManager::Query* query = manager->CreateQuery( |
520 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 522 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
521 ASSERT_TRUE(query != NULL); | 523 ASSERT_TRUE(query != NULL); |
522 | 524 |
523 EXPECT_CALL(*gl_, BeginQuery(GL_ANY_SAMPLES_PASSED_EXT, kService1Id)) | 525 EXPECT_CALL(*gl_, BeginQuery(GL_ANY_SAMPLES_PASSED_EXT, kService1Id)) |
(...skipping 13 matching lines...) Expand all Loading... | |
537 const GLuint kClient1Id = 1; | 539 const GLuint kClient1Id = 1; |
538 const GLuint kService1Id = 11; | 540 const GLuint kService1Id = 11; |
539 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; | 541 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; |
540 const base::subtle::Atomic32 kSubmitCount = 123; | 542 const base::subtle::Atomic32 kSubmitCount = 123; |
541 | 543 |
542 TestHelper::SetupFeatureInfoInitExpectations( | 544 TestHelper::SetupFeatureInfoInitExpectations( |
543 gl_.get(), | 545 gl_.get(), |
544 "GL_ARB_occlusion_query"); | 546 "GL_ARB_occlusion_query"); |
545 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 547 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
546 feature_info->InitializeForTesting(); | 548 feature_info->InitializeForTesting(); |
547 scoped_ptr<QueryManager> manager( | 549 std::unique_ptr<QueryManager> manager( |
548 new QueryManager(decoder_.get(), feature_info.get())); | 550 new QueryManager(decoder_.get(), feature_info.get())); |
549 | 551 |
550 EXPECT_CALL(*gl_, GenQueries(1, _)) | 552 EXPECT_CALL(*gl_, GenQueries(1, _)) |
551 .WillOnce(SetArgumentPointee<1>(kService1Id)) | 553 .WillOnce(SetArgumentPointee<1>(kService1Id)) |
552 .RetiresOnSaturation(); | 554 .RetiresOnSaturation(); |
553 QueryManager::Query* query = manager->CreateQuery( | 555 QueryManager::Query* query = manager->CreateQuery( |
554 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 556 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
555 ASSERT_TRUE(query != NULL); | 557 ASSERT_TRUE(query != NULL); |
556 | 558 |
557 EXPECT_CALL(*gl_, BeginQuery(GL_SAMPLES_PASSED_ARB, kService1Id)) | 559 EXPECT_CALL(*gl_, BeginQuery(GL_SAMPLES_PASSED_ARB, kService1Id)) |
(...skipping 12 matching lines...) Expand all Loading... | |
570 const GLuint kService1Id = 11; | 572 const GLuint kService1Id = 11; |
571 const GLuint kService2Id = 12; | 573 const GLuint kService2Id = 12; |
572 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; | 574 const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT; |
573 const base::subtle::Atomic32 kSubmitCount = 123; | 575 const base::subtle::Atomic32 kSubmitCount = 123; |
574 | 576 |
575 TestHelper::SetupFeatureInfoInitExpectations( | 577 TestHelper::SetupFeatureInfoInitExpectations( |
576 gl_.get(), | 578 gl_.get(), |
577 "GL_ARB_occlusion_query"); | 579 "GL_ARB_occlusion_query"); |
578 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 580 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
579 feature_info->InitializeForTesting(); | 581 feature_info->InitializeForTesting(); |
580 scoped_ptr<QueryManager> manager( | 582 std::unique_ptr<QueryManager> manager( |
581 new QueryManager(decoder_.get(), feature_info.get())); | 583 new QueryManager(decoder_.get(), feature_info.get())); |
582 | 584 |
583 EXPECT_CALL(*gl_, GenQueries(1, _)) | 585 EXPECT_CALL(*gl_, GenQueries(1, _)) |
584 .WillOnce(SetArgumentPointee<1>(kService1Id)) | 586 .WillOnce(SetArgumentPointee<1>(kService1Id)) |
585 .RetiresOnSaturation(); | 587 .RetiresOnSaturation(); |
586 QueryManager::Query* query = manager->CreateQuery( | 588 QueryManager::Query* query = manager->CreateQuery( |
587 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 589 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
588 ASSERT_TRUE(query != NULL); | 590 ASSERT_TRUE(query != NULL); |
589 | 591 |
590 EXPECT_CALL(*gl_, BeginQuery(GL_SAMPLES_PASSED_ARB, kService1Id)) | 592 EXPECT_CALL(*gl_, BeginQuery(GL_SAMPLES_PASSED_ARB, kService1Id)) |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
913 } | 915 } |
914 | 916 |
915 TEST_F(QueryManagerTest, GetErrorQuery) { | 917 TEST_F(QueryManagerTest, GetErrorQuery) { |
916 const GLuint kClient1Id = 1; | 918 const GLuint kClient1Id = 1; |
917 const GLenum kTarget = GL_GET_ERROR_QUERY_CHROMIUM; | 919 const GLenum kTarget = GL_GET_ERROR_QUERY_CHROMIUM; |
918 const base::subtle::Atomic32 kSubmitCount = 123; | 920 const base::subtle::Atomic32 kSubmitCount = 123; |
919 | 921 |
920 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), ""); | 922 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), ""); |
921 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 923 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
922 feature_info->InitializeForTesting(); | 924 feature_info->InitializeForTesting(); |
923 scoped_ptr<QueryManager> manager( | 925 std::unique_ptr<QueryManager> manager( |
924 new QueryManager(decoder_.get(), feature_info.get())); | 926 new QueryManager(decoder_.get(), feature_info.get())); |
925 | 927 |
926 QueryManager::Query* query = manager->CreateQuery( | 928 QueryManager::Query* query = manager->CreateQuery( |
927 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); | 929 kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset); |
928 ASSERT_TRUE(query != NULL); | 930 ASSERT_TRUE(query != NULL); |
929 | 931 |
930 // Setup shared memory like client would. | 932 // Setup shared memory like client would. |
931 QuerySync* sync = decoder_->GetSharedMemoryAs<QuerySync*>( | 933 QuerySync* sync = decoder_->GetSharedMemoryAs<QuerySync*>( |
932 kSharedMemoryId, kSharedMemoryOffset, sizeof(*sync)); | 934 kSharedMemoryId, kSharedMemoryOffset, sizeof(*sync)); |
933 ASSERT_TRUE(sync != NULL); | 935 ASSERT_TRUE(sync != NULL); |
(...skipping 13 matching lines...) Expand all Loading... | |
947 | 949 |
948 EXPECT_EQ(static_cast<GLuint>(GL_INVALID_ENUM), sync->result); | 950 EXPECT_EQ(static_cast<GLuint>(GL_INVALID_ENUM), sync->result); |
949 | 951 |
950 manager->Destroy(false); | 952 manager->Destroy(false); |
951 } | 953 } |
952 | 954 |
953 } // namespace gles2 | 955 } // namespace gles2 |
954 } // namespace gpu | 956 } // namespace gpu |
955 | 957 |
956 | 958 |
OLD | NEW |