| 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 5e9b3da5be9326b875dd9c2826dea83e9e0571f3..6c704aebcf9826cacf839946bf36daf6e2a6013c 100644
|
| --- a/gpu/command_buffer/service/texture_manager_unittest.cc
|
| +++ b/gpu/command_buffer/service/texture_manager_unittest.cc
|
| @@ -58,7 +58,7 @@ class TextureManagerTest : public testing::Test {
|
|
|
| // Use StrictMock to make 100% sure we know how GL will be called.
|
| scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_;
|
| - FeatureInfo::Ref feature_info_;
|
| + scoped_refptr<FeatureInfo> feature_info_;
|
| scoped_ptr<TextureManager> manager_;
|
| };
|
|
|
| @@ -80,34 +80,34 @@ TEST_F(TextureManagerTest, Basic) {
|
| EXPECT_FALSE(manager_->HaveUnsafeTextures());
|
| EXPECT_FALSE(manager_->HaveUnclearedMips());
|
| // Check we can create texture.
|
| - manager_->CreateTextureInfo(kClient1Id, kService1Id);
|
| + manager_->CreateTexture(kClient1Id, kService1Id);
|
| // Check texture got created.
|
| - TextureManager::TextureInfo* info1 = manager_->GetTextureInfo(kClient1Id);
|
| + Texture* info1 = manager_->GetTexture(kClient1Id);
|
| ASSERT_TRUE(info1 != NULL);
|
| EXPECT_EQ(kService1Id, info1->service_id());
|
| GLuint client_id = 0;
|
| EXPECT_TRUE(manager_->GetClientId(info1->service_id(), &client_id));
|
| EXPECT_EQ(kClient1Id, client_id);
|
| // Check we get nothing for a non-existent texture.
|
| - EXPECT_TRUE(manager_->GetTextureInfo(kClient2Id) == NULL);
|
| + EXPECT_TRUE(manager_->GetTexture(kClient2Id) == NULL);
|
| // Check trying to a remove non-existent textures does not crash.
|
| - manager_->RemoveTextureInfo(kClient2Id);
|
| + manager_->RemoveTexture(kClient2Id);
|
| // Check that it gets deleted when the last reference is released.
|
| EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id)))
|
| .Times(1)
|
| .RetiresOnSaturation();
|
| // Check we can't get the texture after we remove it.
|
| - manager_->RemoveTextureInfo(kClient1Id);
|
| - EXPECT_TRUE(manager_->GetTextureInfo(kClient1Id) == NULL);
|
| + manager_->RemoveTexture(kClient1Id);
|
| + EXPECT_TRUE(manager_->GetTexture(kClient1Id) == NULL);
|
| }
|
|
|
| TEST_F(TextureManagerTest, SetParameter) {
|
| const GLuint kClient1Id = 1;
|
| const GLuint kService1Id = 11;
|
| // Check we can create texture.
|
| - manager_->CreateTextureInfo(kClient1Id, kService1Id);
|
| + manager_->CreateTexture(kClient1Id, kService1Id);
|
| // Check texture got created.
|
| - TextureManager::TextureInfo* info = manager_->GetTextureInfo(kClient1Id);
|
| + Texture* info = manager_->GetTexture(kClient1Id);
|
| ASSERT_TRUE(info != NULL);
|
| EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), manager_->SetParameter(
|
| info, GL_TEXTURE_MIN_FILTER, GL_NEAREST));
|
| @@ -150,9 +150,9 @@ TEST_F(TextureManagerTest, TextureUsageExt) {
|
| const GLuint kClient1Id = 1;
|
| const GLuint kService1Id = 11;
|
| // Check we can create texture.
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| // Check texture got created.
|
| - TextureManager::TextureInfo* info = manager.GetTextureInfo(kClient1Id);
|
| + Texture* info = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info != NULL);
|
| EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), manager.SetParameter(
|
| info, GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE));
|
| @@ -169,9 +169,9 @@ TEST_F(TextureManagerTest, Destroy) {
|
| NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| manager.Initialize();
|
| // Check we can create texture.
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| // Check texture got created.
|
| - TextureManager::TextureInfo* info1 = manager.GetTextureInfo(kClient1Id);
|
| + Texture* info1 = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info1 != NULL);
|
| EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id)))
|
| .Times(1)
|
| @@ -179,7 +179,7 @@ TEST_F(TextureManagerTest, Destroy) {
|
| TestHelper::SetupTextureManagerDestructionExpectations(gl_.get(), "");
|
| manager.Destroy(true);
|
| // Check that resources got freed.
|
| - info1 = manager.GetTextureInfo(kClient1Id);
|
| + info1 = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info1 == NULL);
|
| }
|
|
|
| @@ -191,18 +191,18 @@ TEST_F(TextureManagerTest, DestroyUnowned) {
|
| NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| manager.Initialize();
|
| // Check we can create texture.
|
| - TextureManager::TextureInfo* created_info =
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| + Texture* created_info =
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| created_info->SetNotOwned();
|
|
|
| // Check texture got created.
|
| - TextureManager::TextureInfo* info1 = manager.GetTextureInfo(kClient1Id);
|
| + Texture* info1 = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info1 != NULL);
|
|
|
| // Check that it is not freed if it is not owned.
|
| TestHelper::SetupTextureManagerDestructionExpectations(gl_.get(), "");
|
| manager.Destroy(true);
|
| - info1 = manager.GetTextureInfo(kClient1Id);
|
| + info1 = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info1 == NULL);
|
| }
|
|
|
| @@ -318,7 +318,7 @@ TEST_F(TextureManagerTest, ValidForTarget) {
|
| TEST_F(TextureManagerTest, ValidForTargetNPOT) {
|
| TestHelper::SetupFeatureInfoInitExpectations(
|
| gl_.get(), "GL_OES_texture_npot");
|
| - FeatureInfo::Ref feature_info(new FeatureInfo());
|
| + scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
|
| feature_info->Initialize(NULL);
|
| TextureManager manager(
|
| NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| @@ -356,8 +356,8 @@ class TextureInfoTestBase : public testing::Test {
|
| manager_.reset(new TextureManager(
|
| memory_tracker, feature_info_.get(),
|
| kMaxTextureSize, kMaxCubeMapTextureSize));
|
| - manager_->CreateTextureInfo(kClient1Id, kService1Id);
|
| - info_ = manager_->GetTextureInfo(kClient1Id);
|
| + manager_->CreateTexture(kClient1Id, kService1Id);
|
| + info_ = manager_->GetTexture(kClient1Id);
|
| ASSERT_TRUE(info_.get() != NULL);
|
| }
|
|
|
| @@ -383,9 +383,9 @@ class TextureInfoTestBase : public testing::Test {
|
|
|
| // Use StrictMock to make 100% sure we know how GL will be called.
|
| scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_;
|
| - FeatureInfo::Ref feature_info_;
|
| + scoped_refptr<FeatureInfo> feature_info_;
|
| scoped_ptr<TextureManager> manager_;
|
| - TextureManager::TextureInfo::Ref info_;
|
| + scoped_refptr<Texture> info_;
|
| };
|
|
|
| class TextureInfoTest : public TextureInfoTestBase {
|
| @@ -585,12 +585,12 @@ TEST_F(TextureInfoTest, NPOT2D) {
|
| TEST_F(TextureInfoTest, NPOT2DNPOTOK) {
|
| TestHelper::SetupFeatureInfoInitExpectations(
|
| gl_.get(), "GL_OES_texture_npot");
|
| - FeatureInfo::Ref feature_info(new FeatureInfo());
|
| + scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
|
| feature_info->Initialize(NULL);
|
| TextureManager manager(
|
| NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| - TextureManager::TextureInfo* info = manager.GetTextureInfo(kClient1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| + Texture* info = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info_ != NULL);
|
|
|
| manager.SetInfoTarget(info, GL_TEXTURE_2D);
|
| @@ -707,7 +707,7 @@ TEST_F(TextureInfoTest, GetLevelSize) {
|
| EXPECT_TRUE(info_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height));
|
| EXPECT_EQ(4, width);
|
| EXPECT_EQ(5, height);
|
| - manager_->RemoveTextureInfo(kClient1Id);
|
| + manager_->RemoveTexture(kClient1Id);
|
| EXPECT_TRUE(info_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height));
|
| EXPECT_EQ(4, width);
|
| EXPECT_EQ(5, height);
|
| @@ -725,7 +725,7 @@ TEST_F(TextureInfoTest, GetLevelType) {
|
| EXPECT_TRUE(info_->GetLevelType(GL_TEXTURE_2D, 1, &type, &format));
|
| EXPECT_EQ(static_cast<GLenum>(GL_UNSIGNED_BYTE), type);
|
| EXPECT_EQ(static_cast<GLenum>(GL_RGBA), format);
|
| - manager_->RemoveTextureInfo(kClient1Id);
|
| + manager_->RemoveTexture(kClient1Id);
|
| EXPECT_TRUE(info_->GetLevelType(GL_TEXTURE_2D, 1, &type, &format));
|
| EXPECT_EQ(static_cast<GLenum>(GL_UNSIGNED_BYTE), type);
|
| EXPECT_EQ(static_cast<GLenum>(GL_RGBA), format);
|
| @@ -772,7 +772,7 @@ TEST_F(TextureInfoTest, ValidForTexture) {
|
| // Check valid particial size.
|
| EXPECT_TRUE(info_->ValidForTexture(
|
| GL_TEXTURE_2D, 1, 1, 1, 2, 3, GL_RGBA, GL_UNSIGNED_BYTE));
|
| - manager_->RemoveTextureInfo(kClient1Id);
|
| + manager_->RemoveTexture(kClient1Id);
|
| EXPECT_TRUE(info_->ValidForTexture(
|
| GL_TEXTURE_2D, 1, 0, 0, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE));
|
| }
|
| @@ -780,12 +780,12 @@ TEST_F(TextureInfoTest, ValidForTexture) {
|
| TEST_F(TextureInfoTest, FloatNotLinear) {
|
| TestHelper::SetupFeatureInfoInitExpectations(
|
| gl_.get(), "GL_OES_texture_float");
|
| - FeatureInfo::Ref feature_info(new FeatureInfo());
|
| + scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
|
| feature_info->Initialize(NULL);
|
| TextureManager manager(
|
| NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| - TextureManager::TextureInfo* info = manager.GetTextureInfo(kClient1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| + Texture* info = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info != NULL);
|
| manager.SetInfoTarget(info, GL_TEXTURE_2D);
|
| EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info->target());
|
| @@ -802,12 +802,12 @@ TEST_F(TextureInfoTest, FloatNotLinear) {
|
| TEST_F(TextureInfoTest, FloatLinear) {
|
| TestHelper::SetupFeatureInfoInitExpectations(
|
| gl_.get(), "GL_OES_texture_float GL_OES_texture_float_linear");
|
| - FeatureInfo::Ref feature_info(new FeatureInfo());
|
| + scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
|
| feature_info->Initialize(NULL);
|
| TextureManager manager(
|
| NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| - TextureManager::TextureInfo* info = manager.GetTextureInfo(kClient1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| + Texture* info = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info != NULL);
|
| manager.SetInfoTarget(info, GL_TEXTURE_2D);
|
| EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info->target());
|
| @@ -820,12 +820,12 @@ TEST_F(TextureInfoTest, FloatLinear) {
|
| TEST_F(TextureInfoTest, HalfFloatNotLinear) {
|
| TestHelper::SetupFeatureInfoInitExpectations(
|
| gl_.get(), "GL_OES_texture_half_float");
|
| - FeatureInfo::Ref feature_info(new FeatureInfo());
|
| + scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
|
| feature_info->Initialize(NULL);
|
| TextureManager manager(
|
| NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| - TextureManager::TextureInfo* info = manager.GetTextureInfo(kClient1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| + Texture* info = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info != NULL);
|
| manager.SetInfoTarget(info, GL_TEXTURE_2D);
|
| EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info->target());
|
| @@ -842,12 +842,12 @@ TEST_F(TextureInfoTest, HalfFloatNotLinear) {
|
| TEST_F(TextureInfoTest, HalfFloatLinear) {
|
| TestHelper::SetupFeatureInfoInitExpectations(
|
| gl_.get(), "GL_OES_texture_half_float GL_OES_texture_half_float_linear");
|
| - FeatureInfo::Ref feature_info(new FeatureInfo());
|
| + scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
|
| feature_info->Initialize(NULL);
|
| TextureManager manager(
|
| NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| - TextureManager::TextureInfo* info = manager.GetTextureInfo(kClient1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| + Texture* info = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info != NULL);
|
| manager.SetInfoTarget(info, GL_TEXTURE_2D);
|
| EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info->target());
|
| @@ -860,12 +860,12 @@ TEST_F(TextureInfoTest, HalfFloatLinear) {
|
| TEST_F(TextureInfoTest, EGLImageExternal) {
|
| TestHelper::SetupFeatureInfoInitExpectations(
|
| gl_.get(), "GL_OES_EGL_image_external");
|
| - FeatureInfo::Ref feature_info(new FeatureInfo());
|
| + scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
|
| feature_info->Initialize(NULL);
|
| TextureManager manager(
|
| NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| - TextureManager::TextureInfo* info = manager.GetTextureInfo(kClient1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| + Texture* info = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info != NULL);
|
| manager.SetInfoTarget(info, GL_TEXTURE_EXTERNAL_OES);
|
| EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), info->target());
|
| @@ -876,12 +876,12 @@ TEST_F(TextureInfoTest, EGLImageExternal) {
|
| TEST_F(TextureInfoTest, DepthTexture) {
|
| TestHelper::SetupFeatureInfoInitExpectations(
|
| gl_.get(), "GL_ANGLE_depth_texture");
|
| - FeatureInfo::Ref feature_info(new FeatureInfo());
|
| + scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
|
| feature_info->Initialize(NULL);
|
| TextureManager manager(
|
| NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
|
| - manager.CreateTextureInfo(kClient1Id, kService1Id);
|
| - TextureManager::TextureInfo* info = manager.GetTextureInfo(kClient1Id);
|
| + manager.CreateTexture(kClient1Id, kService1Id);
|
| + Texture* info = manager.GetTexture(kClient1Id);
|
| ASSERT_TRUE(info != NULL);
|
| manager.SetInfoTarget(info, GL_TEXTURE_2D);
|
| manager.SetLevelInfo(
|
| @@ -951,8 +951,9 @@ TEST_F(TextureInfoTest, SafeUnsafe) {
|
| EXPECT_FALSE(manager_->HaveUnclearedMips());
|
| EXPECT_EQ(0, info_->num_uncleared_mips());
|
|
|
| - manager_->CreateTextureInfo(kClient2Id, kService2Id);
|
| - TextureManager::TextureInfo::Ref info2 = manager_->GetTextureInfo(kClient2Id);
|
| + manager_->CreateTexture(kClient2Id, kService2Id);
|
| + scoped_refptr<Texture> info2(
|
| + manager_->GetTexture(kClient2Id));
|
| ASSERT_TRUE(info2.get() != NULL);
|
| manager_->SetInfoTarget(info2, GL_TEXTURE_2D);
|
| EXPECT_FALSE(manager_->HaveUnsafeTextures());
|
| @@ -969,8 +970,9 @@ TEST_F(TextureInfoTest, SafeUnsafe) {
|
| EXPECT_TRUE(manager_->HaveUnclearedMips());
|
| EXPECT_EQ(1, info2->num_uncleared_mips());
|
|
|
| - manager_->CreateTextureInfo(kClient3Id, kService3Id);
|
| - TextureManager::TextureInfo::Ref info3 = manager_->GetTextureInfo(kClient3Id);
|
| + manager_->CreateTexture(kClient3Id, kService3Id);
|
| + scoped_refptr<Texture> info3(
|
| + manager_->GetTexture(kClient3Id));
|
| ASSERT_TRUE(info3.get() != NULL);
|
| manager_->SetInfoTarget(info3, GL_TEXTURE_2D);
|
| manager_->SetLevelInfo(info3,
|
| @@ -995,10 +997,10 @@ TEST_F(TextureInfoTest, SafeUnsafe) {
|
| EXPECT_TRUE(manager_->HaveUnclearedMips());
|
| EXPECT_EQ(1, info2->num_uncleared_mips());
|
| EXPECT_EQ(1, info3->num_uncleared_mips());
|
| - manager_->RemoveTextureInfo(kClient3Id);
|
| + manager_->RemoveTexture(kClient3Id);
|
| EXPECT_TRUE(manager_->HaveUnsafeTextures());
|
| EXPECT_TRUE(manager_->HaveUnclearedMips());
|
| - manager_->RemoveTextureInfo(kClient2Id);
|
| + manager_->RemoveTexture(kClient2Id);
|
| EXPECT_TRUE(manager_->HaveUnsafeTextures());
|
| EXPECT_TRUE(manager_->HaveUnclearedMips());
|
| EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService2Id)))
|
| @@ -1062,13 +1064,14 @@ TEST_F(TextureInfoTest, UseDeletedTexture) {
|
| GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false);
|
| EXPECT_FALSE(manager_->HaveUnrenderableTextures());
|
| // Make a new texture
|
| - manager_->CreateTextureInfo(kClient2Id, kService2Id);
|
| - TextureManager::TextureInfo::Ref info(manager_->GetTextureInfo(kClient2Id));
|
| + manager_->CreateTexture(kClient2Id, kService2Id);
|
| + scoped_refptr<Texture> info(
|
| + manager_->GetTexture(kClient2Id));
|
| manager_->SetInfoTarget(info, GL_TEXTURE_2D);
|
| EXPECT_FALSE(manager_->CanRender(info));
|
| EXPECT_TRUE(manager_->HaveUnrenderableTextures());
|
| // Remove it.
|
| - manager_->RemoveTextureInfo(kClient2Id);
|
| + manager_->RemoveTexture(kClient2Id);
|
| EXPECT_FALSE(manager_->CanRender(info));
|
| EXPECT_TRUE(manager_->HaveUnrenderableTextures());
|
| // Check that we can still manipulate it and it effects the manager.
|
|
|