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/feature_info.h" | 5 #include "gpu/command_buffer/service/feature_info.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "gpu/command_buffer/common/gl_mock.h" | 8 #include "gpu/command_buffer/common/gl_mock.h" |
9 #include "gpu/command_buffer/service/test_helper.h" | 9 #include "gpu/command_buffer/service/test_helper.h" |
10 #include "gpu/command_buffer/service/texture_manager.h" | 10 #include "gpu/command_buffer/service/texture_manager.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 | 26 |
27 namespace gpu { | 27 namespace gpu { |
28 namespace gles2 { | 28 namespace gles2 { |
29 | 29 |
30 class FeatureInfoTest : public testing::Test { | 30 class FeatureInfoTest : public testing::Test { |
31 public: | 31 public: |
32 FeatureInfoTest() { | 32 FeatureInfoTest() { |
33 } | 33 } |
34 | 34 |
35 void SetupInitExpectations(const char* extensions) { | 35 void SetupInitExpectations(const char* extensions) { |
36 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), extensions); | 36 SetupInitExpectationsWithVendor(extensions, ""); |
| 37 } |
| 38 |
| 39 void SetupInitExpectationsWithVendor( |
| 40 const char* extensions, const char* vendor) { |
| 41 TestHelper::SetupFeatureInfoInitExpectationsWithVendor( |
| 42 gl_.get(), extensions, vendor); |
37 } | 43 } |
38 | 44 |
39 protected: | 45 protected: |
40 virtual void SetUp() { | 46 virtual void SetUp() { |
41 gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>()); | 47 gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>()); |
42 ::gfx::GLInterface::SetGLInterface(gl_.get()); | 48 ::gfx::GLInterface::SetGLInterface(gl_.get()); |
43 info_ = new FeatureInfo(); | 49 info_ = new FeatureInfo(); |
44 } | 50 } |
45 | 51 |
46 virtual void TearDown() { | 52 virtual void TearDown() { |
(...skipping 18 matching lines...) Expand all Loading... |
65 EXPECT_FALSE(info_->feature_flags().chromium_stream_texture); | 71 EXPECT_FALSE(info_->feature_flags().chromium_stream_texture); |
66 EXPECT_FALSE(info_->feature_flags().angle_translated_shader_source); | 72 EXPECT_FALSE(info_->feature_flags().angle_translated_shader_source); |
67 EXPECT_FALSE(info_->feature_flags().angle_pack_reverse_row_order); | 73 EXPECT_FALSE(info_->feature_flags().angle_pack_reverse_row_order); |
68 EXPECT_FALSE(info_->feature_flags().arb_texture_rectangle); | 74 EXPECT_FALSE(info_->feature_flags().arb_texture_rectangle); |
69 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); | 75 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); |
70 EXPECT_FALSE(info_->feature_flags().occlusion_query_boolean); | 76 EXPECT_FALSE(info_->feature_flags().occlusion_query_boolean); |
71 EXPECT_FALSE(info_->feature_flags( | 77 EXPECT_FALSE(info_->feature_flags( |
72 ).use_arb_occlusion_query2_for_occlusion_query_boolean); | 78 ).use_arb_occlusion_query2_for_occlusion_query_boolean); |
73 EXPECT_FALSE(info_->feature_flags( | 79 EXPECT_FALSE(info_->feature_flags( |
74 ).use_arb_occlusion_query_for_occlusion_query_boolean); | 80 ).use_arb_occlusion_query_for_occlusion_query_boolean); |
| 81 EXPECT_FALSE(info_->feature_flags().is_intel); |
| 82 EXPECT_FALSE(info_->feature_flags().is_nvidia); |
| 83 EXPECT_FALSE(info_->feature_flags().is_amd); |
75 } | 84 } |
76 | 85 |
77 TEST_F(FeatureInfoTest, InitializeNoExtensions) { | 86 TEST_F(FeatureInfoTest, InitializeNoExtensions) { |
78 SetupInitExpectations(""); | 87 SetupInitExpectations(""); |
79 info_->Initialize(NULL); | 88 info_->Initialize(NULL); |
80 // Check default extensions are there | 89 // Check default extensions are there |
81 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_resource_safe")); | 90 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_resource_safe")); |
82 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_strict_attribs")); | 91 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_strict_attribs")); |
83 EXPECT_THAT(info_->extensions(), | 92 EXPECT_THAT(info_->extensions(), |
84 HasSubstr("GL_ANGLE_translated_shader_source")); | 93 HasSubstr("GL_ANGLE_translated_shader_source")); |
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 info_->Initialize(NULL); | 493 info_->Initialize(NULL); |
485 EXPECT_THAT(info_->extensions(), | 494 EXPECT_THAT(info_->extensions(), |
486 HasSubstr("GL_EXT_occlusion_query_boolean")); | 495 HasSubstr("GL_EXT_occlusion_query_boolean")); |
487 EXPECT_TRUE(info_->feature_flags().occlusion_query_boolean); | 496 EXPECT_TRUE(info_->feature_flags().occlusion_query_boolean); |
488 EXPECT_TRUE(info_->feature_flags( | 497 EXPECT_TRUE(info_->feature_flags( |
489 ).use_arb_occlusion_query2_for_occlusion_query_boolean); | 498 ).use_arb_occlusion_query2_for_occlusion_query_boolean); |
490 EXPECT_FALSE(info_->feature_flags( | 499 EXPECT_FALSE(info_->feature_flags( |
491 ).use_arb_occlusion_query_for_occlusion_query_boolean); | 500 ).use_arb_occlusion_query_for_occlusion_query_boolean); |
492 } | 501 } |
493 | 502 |
| 503 TEST_F(FeatureInfoTest, IsIntel) { |
| 504 SetupInitExpectationsWithVendor("", "iNTel"); |
| 505 info_->Initialize(NULL); |
| 506 EXPECT_TRUE(info_->feature_flags().is_intel); |
| 507 EXPECT_FALSE(info_->feature_flags().is_nvidia); |
| 508 EXPECT_FALSE(info_->feature_flags().is_amd); |
| 509 } |
| 510 |
| 511 TEST_F(FeatureInfoTest, IsNvidia) { |
| 512 SetupInitExpectationsWithVendor("", "nvIdIa"); |
| 513 info_->Initialize(NULL); |
| 514 EXPECT_FALSE(info_->feature_flags().is_intel); |
| 515 EXPECT_TRUE(info_->feature_flags().is_nvidia); |
| 516 EXPECT_FALSE(info_->feature_flags().is_amd); |
| 517 } |
| 518 |
| 519 TEST_F(FeatureInfoTest, IsAMD) { |
| 520 SetupInitExpectationsWithVendor("", "aMd"); |
| 521 info_->Initialize(NULL); |
| 522 EXPECT_FALSE(info_->feature_flags().is_intel); |
| 523 EXPECT_FALSE(info_->feature_flags().is_nvidia); |
| 524 EXPECT_TRUE(info_->feature_flags().is_amd); |
| 525 } |
| 526 |
| 527 TEST_F(FeatureInfoTest, IsAMDATI) { |
| 528 SetupInitExpectationsWithVendor("", "aTI"); |
| 529 info_->Initialize(NULL); |
| 530 EXPECT_FALSE(info_->feature_flags().is_intel); |
| 531 EXPECT_FALSE(info_->feature_flags().is_nvidia); |
| 532 EXPECT_TRUE(info_->feature_flags().is_amd); |
| 533 } |
| 534 |
494 } // namespace gles2 | 535 } // namespace gles2 |
495 } // namespace gpu | 536 } // namespace gpu |
496 | 537 |
497 | 538 |
498 | 539 |
OLD | NEW |