| 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) {
|
|
|