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 0236f718615a083ca4da6704b41abb855a004025..5f3be163897e7aba044ef6d7022d2e6b7909f0cf 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/progress_reporter_stub.h" |
#include "gpu/command_buffer/service/test_helper.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "ui/gl/gl_image_stub.h" |
@@ -81,14 +82,10 @@ class TextureManagerTest : public GpuServiceTest { |
protected: |
void SetUp() override { |
GpuServiceTest::SetUp(); |
- manager_.reset(new TextureManager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures)); |
+ manager_.reset(new TextureManager( |
+ NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize, |
+ kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_)); |
SetupFeatureInfo("", "OpenGL ES 2.0", false); |
TestHelper::SetupTextureManagerInitExpectations( |
gl_.get(), false, false, false, "", kUseDefaultTextures); |
@@ -130,6 +127,7 @@ class TextureManagerTest : public GpuServiceTest { |
scoped_refptr<FeatureInfo> feature_info_; |
std::unique_ptr<TextureManager> manager_; |
std::unique_ptr<MockErrorState> error_state_; |
+ ProgressReporterStub progress_reporter_; |
}; |
// GCC requires these declarations, but MSVC requires they not be present |
@@ -248,14 +246,10 @@ TEST_F(TextureManagerTest, UseDefaultTexturesTrue) { |
bool use_default_textures = true; |
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
false, false, false, "GL_ANGLE_texture_usage", use_default_textures); |
- TextureManager manager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- use_default_textures); |
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ use_default_textures, &progress_reporter_); |
manager.Initialize(); |
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) != NULL); |
@@ -270,14 +264,10 @@ TEST_F(TextureManagerTest, UseDefaultTexturesFalse) { |
bool use_default_textures = false; |
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
false, false, false, "GL_ANGLE_texture_usage", use_default_textures); |
- TextureManager manager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- use_default_textures); |
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ use_default_textures, &progress_reporter_); |
manager.Initialize(); |
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL); |
@@ -293,14 +283,10 @@ TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) { |
SetupFeatureInfo("", "OpenGL ES 3.0", true); |
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
true, true, false, "", use_default_textures); |
- TextureManager manager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- use_default_textures); |
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ use_default_textures, &progress_reporter_); |
manager.Initialize(); |
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL); |
@@ -314,14 +300,10 @@ TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) { |
SetupFeatureInfo("", "OpenGL ES 3.0", true); |
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
true, true, false, "", use_default_textures); |
- TextureManager manager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- use_default_textures); |
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ use_default_textures, &progress_reporter_); |
manager.Initialize(); |
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL); |
@@ -334,14 +316,10 @@ TEST_F(TextureManagerTest, TextureUsageExt) { |
TestHelper::SetupTextureManagerInitExpectations( |
gl_.get(), false, false, false, "GL_ANGLE_texture_usage", |
kUseDefaultTextures); |
- TextureManager manager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.Initialize(); |
const GLuint kClient1Id = 1; |
const GLuint kService1Id = 11; |
@@ -363,14 +341,10 @@ TEST_F(TextureManagerTest, Destroy) { |
const GLuint kService1Id = 11; |
TestHelper::SetupTextureManagerInitExpectations( |
gl_.get(), false, false, false, "", kUseDefaultTextures); |
- TextureManager manager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.Initialize(); |
// Check we can create texture. |
manager.CreateTexture(kClient1Id, kService1Id); |
@@ -522,14 +496,10 @@ TEST_F(TextureManagerTest, ValidForTargetNPOT) { |
gl_.get(), "GL_OES_texture_npot"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
feature_info->InitializeForTesting(); |
- TextureManager manager(NULL, |
- feature_info.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
// Check NPOT width on level 0 |
EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 5, 2, 1)); |
// Check NPOT height on level 0 |
@@ -548,14 +518,10 @@ TEST_F(TextureManagerTest, AlphaLuminanceCompatibilityProfile) { |
SetupFeatureInfo("", "2.1", false); |
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), false, false, |
false, "", kUseDefaultTextures); |
- TextureManager manager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.Initialize(); |
// Create a texture. |
@@ -593,14 +559,10 @@ TEST_F(TextureManagerTest, AlphaLuminanceCoreProfileEmulation) { |
SetupFeatureInfo("", "4.2", true); |
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), true, true, true, |
"", kUseDefaultTextures); |
- TextureManager manager(NULL, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.Initialize(); |
// Create a texture. |
@@ -712,14 +674,10 @@ class TextureTestBase : public GpuServiceTest { |
extensions.c_str()); |
feature_info_->InitializeForTesting(); |
- manager_.reset(new TextureManager(memory_tracker, |
- feature_info_.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures)); |
+ manager_.reset(new TextureManager( |
+ memory_tracker, feature_info_.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, kMax3DTextureSize, |
+ kMaxArrayTextureLayers, kUseDefaultTextures, &progress_reporter_)); |
decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>()); |
error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); |
manager_->CreateTexture(kClient1Id, kService1Id); |
@@ -757,6 +715,7 @@ class TextureTestBase : public GpuServiceTest { |
scoped_refptr<FeatureInfo> feature_info_; |
std::unique_ptr<TextureManager> manager_; |
scoped_refptr<TextureRef> texture_ref_; |
+ ProgressReporterStub progress_reporter_; |
}; |
class TextureTest : public TextureTestBase { |
@@ -1018,14 +977,10 @@ TEST_F(TextureTest, NPOT2DNPOTOK) { |
gl_.get(), "GL_OES_texture_npot"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
feature_info->InitializeForTesting(); |
- TextureManager manager(NULL, |
- feature_info.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1320,14 +1275,10 @@ TEST_F(TextureTest, FloatNotLinear) { |
gl_.get(), "GL_OES_texture_float"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
feature_info->InitializeForTesting(); |
- TextureManager manager(NULL, |
- feature_info.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1353,14 +1304,10 @@ TEST_F(TextureTest, FloatLinear) { |
gl_.get(), "GL_OES_texture_float GL_OES_texture_float_linear"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
feature_info->InitializeForTesting(); |
- TextureManager manager(NULL, |
- feature_info.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1378,14 +1325,10 @@ TEST_F(TextureTest, HalfFloatNotLinear) { |
gl_.get(), "GL_OES_texture_half_float"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
feature_info->InitializeForTesting(); |
- TextureManager manager(NULL, |
- feature_info.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1411,14 +1354,10 @@ TEST_F(TextureTest, HalfFloatLinear) { |
gl_.get(), "GL_OES_texture_half_float GL_OES_texture_half_float_linear"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
feature_info->InitializeForTesting(); |
- TextureManager manager(NULL, |
- feature_info.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1436,14 +1375,10 @@ TEST_F(TextureTest, EGLImageExternal) { |
gl_.get(), "GL_OES_EGL_image_external"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
feature_info->InitializeForTesting(); |
- TextureManager manager(NULL, |
- feature_info.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -1459,14 +1394,10 @@ TEST_F(TextureTest, DepthTexture) { |
gl_.get(), "GL_ANGLE_depth_texture"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
feature_info->InitializeForTesting(); |
- TextureManager manager(NULL, |
- feature_info.get(), |
- kMaxTextureSize, |
- kMaxCubeMapTextureSize, |
- kMaxRectangleTextureSize, |
- kMax3DTextureSize, |
- kMaxArrayTextureLayers, |
- kUseDefaultTextures); |
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize, |
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, |
+ kMax3DTextureSize, kMaxArrayTextureLayers, |
+ kUseDefaultTextures, &progress_reporter_); |
manager.CreateTexture(kClient1Id, kService1Id); |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
@@ -2236,24 +2167,22 @@ class SharedTextureTest : public GpuServiceTest { |
GpuServiceTest::SetUp(); |
memory_tracker1_ = new CountingMemoryTracker; |
texture_manager1_.reset( |
- new TextureManager(memory_tracker1_.get(), |
- feature_info_.get(), |
+ new TextureManager(memory_tracker1_.get(), feature_info_.get(), |
TextureManagerTest::kMaxTextureSize, |
TextureManagerTest::kMaxCubeMapTextureSize, |
TextureManagerTest::kMaxRectangleTextureSize, |
TextureManagerTest::kMax3DTextureSize, |
TextureManagerTest::kMaxArrayTextureLayers, |
- kUseDefaultTextures)); |
+ kUseDefaultTextures, &progress_reporter_)); |
memory_tracker2_ = new CountingMemoryTracker; |
texture_manager2_.reset( |
- new TextureManager(memory_tracker2_.get(), |
- feature_info_.get(), |
+ new TextureManager(memory_tracker2_.get(), feature_info_.get(), |
TextureManagerTest::kMaxTextureSize, |
TextureManagerTest::kMaxCubeMapTextureSize, |
TextureManagerTest::kMaxRectangleTextureSize, |
TextureManagerTest::kMax3DTextureSize, |
TextureManagerTest::kMaxArrayTextureLayers, |
- kUseDefaultTextures)); |
+ kUseDefaultTextures, &progress_reporter_)); |
SetupFeatureInfo("", "OpenGL ES 2.0", false); |
TestHelper::SetupTextureManagerInitExpectations( |
gl_.get(), false, false, false, "", kUseDefaultTextures); |
@@ -2295,6 +2224,7 @@ class SharedTextureTest : public GpuServiceTest { |
std::unique_ptr<TextureManager> texture_manager1_; |
scoped_refptr<CountingMemoryTracker> memory_tracker2_; |
std::unique_ptr<TextureManager> texture_manager2_; |
+ ProgressReporterStub progress_reporter_; |
}; |
TEST_F(SharedTextureTest, DeleteTextures) { |