| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/texture_manager.h" | 5 #include "gpu/command_buffer/service/texture_manager.h" |
| 6 | 6 |
| 7 #include "base/scoped_ptr.h" | 7 #include "base/scoped_ptr.h" |
| 8 #include "gpu/GLES2/gles2_command_buffer.h" | 8 #include "gpu/GLES2/gles2_command_buffer.h" |
| 9 #include "gpu/command_buffer/common/gl_mock.h" | 9 #include "gpu/command_buffer/common/gl_mock.h" |
| 10 #include "gpu/command_buffer/service/feature_info.h" | 10 #include "gpu/command_buffer/service/feature_info.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 .RetiresOnSaturation(); | 107 .RetiresOnSaturation(); |
| 108 EXPECT_CALL(*gl_, DeleteTextures(4, _)) | 108 EXPECT_CALL(*gl_, DeleteTextures(4, _)) |
| 109 .Times(1) | 109 .Times(1) |
| 110 .RetiresOnSaturation(); | 110 .RetiresOnSaturation(); |
| 111 manager_.Destroy(true); | 111 manager_.Destroy(true); |
| 112 // Check that resources got freed. | 112 // Check that resources got freed. |
| 113 info1 = manager_.GetTextureInfo(kClient1Id); | 113 info1 = manager_.GetTextureInfo(kClient1Id); |
| 114 ASSERT_TRUE(info1 == NULL); | 114 ASSERT_TRUE(info1 == NULL); |
| 115 } | 115 } |
| 116 | 116 |
| 117 TEST_F(TextureManagerTest, DestroyUnowned) { |
| 118 const GLuint kClient1Id = 1; |
| 119 const GLuint kService1Id = 11; |
| 120 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
| 121 // Check we can create texture. |
| 122 TextureManager::TextureInfo* created_info = |
| 123 manager_.CreateTextureInfo(&feature_info_, kClient1Id, kService1Id); |
| 124 created_info->SetNotOwned(); |
| 125 |
| 126 // Check texture got created. |
| 127 TextureManager::TextureInfo* info1 = manager_.GetTextureInfo(kClient1Id); |
| 128 ASSERT_TRUE(info1 != NULL); |
| 129 EXPECT_CALL(*gl_, DeleteTextures(4, _)) |
| 130 .Times(1) |
| 131 .RetiresOnSaturation(); |
| 132 |
| 133 // Check that it is not freed if it is not owned. |
| 134 manager_.Destroy(true); |
| 135 info1 = manager_.GetTextureInfo(kClient1Id); |
| 136 ASSERT_TRUE(info1 == NULL); |
| 137 } |
| 138 |
| 117 TEST_F(TextureManagerTest, MaxValues) { | 139 TEST_F(TextureManagerTest, MaxValues) { |
| 118 // Check we get the right values for the max sizes. | 140 // Check we get the right values for the max sizes. |
| 119 EXPECT_EQ(kMax2dLevels, manager_.MaxLevelsForTarget(GL_TEXTURE_2D)); | 141 EXPECT_EQ(kMax2dLevels, manager_.MaxLevelsForTarget(GL_TEXTURE_2D)); |
| 120 EXPECT_EQ(kMaxCubeMapLevels, | 142 EXPECT_EQ(kMaxCubeMapLevels, |
| 121 manager_.MaxLevelsForTarget(GL_TEXTURE_CUBE_MAP)); | 143 manager_.MaxLevelsForTarget(GL_TEXTURE_CUBE_MAP)); |
| 122 EXPECT_EQ(kMaxTextureSize, manager_.MaxSizeForTarget(GL_TEXTURE_2D)); | 144 EXPECT_EQ(kMaxTextureSize, manager_.MaxSizeForTarget(GL_TEXTURE_2D)); |
| 123 EXPECT_EQ(kMaxCubeMapTextureSize, | 145 EXPECT_EQ(kMaxCubeMapTextureSize, |
| 124 manager_.MaxSizeForTarget(GL_TEXTURE_CUBE_MAP)); | 146 manager_.MaxSizeForTarget(GL_TEXTURE_CUBE_MAP)); |
| 125 } | 147 } |
| 126 | 148 |
| (...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 manager.SetLevelInfo(&feature_info, info, | 612 manager.SetLevelInfo(&feature_info, info, |
| 591 GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_HALF_FLOAT_OES); | 613 GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_HALF_FLOAT_OES); |
| 592 EXPECT_TRUE(info->texture_complete()); | 614 EXPECT_TRUE(info->texture_complete()); |
| 593 manager.Destroy(false); | 615 manager.Destroy(false); |
| 594 } | 616 } |
| 595 | 617 |
| 596 } // namespace gles2 | 618 } // namespace gles2 |
| 597 } // namespace gpu | 619 } // namespace gpu |
| 598 | 620 |
| 599 | 621 |
| OLD | NEW |