Chromium Code Reviews| Index: gpu/command_buffer/service/texture_manager_unittest.cc |
| diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc |
| index 231fc04224477fa9f6998bea1e2927a21a404d6a..6540c0fe8162620dc46c40f8488872db58759df8 100644 |
| --- a/gpu/command_buffer/service/texture_manager_unittest.cc |
| +++ b/gpu/command_buffer/service/texture_manager_unittest.cc |
| @@ -78,7 +78,7 @@ class TextureManagerTest : public GpuServiceTest { |
| kMax3DTextureSize, |
| kUseDefaultTextures)); |
| TestHelper::SetupTextureManagerInitExpectations( |
| - gl_.get(), "", kUseDefaultTextures); |
| + gl_.get(), false, "", kUseDefaultTextures); |
| manager_->Initialize(); |
| error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); |
| } |
| @@ -96,6 +96,12 @@ class TextureManagerTest : public GpuServiceTest { |
| texture_ref, pname, value, error); |
| } |
| + void SetupFeatureInfo(const char* gl_extensions, const char* gl_version) { |
| + TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( |
| + gl_.get(), gl_extensions, "", gl_version); |
| + feature_info_->Initialize(); |
| + } |
| + |
| scoped_refptr<FeatureInfo> feature_info_; |
| scoped_ptr<TextureManager> manager_; |
| scoped_ptr<MockErrorState> error_state_; |
| @@ -177,10 +183,8 @@ TEST_F(TextureManagerTest, SetParameter) { |
| TEST_F(TextureManagerTest, UseDefaultTexturesTrue) { |
| bool use_default_textures = true; |
| - scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| - |
| - TestHelper::SetupTextureManagerInitExpectations( |
| - gl_.get(), "GL_ANGLE_texture_usage", use_default_textures); |
| + TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
| + false, "GL_ANGLE_texture_usage", use_default_textures); |
| TextureManager manager(NULL, |
| feature_info_.get(), |
| kMaxTextureSize, |
| @@ -200,8 +204,8 @@ TEST_F(TextureManagerTest, UseDefaultTexturesTrue) { |
| TEST_F(TextureManagerTest, UseDefaultTexturesFalse) { |
| bool use_default_textures = false; |
| - TestHelper::SetupTextureManagerInitExpectations( |
| - gl_.get(), "GL_ANGLE_texture_usage", use_default_textures); |
| + TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
| + false, "GL_ANGLE_texture_usage", use_default_textures); |
| TextureManager manager(NULL, |
| feature_info_.get(), |
| kMaxTextureSize, |
| @@ -219,9 +223,63 @@ TEST_F(TextureManagerTest, UseDefaultTexturesFalse) { |
| manager.Destroy(false); |
| } |
| +TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) { |
| + bool use_default_textures = true; |
| + SetupFeatureInfo("", "OpenGL ES 3.0"); |
| + EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS, _)) |
| + .WillOnce(SetArgPointee<1>(8)) |
| + .RetiresOnSaturation(); |
| + EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_DRAW_BUFFERS, _)) |
| + .WillOnce(SetArgPointee<1>(8)) |
| + .RetiresOnSaturation(); |
| + feature_info_->EnableES3Validators(); |
| + TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
| + true, "", use_default_textures); |
| + TextureManager manager(NULL, |
| + feature_info_.get(), |
| + kMaxTextureSize, |
| + kMaxCubeMapTextureSize, |
| + kMaxRectangleTextureSize, |
| + kMax3DTextureSize, |
| + use_default_textures); |
| + manager.Initialize(); |
| + |
| + EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL); |
| + EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) != NULL); |
| + |
| + manager.Destroy(false); |
| +} |
| + |
| +TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) { |
| + bool use_default_textures = false; |
| + SetupFeatureInfo("", "OpenGL ES 3.0"); |
| + EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS, _)) |
| + .WillOnce(SetArgPointee<1>(8)) |
| + .RetiresOnSaturation(); |
| + EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_DRAW_BUFFERS, _)) |
| + .WillOnce(SetArgPointee<1>(8)) |
| + .RetiresOnSaturation(); |
| + feature_info_->EnableES3Validators(); |
|
Zhenyao Mo
2015/09/17 14:47:05
You can add a "bool enable_es3" to function SetupF
qiankun
2015/09/17 15:18:31
Done.
|
| + TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
| + true, "", use_default_textures); |
| + TextureManager manager(NULL, |
| + feature_info_.get(), |
| + kMaxTextureSize, |
| + kMaxCubeMapTextureSize, |
| + kMaxRectangleTextureSize, |
| + kMax3DTextureSize, |
| + use_default_textures); |
| + manager.Initialize(); |
| + |
| + EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL); |
| + EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) == NULL); |
| + |
| + manager.Destroy(false); |
| +} |
| + |
| TEST_F(TextureManagerTest, TextureUsageExt) { |
| TestHelper::SetupTextureManagerInitExpectations( |
| - gl_.get(), "GL_ANGLE_texture_usage", kUseDefaultTextures); |
| + gl_.get(), false, "GL_ANGLE_texture_usage", kUseDefaultTextures); |
| TextureManager manager(NULL, |
| feature_info_.get(), |
| kMaxTextureSize, |
| @@ -249,7 +307,7 @@ TEST_F(TextureManagerTest, Destroy) { |
| const GLuint kClient1Id = 1; |
| const GLuint kService1Id = 11; |
| TestHelper::SetupTextureManagerInitExpectations( |
| - gl_.get(), "", kUseDefaultTextures); |
| + gl_.get(), false, "", kUseDefaultTextures); |
| TextureManager manager(NULL, |
| feature_info_.get(), |
| kMaxTextureSize, |
| @@ -267,7 +325,7 @@ TEST_F(TextureManagerTest, Destroy) { |
| .Times(1) |
| .RetiresOnSaturation(); |
| TestHelper::SetupTextureManagerDestructionExpectations( |
| - gl_.get(), "", kUseDefaultTextures); |
| + gl_.get(), false, "", kUseDefaultTextures); |
| manager.Destroy(true); |
| // Check that resources got freed. |
| texture = manager.GetTexture(kClient1Id); |
| @@ -1824,10 +1882,10 @@ class SharedTextureTest : public GpuServiceTest { |
| TextureManagerTest::kMax3DTextureSize, |
| kUseDefaultTextures)); |
| TestHelper::SetupTextureManagerInitExpectations( |
| - gl_.get(), "", kUseDefaultTextures); |
| + gl_.get(), false, "", kUseDefaultTextures); |
| texture_manager1_->Initialize(); |
| TestHelper::SetupTextureManagerInitExpectations( |
| - gl_.get(), "", kUseDefaultTextures); |
| + gl_.get(), false, "", kUseDefaultTextures); |
| texture_manager2_->Initialize(); |
| } |
| @@ -2072,12 +2130,6 @@ class TextureFormatTypeValidationTest : public TextureManagerTest { |
| ~TextureFormatTypeValidationTest() override {} |
| protected: |
| - void SetupFeatureInfo(const char* gl_extensions, const char* gl_version) { |
| - TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( |
| - gl_.get(), gl_extensions, "", gl_version); |
| - feature_info_->Initialize(); |
| - } |
| - |
| void ExpectValid(GLenum format, GLenum type, GLenum internal_format) { |
| EXPECT_TRUE(manager_->ValidateTextureParameters( |
| error_state_.get(), "", format, type, internal_format, 0)); |