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 8d47f1b64d4c8887ffea9978569b1ad3ed55bb75..242a73f382690d72a04dc173ee25c50e79916459 100644 |
--- a/gpu/command_buffer/service/texture_manager_unittest.cc |
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc |
@@ -21,6 +21,7 @@ |
#include "gpu/command_buffer/service/mailbox_manager.h" |
#include "gpu/command_buffer/service/memory_tracking.h" |
#include "gpu/command_buffer/service/mocks.h" |
+#include "gpu/command_buffer/service/service_discardable_manager.h" |
#include "gpu/command_buffer/service/test_helper.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "ui/gl/gl_image_stub.h" |
@@ -80,7 +81,7 @@ class TextureManagerTest : public GpuServiceTest { |
manager_.reset(new TextureManager( |
NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize, |
kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr)); |
+ kUseDefaultTextures, nullptr, &discardable_manager_)); |
SetupFeatureInfo("", "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2); |
TestHelper::SetupTextureManagerInitExpectations( |
gl_.get(), false, false, false, "", kUseDefaultTextures); |
@@ -120,6 +121,7 @@ class TextureManagerTest : public GpuServiceTest { |
} |
scoped_refptr<FeatureInfo> feature_info_; |
+ ServiceDiscardableManager discardable_manager_; |
std::unique_ptr<TextureManager> manager_; |
std::unique_ptr<MockErrorState> error_state_; |
}; |
@@ -242,7 +244,7 @@ TEST_F(TextureManagerTest, UseDefaultTexturesTrue) { |
TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- use_default_textures, nullptr); |
+ use_default_textures, nullptr, &discardable_manager_); |
manager.Initialize(); |
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) != NULL); |
@@ -260,7 +262,7 @@ TEST_F(TextureManagerTest, UseDefaultTexturesFalse) { |
TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- use_default_textures, nullptr); |
+ use_default_textures, nullptr, &discardable_manager_); |
manager.Initialize(); |
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL); |
@@ -279,7 +281,7 @@ TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) { |
TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- use_default_textures, nullptr); |
+ use_default_textures, nullptr, &discardable_manager_); |
manager.Initialize(); |
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL); |
@@ -296,7 +298,7 @@ TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) { |
TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- use_default_textures, nullptr); |
+ use_default_textures, nullptr, &discardable_manager_); |
manager.Initialize(); |
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL); |
@@ -312,7 +314,7 @@ TEST_F(TextureManagerTest, TextureUsageExt) { |
TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.Initialize(); |
const GLuint kClient1Id = 1; |
const GLuint kService1Id = 11; |
@@ -337,7 +339,7 @@ TEST_F(TextureManagerTest, Destroy) { |
TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.Initialize(); |
// Check we can create texture. |
manager.CreateTexture(kClient1Id, kService1Id); |
@@ -492,7 +494,7 @@ TEST_F(TextureManagerTest, ValidForTargetNPOT) { |
TextureManager manager(nullptr, feature_info.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
// Check NPOT width on level 0 |
EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 5, 2, 1)); |
// Check NPOT height on level 0 |
@@ -514,7 +516,7 @@ TEST_F(TextureManagerTest, AlphaLuminanceCompatibilityProfile) { |
TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.Initialize(); |
// Create a texture. |
@@ -555,7 +557,7 @@ TEST_F(TextureManagerTest, AlphaLuminanceCoreProfileEmulation) { |
TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.Initialize(); |
// Create a texture. |
@@ -670,7 +672,8 @@ class TextureTestBase : public GpuServiceTest { |
manager_.reset(new TextureManager( |
memory_tracker, feature_info_.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, kMax3DTextureSize, |
- kMaxArrayTextureLayers, kUseDefaultTextures, nullptr)); |
+ kMaxArrayTextureLayers, kUseDefaultTextures, nullptr, |
+ &discardable_manager_)); |
decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>()); |
error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); |
manager_->CreateTexture(kClient1Id, kService1Id); |
@@ -706,6 +709,7 @@ class TextureTestBase : public GpuServiceTest { |
std::unique_ptr<MockGLES2Decoder> decoder_; |
std::unique_ptr<MockErrorState> error_state_; |
scoped_refptr<FeatureInfo> feature_info_; |
+ ServiceDiscardableManager discardable_manager_; |
std::unique_ptr<TextureManager> manager_; |
scoped_refptr<TextureRef> texture_ref_; |
}; |
@@ -1000,7 +1004,7 @@ TEST_F(TextureTest, NPOT2DNPOTOK) { |
TextureManager manager(nullptr, feature_info.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1298,7 +1302,7 @@ TEST_F(TextureTest, FloatNotLinear) { |
TextureManager manager(nullptr, feature_info.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1327,7 +1331,7 @@ TEST_F(TextureTest, FloatLinear) { |
TextureManager manager(nullptr, feature_info.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1348,7 +1352,7 @@ TEST_F(TextureTest, HalfFloatNotLinear) { |
TextureManager manager(nullptr, feature_info.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1377,7 +1381,7 @@ TEST_F(TextureTest, HalfFloatLinear) { |
TextureManager manager(nullptr, feature_info.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1398,7 +1402,7 @@ TEST_F(TextureTest, EGLImageExternal) { |
TextureManager manager(nullptr, feature_info.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1417,7 +1421,7 @@ TEST_F(TextureTest, DepthTexture) { |
TextureManager manager(nullptr, feature_info.get(), kMaxTextureSize, |
kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
kMax3DTextureSize, kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr); |
+ kUseDefaultTextures, nullptr, &discardable_manager_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -2186,23 +2190,23 @@ class SharedTextureTest : public GpuServiceTest { |
void SetUp() override { |
GpuServiceTest::SetUp(); |
memory_tracker1_ = new CountingMemoryTracker; |
- texture_manager1_.reset( |
- new TextureManager(memory_tracker1_.get(), feature_info_.get(), |
- TextureManagerTest::kMaxTextureSize, |
- TextureManagerTest::kMaxCubeMapTextureSize, |
- TextureManagerTest::kMaxRectangleTextureSize, |
- TextureManagerTest::kMax3DTextureSize, |
- TextureManagerTest::kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr)); |
+ texture_manager1_.reset(new TextureManager( |
+ memory_tracker1_.get(), feature_info_.get(), |
+ TextureManagerTest::kMaxTextureSize, |
+ TextureManagerTest::kMaxCubeMapTextureSize, |
+ TextureManagerTest::kMaxRectangleTextureSize, |
+ TextureManagerTest::kMax3DTextureSize, |
+ TextureManagerTest::kMaxArrayTextureLayers, kUseDefaultTextures, |
+ nullptr, &discardable_manager_)); |
memory_tracker2_ = new CountingMemoryTracker; |
- texture_manager2_.reset( |
- new TextureManager(memory_tracker2_.get(), feature_info_.get(), |
- TextureManagerTest::kMaxTextureSize, |
- TextureManagerTest::kMaxCubeMapTextureSize, |
- TextureManagerTest::kMaxRectangleTextureSize, |
- TextureManagerTest::kMax3DTextureSize, |
- TextureManagerTest::kMaxArrayTextureLayers, |
- kUseDefaultTextures, nullptr)); |
+ texture_manager2_.reset(new TextureManager( |
+ memory_tracker2_.get(), feature_info_.get(), |
+ TextureManagerTest::kMaxTextureSize, |
+ TextureManagerTest::kMaxCubeMapTextureSize, |
+ TextureManagerTest::kMaxRectangleTextureSize, |
+ TextureManagerTest::kMax3DTextureSize, |
+ TextureManagerTest::kMaxArrayTextureLayers, kUseDefaultTextures, |
+ nullptr, &discardable_manager_)); |
SetupFeatureInfo("", "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2); |
TestHelper::SetupTextureManagerInitExpectations( |
gl_.get(), false, false, false, "", kUseDefaultTextures); |
@@ -2240,6 +2244,7 @@ class SharedTextureTest : public GpuServiceTest { |
} |
scoped_refptr<FeatureInfo> feature_info_; |
+ ServiceDiscardableManager discardable_manager_; |
scoped_refptr<CountingMemoryTracker> memory_tracker1_; |
std::unique_ptr<TextureManager> texture_manager1_; |
scoped_refptr<CountingMemoryTracker> memory_tracker2_; |