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 6c704aebcf9826cacf839946bf36daf6e2a6013c..677d9aafd9d24e48d7c167f9244ed3938026853b 100644 |
--- a/gpu/command_buffer/service/texture_manager_unittest.cc |
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc |
@@ -47,6 +47,7 @@ class TextureManagerTest : public testing::Test { |
kMaxTextureSize, kMaxCubeMapTextureSize)); |
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), ""); |
manager_->Initialize(); |
+ decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>()); |
} |
virtual void TearDown() { |
@@ -56,10 +57,18 @@ class TextureManagerTest : public testing::Test { |
gl_.reset(); |
} |
+ void SetParameter( |
+ Texture* texture, GLenum pname, GLint value, GLenum error) { |
+ TestHelper::SetTexParameterWithExpectations( |
+ gl_.get(), decoder_.get(), manager_.get(), |
+ texture, pname, value, error); |
+ } |
+ |
// Use StrictMock to make 100% sure we know how GL will be called. |
scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_; |
scoped_refptr<FeatureInfo> feature_info_; |
scoped_ptr<TextureManager> manager_; |
+ scoped_ptr<MockGLES2Decoder> decoder_; |
}; |
// GCC requires these declarations, but MSVC requires they not be present |
@@ -82,11 +91,11 @@ TEST_F(TextureManagerTest, Basic) { |
// Check we can create texture. |
manager_->CreateTexture(kClient1Id, kService1Id); |
// Check texture got created. |
- Texture* info1 = manager_->GetTexture(kClient1Id); |
- ASSERT_TRUE(info1 != NULL); |
- EXPECT_EQ(kService1Id, info1->service_id()); |
+ Texture* texture = manager_->GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
+ EXPECT_EQ(kService1Id, texture->service_id()); |
GLuint client_id = 0; |
- EXPECT_TRUE(manager_->GetClientId(info1->service_id(), &client_id)); |
+ EXPECT_TRUE(manager_->GetClientId(texture->service_id(), &client_id)); |
EXPECT_EQ(kClient1Id, client_id); |
// Check we get nothing for a non-existent texture. |
EXPECT_TRUE(manager_->GetTexture(kClient2Id) == NULL); |
@@ -107,38 +116,30 @@ TEST_F(TextureManagerTest, SetParameter) { |
// Check we can create texture. |
manager_->CreateTexture(kClient1Id, kService1Id); |
// Check texture got created. |
- 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)); |
- EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), info->min_filter()); |
- EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), manager_->SetParameter( |
- info, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); |
- EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), info->mag_filter()); |
- EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), manager_->SetParameter( |
- info, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE)); |
- EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_s()); |
- EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), manager_->SetParameter( |
- info, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE)); |
- EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_t()); |
- EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), manager_->SetParameter( |
- info, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1)); |
- EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), manager_->SetParameter( |
- info, GL_TEXTURE_MAX_ANISOTROPY_EXT, 2)); |
- EXPECT_EQ(static_cast<GLenum>(GL_INVALID_ENUM), manager_->SetParameter( |
- info, GL_TEXTURE_MIN_FILTER, GL_CLAMP_TO_EDGE)); |
- EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), info->min_filter()); |
- EXPECT_EQ(static_cast<GLenum>(GL_INVALID_ENUM), manager_->SetParameter( |
- info, GL_TEXTURE_MAG_FILTER, GL_CLAMP_TO_EDGE)); |
- EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), info->min_filter()); |
- EXPECT_EQ(static_cast<GLenum>(GL_INVALID_ENUM), manager_->SetParameter( |
- info, GL_TEXTURE_WRAP_S, GL_NEAREST)); |
- EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_s()); |
- EXPECT_EQ(static_cast<GLenum>(GL_INVALID_ENUM), manager_->SetParameter( |
- info, GL_TEXTURE_WRAP_T, GL_NEAREST)); |
- EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_t()); |
- EXPECT_EQ(static_cast<GLenum>(GL_INVALID_VALUE), manager_->SetParameter( |
- info, GL_TEXTURE_MAX_ANISOTROPY_EXT, 0)); |
+ Texture* texture = manager_->GetTexture(kClient1Id); |
+ manager_->SetTarget(texture, GL_TEXTURE_2D); |
+ ASSERT_TRUE(texture != NULL); |
+ SetParameter(texture, GL_TEXTURE_MIN_FILTER, GL_NEAREST, GL_NO_ERROR); |
+ EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), texture->min_filter()); |
+ SetParameter(texture, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); |
+ EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), texture->mag_filter()); |
+ SetParameter(texture, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, GL_NO_ERROR); |
+ EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), texture->wrap_s()); |
+ SetParameter(texture, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE, GL_NO_ERROR); |
+ EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), texture->wrap_t()); |
+ SetParameter(texture, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1, GL_NO_ERROR); |
+ SetParameter(texture, GL_TEXTURE_MAX_ANISOTROPY_EXT, 2, GL_NO_ERROR); |
+ SetParameter( |
+ texture, GL_TEXTURE_MIN_FILTER, GL_CLAMP_TO_EDGE, GL_INVALID_ENUM); |
+ EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), texture->min_filter()); |
+ SetParameter( |
+ texture, GL_TEXTURE_MAG_FILTER, GL_CLAMP_TO_EDGE, GL_INVALID_ENUM); |
+ EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), texture->min_filter()); |
+ SetParameter(texture, GL_TEXTURE_WRAP_S, GL_NEAREST, GL_INVALID_ENUM); |
+ EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), texture->wrap_s()); |
+ SetParameter(texture, GL_TEXTURE_WRAP_T, GL_NEAREST, GL_INVALID_ENUM); |
+ EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), texture->wrap_t()); |
+ SetParameter(texture, GL_TEXTURE_MAX_ANISOTROPY_EXT, 0, GL_INVALID_VALUE); |
} |
TEST_F(TextureManagerTest, TextureUsageExt) { |
@@ -152,12 +153,13 @@ TEST_F(TextureManagerTest, TextureUsageExt) { |
// Check we can create texture. |
manager.CreateTexture(kClient1Id, kService1Id); |
// Check texture got created. |
- 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)); |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
+ TestHelper::SetTexParameterWithExpectations( |
+ gl_.get(), decoder_.get(), &manager, texture, |
+ GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE,GL_NO_ERROR); |
EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_ATTACHMENT_ANGLE), |
- info->usage()); |
+ texture->usage()); |
manager.Destroy(false); |
} |
@@ -171,16 +173,16 @@ TEST_F(TextureManagerTest, Destroy) { |
// Check we can create texture. |
manager.CreateTexture(kClient1Id, kService1Id); |
// Check texture got created. |
- Texture* info1 = manager.GetTexture(kClient1Id); |
- ASSERT_TRUE(info1 != NULL); |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id))) |
.Times(1) |
.RetiresOnSaturation(); |
TestHelper::SetupTextureManagerDestructionExpectations(gl_.get(), ""); |
manager.Destroy(true); |
// Check that resources got freed. |
- info1 = manager.GetTexture(kClient1Id); |
- ASSERT_TRUE(info1 == NULL); |
+ texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture == NULL); |
} |
TEST_F(TextureManagerTest, DestroyUnowned) { |
@@ -191,19 +193,19 @@ TEST_F(TextureManagerTest, DestroyUnowned) { |
NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize); |
manager.Initialize(); |
// Check we can create texture. |
- Texture* created_info = |
+ Texture* created_texture = |
manager.CreateTexture(kClient1Id, kService1Id); |
- created_info->SetNotOwned(); |
+ created_texture->SetNotOwned(); |
// Check texture got created. |
- Texture* info1 = manager.GetTexture(kClient1Id); |
- ASSERT_TRUE(info1 != NULL); |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
// Check that it is not freed if it is not owned. |
TestHelper::SetupTextureManagerDestructionExpectations(gl_.get(), ""); |
manager.Destroy(true); |
- info1 = manager.GetTexture(kClient1Id); |
- ASSERT_TRUE(info1 == NULL); |
+ texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture == NULL); |
} |
TEST_F(TextureManagerTest, MaxValues) { |
@@ -333,7 +335,7 @@ TEST_F(TextureManagerTest, ValidForTargetNPOT) { |
manager.Destroy(false); |
} |
-class TextureInfoTestBase : public testing::Test { |
+class TextureTestBase : public testing::Test { |
public: |
static const GLint kMaxTextureSize = 16; |
static const GLint kMaxCubeMapTextureSize = 8; |
@@ -342,11 +344,11 @@ class TextureInfoTestBase : public testing::Test { |
static const GLuint kClient1Id = 1; |
static const GLuint kService1Id = 11; |
- TextureInfoTestBase() |
+ TextureTestBase() |
: feature_info_(new FeatureInfo()) { |
} |
- virtual ~TextureInfoTestBase() { |
- info_ = NULL; |
+ virtual ~TextureTestBase() { |
+ texture_ = NULL; |
} |
protected: |
@@ -356,24 +358,25 @@ class TextureInfoTestBase : public testing::Test { |
manager_.reset(new TextureManager( |
memory_tracker, feature_info_.get(), |
kMaxTextureSize, kMaxCubeMapTextureSize)); |
+ decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>()); |
manager_->CreateTexture(kClient1Id, kService1Id); |
- info_ = manager_->GetTexture(kClient1Id); |
- ASSERT_TRUE(info_.get() != NULL); |
+ texture_ = manager_->GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture_.get() != NULL); |
} |
virtual void TearDown() { |
- if (info_.get()) { |
+ if (texture_.get()) { |
GLuint client_id = 0; |
- // If it's not in the manager then setting info_ to NULL will |
+ // If it's not in the manager then setting texture_ to NULL will |
// delete the texture. |
- if (!manager_->GetClientId(info_->service_id(), &client_id)) { |
+ if (!manager_->GetClientId(texture_->service_id(), &client_id)) { |
// Check that it gets deleted when the last reference is released. |
EXPECT_CALL(*gl_, |
- DeleteTextures(1, ::testing::Pointee(info_->service_id()))) |
+ DeleteTextures(1, ::testing::Pointee(texture_->service_id()))) |
.Times(1) |
.RetiresOnSaturation(); |
} |
- info_ = NULL; |
+ texture_ = NULL; |
} |
manager_->Destroy(false); |
manager_.reset(); |
@@ -381,21 +384,29 @@ class TextureInfoTestBase : public testing::Test { |
gl_.reset(); |
} |
+ void SetParameter( |
+ Texture* texture, GLenum pname, GLint value, GLenum error) { |
+ TestHelper::SetTexParameterWithExpectations( |
+ gl_.get(), decoder_.get(), manager_.get(), |
+ texture, pname, value, error); |
+ } |
+ |
// Use StrictMock to make 100% sure we know how GL will be called. |
scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_; |
scoped_refptr<FeatureInfo> feature_info_; |
scoped_ptr<TextureManager> manager_; |
- scoped_refptr<Texture> info_; |
+ scoped_ptr<MockGLES2Decoder> decoder_; |
+ scoped_refptr<Texture> texture_; |
}; |
-class TextureInfoTest : public TextureInfoTestBase { |
+class TextureTest : public TextureTestBase { |
protected: |
virtual void SetUp() { |
SetUpBase(NULL); |
} |
}; |
-class TextureInfoMemoryTrackerTest : public TextureInfoTestBase { |
+class TextureMemoryTrackerTest : public TextureTestBase { |
protected: |
virtual void SetUp() { |
mock_memory_tracker_ = new StrictMock<MockMemoryTracker>(); |
@@ -411,178 +422,181 @@ class TextureInfoMemoryTrackerTest : public TextureInfoTestBase { |
.Times(1) \ |
.RetiresOnSaturation() \ |
-TEST_F(TextureInfoTest, Basic) { |
- EXPECT_EQ(0u, info_->target()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_FALSE(info_->cube_complete()); |
- EXPECT_FALSE(manager_->CanGenerateMipmaps(info_)); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
- EXPECT_TRUE(info_->SafeToRenderFrom()); |
- EXPECT_FALSE(info_->IsImmutable()); |
- EXPECT_EQ(static_cast<GLenum>(GL_NEAREST_MIPMAP_LINEAR), info_->min_filter()); |
- EXPECT_EQ(static_cast<GLenum>(GL_LINEAR), info_->mag_filter()); |
- EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), info_->wrap_s()); |
- EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), info_->wrap_t()); |
+TEST_F(TextureTest, Basic) { |
+ EXPECT_EQ(0u, texture_->target()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_FALSE(texture_->cube_complete()); |
+ EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
+ EXPECT_TRUE(texture_->SafeToRenderFrom()); |
+ EXPECT_FALSE(texture_->IsImmutable()); |
+ EXPECT_EQ(static_cast<GLenum>(GL_NEAREST_MIPMAP_LINEAR), |
+ texture_->min_filter()); |
+ EXPECT_EQ(static_cast<GLenum>(GL_LINEAR), texture_->mag_filter()); |
+ EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), texture_->wrap_s()); |
+ EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), texture_->wrap_t()); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_EQ(0u, info_->estimated_size()); |
+ EXPECT_EQ(0u, texture_->estimated_size()); |
} |
-TEST_F(TextureInfoTest, EstimatedSize) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+TEST_F(TextureTest, EstimatedSize) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_EQ(8u * 4u * 4u, info_->estimated_size()); |
- manager_->SetLevelInfo(info_, |
+ EXPECT_EQ(8u * 4u * 4u, texture_->estimated_size()); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 2, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_EQ(8u * 4u * 4u * 2u, info_->estimated_size()); |
+ EXPECT_EQ(8u * 4u * 4u * 2u, texture_->estimated_size()); |
} |
-TEST_F(TextureInfoMemoryTrackerTest, EstimatedSize) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
+TEST_F(TextureMemoryTrackerTest, EstimatedSize) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 128, MemoryTracker::kUnmanaged); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
EXPECT_MEMORY_ALLOCATION_CHANGE(128, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 256, MemoryTracker::kUnmanaged); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 2, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
// Add expectation for texture deletion. |
EXPECT_MEMORY_ALLOCATION_CHANGE(256, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 0, MemoryTracker::kUnmanaged); |
} |
-TEST_F(TextureInfoMemoryTrackerTest, SetParameterPool) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
+TEST_F(TextureMemoryTrackerTest, SetParameterPool) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 128, MemoryTracker::kUnmanaged); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
EXPECT_MEMORY_ALLOCATION_CHANGE(128, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 128, MemoryTracker::kManaged); |
- EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), manager_->SetParameter( |
- info_, GL_TEXTURE_POOL_CHROMIUM, GL_TEXTURE_POOL_MANAGED_CHROMIUM)); |
+ SetParameter( |
+ texture_, GL_TEXTURE_POOL_CHROMIUM, GL_TEXTURE_POOL_MANAGED_CHROMIUM, |
+ GL_NO_ERROR); |
// Add expectation for texture deletion. |
EXPECT_MEMORY_ALLOCATION_CHANGE(128, 0, MemoryTracker::kManaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 0, MemoryTracker::kManaged); |
} |
-TEST_F(TextureInfoTest, POT2D) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); |
+TEST_F(TextureTest, POT2D) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture_->target()); |
// Check Setting level 0 to POT |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
// Set filters to something that will work with a single mip. |
- manager_->SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
- EXPECT_TRUE(manager_->CanRender(info_)); |
+ SetParameter(texture_, GL_TEXTURE_MIN_FILTER, GL_LINEAR, GL_NO_ERROR); |
+ EXPECT_TRUE(manager_->CanRender(texture_)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Set them back. |
- manager_->SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); |
+ SetParameter( |
+ texture_, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR, GL_NO_ERROR); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- EXPECT_TRUE(manager_->CanGenerateMipmaps(info_)); |
+ EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_)); |
// Make mips. |
- EXPECT_TRUE(manager_->MarkMipmapsGenerated(info_)); |
- EXPECT_TRUE(info_->texture_complete()); |
- EXPECT_TRUE(manager_->CanRender(info_)); |
+ EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_)); |
+ EXPECT_TRUE(texture_->texture_complete()); |
+ EXPECT_TRUE(manager_->CanRender(texture_)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Change a mip. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_TRUE(manager_->CanGenerateMipmaps(info_)); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_)); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
// Set a level past the number of mips that would get generated. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_TRUE(manager_->CanGenerateMipmaps(info_)); |
+ EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_)); |
// Make mips. |
- EXPECT_TRUE(manager_->MarkMipmapsGenerated(info_)); |
- EXPECT_TRUE(manager_->CanRender(info_)); |
- EXPECT_TRUE(info_->texture_complete()); |
+ EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_)); |
+ EXPECT_TRUE(manager_->CanRender(texture_)); |
+ EXPECT_TRUE(texture_->texture_complete()); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
} |
-TEST_F(TextureInfoMemoryTrackerTest, MarkMipmapsGenerated) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
+TEST_F(TextureMemoryTrackerTest, MarkMipmapsGenerated) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 64, MemoryTracker::kUnmanaged); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
EXPECT_MEMORY_ALLOCATION_CHANGE(64, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 84, MemoryTracker::kUnmanaged); |
- EXPECT_TRUE(manager_->MarkMipmapsGenerated(info_)); |
+ EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_)); |
EXPECT_MEMORY_ALLOCATION_CHANGE(84, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 0, MemoryTracker::kUnmanaged); |
} |
-TEST_F(TextureInfoTest, UnusedMips) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); |
+TEST_F(TextureTest, UnusedMips) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture_->target()); |
// Set level zero to large size. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_TRUE(manager_->MarkMipmapsGenerated(info_)); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_TRUE(info_->texture_complete()); |
- EXPECT_TRUE(manager_->CanRender(info_)); |
+ EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_TRUE(texture_->texture_complete()); |
+ EXPECT_TRUE(manager_->CanRender(texture_)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Set level zero to large smaller (levels unused mips) |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_TRUE(manager_->MarkMipmapsGenerated(info_)); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_TRUE(info_->texture_complete()); |
- EXPECT_TRUE(manager_->CanRender(info_)); |
+ EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_TRUE(texture_->texture_complete()); |
+ EXPECT_TRUE(manager_->CanRender(texture_)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Set an unused level to some size |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 4, GL_RGBA, 16, 16, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_TRUE(info_->texture_complete()); |
- EXPECT_TRUE(manager_->CanRender(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_TRUE(texture_->texture_complete()); |
+ EXPECT_TRUE(manager_->CanRender(texture_)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
} |
-TEST_F(TextureInfoTest, NPOT2D) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); |
+TEST_F(TextureTest, NPOT2D) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture_->target()); |
// Check Setting level 0 to NPOT |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_TRUE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_FALSE(manager_->CanGenerateMipmaps(info_)); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ EXPECT_TRUE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ SetParameter(texture_, GL_TEXTURE_MIN_FILTER, GL_LINEAR, GL_NO_ERROR); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetParameter(info_, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ SetParameter(texture_, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, GL_NO_ERROR); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetParameter(info_, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); |
- EXPECT_TRUE(manager_->CanRender(info_)); |
+ SetParameter(texture_, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE, GL_NO_ERROR); |
+ EXPECT_TRUE(manager_->CanRender(texture_)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Change it to POT. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_TRUE(manager_->CanGenerateMipmaps(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
} |
-TEST_F(TextureInfoTest, NPOT2DNPOTOK) { |
+TEST_F(TextureTest, NPOT2DNPOTOK) { |
TestHelper::SetupFeatureInfoInitExpectations( |
gl_.get(), "GL_OES_texture_npot"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
@@ -590,194 +604,194 @@ TEST_F(TextureInfoTest, NPOT2DNPOTOK) { |
TextureManager manager( |
NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize); |
manager.CreateTexture(kClient1Id, kService1Id); |
- Texture* info = manager.GetTexture(kClient1Id); |
- ASSERT_TRUE(info_ != NULL); |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
- manager.SetInfoTarget(info, GL_TEXTURE_2D); |
- EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info->target()); |
+ manager.SetTarget(texture, GL_TEXTURE_2D); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
// Check Setting level 0 to NPOT |
- manager.SetLevelInfo(info, |
+ manager.SetLevelInfo(texture, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_TRUE(info->npot()); |
- EXPECT_FALSE(info->texture_complete()); |
- EXPECT_TRUE(manager.CanGenerateMipmaps(info)); |
- EXPECT_FALSE(manager.CanRender(info)); |
+ EXPECT_TRUE(texture->npot()); |
+ EXPECT_FALSE(texture->texture_complete()); |
+ EXPECT_TRUE(manager.CanGenerateMipmaps(texture)); |
+ EXPECT_FALSE(manager.CanRender(texture)); |
EXPECT_TRUE(manager.HaveUnrenderableTextures()); |
- EXPECT_TRUE(manager.MarkMipmapsGenerated(info)); |
- EXPECT_TRUE(info->texture_complete()); |
- EXPECT_TRUE(manager.CanRender(info)); |
+ EXPECT_TRUE(manager.MarkMipmapsGenerated(texture)); |
+ EXPECT_TRUE(texture->texture_complete()); |
+ EXPECT_TRUE(manager.CanRender(texture)); |
EXPECT_FALSE(manager.HaveUnrenderableTextures()); |
manager.Destroy(false); |
} |
-TEST_F(TextureInfoTest, POTCubeMap) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_CUBE_MAP); |
- EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), info_->target()); |
+TEST_F(TextureTest, POTCubeMap) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_CUBE_MAP); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), texture_->target()); |
// Check Setting level 0 each face to POT |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_CUBE_MAP_POSITIVE_X, |
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_FALSE(info_->cube_complete()); |
- EXPECT_FALSE(manager_->CanGenerateMipmaps(info_)); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_FALSE(texture_->cube_complete()); |
+ EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_CUBE_MAP_NEGATIVE_X, |
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_FALSE(info_->cube_complete()); |
- EXPECT_FALSE(manager_->CanGenerateMipmaps(info_)); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_FALSE(texture_->cube_complete()); |
+ EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_CUBE_MAP_POSITIVE_Y, |
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_FALSE(info_->cube_complete()); |
- EXPECT_FALSE(manager_->CanGenerateMipmaps(info_)); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_FALSE(texture_->cube_complete()); |
+ EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, |
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_FALSE(info_->cube_complete()); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
- EXPECT_FALSE(manager_->CanGenerateMipmaps(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_FALSE(texture_->cube_complete()); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
+ EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_CUBE_MAP_POSITIVE_Z, |
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_FALSE(info_->cube_complete()); |
- EXPECT_FALSE(manager_->CanGenerateMipmaps(info_)); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_FALSE(texture_->cube_complete()); |
+ EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_)); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_TRUE(info_->cube_complete()); |
- EXPECT_TRUE(manager_->CanGenerateMipmaps(info_)); |
- EXPECT_FALSE(manager_->CanRender(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_TRUE(texture_->cube_complete()); |
+ EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_)); |
+ EXPECT_FALSE(manager_->CanRender(texture_)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
// Make mips. |
- EXPECT_TRUE(manager_->MarkMipmapsGenerated(info_)); |
- EXPECT_TRUE(info_->texture_complete()); |
- EXPECT_TRUE(info_->cube_complete()); |
- EXPECT_TRUE(manager_->CanRender(info_)); |
+ EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_)); |
+ EXPECT_TRUE(texture_->texture_complete()); |
+ EXPECT_TRUE(texture_->cube_complete()); |
+ EXPECT_TRUE(manager_->CanRender(texture_)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Change a mip. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_FALSE(info_->npot()); |
- EXPECT_FALSE(info_->texture_complete()); |
- EXPECT_TRUE(info_->cube_complete()); |
- EXPECT_TRUE(manager_->CanGenerateMipmaps(info_)); |
+ EXPECT_FALSE(texture_->npot()); |
+ EXPECT_FALSE(texture_->texture_complete()); |
+ EXPECT_TRUE(texture_->cube_complete()); |
+ EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_)); |
// Set a level past the number of mips that would get generated. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_TRUE(manager_->CanGenerateMipmaps(info_)); |
+ EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_)); |
// Make mips. |
- EXPECT_TRUE(manager_->MarkMipmapsGenerated(info_)); |
- EXPECT_TRUE(info_->texture_complete()); |
- EXPECT_TRUE(info_->cube_complete()); |
+ EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_)); |
+ EXPECT_TRUE(texture_->texture_complete()); |
+ EXPECT_TRUE(texture_->cube_complete()); |
} |
-TEST_F(TextureInfoTest, GetLevelSize) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+TEST_F(TextureTest, GetLevelSize) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
GLsizei width = -1; |
GLsizei height = -1; |
- EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, -1, &width, &height)); |
- EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, 1000, &width, &height)); |
- EXPECT_FALSE(info_->GetLevelSize(GL_TEXTURE_2D, 0, &width, &height)); |
- EXPECT_TRUE(info_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height)); |
+ EXPECT_FALSE(texture_->GetLevelSize(GL_TEXTURE_2D, -1, &width, &height)); |
+ EXPECT_FALSE(texture_->GetLevelSize(GL_TEXTURE_2D, 1000, &width, &height)); |
+ EXPECT_FALSE(texture_->GetLevelSize(GL_TEXTURE_2D, 0, &width, &height)); |
+ EXPECT_TRUE(texture_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height)); |
EXPECT_EQ(4, width); |
EXPECT_EQ(5, height); |
manager_->RemoveTexture(kClient1Id); |
- EXPECT_TRUE(info_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height)); |
+ EXPECT_TRUE(texture_->GetLevelSize(GL_TEXTURE_2D, 1, &width, &height)); |
EXPECT_EQ(4, width); |
EXPECT_EQ(5, height); |
} |
-TEST_F(TextureInfoTest, GetLevelType) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+TEST_F(TextureTest, GetLevelType) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
GLenum type = -1; |
GLenum format = -1; |
- EXPECT_FALSE(info_->GetLevelType(GL_TEXTURE_2D, -1, &type, &format)); |
- EXPECT_FALSE(info_->GetLevelType(GL_TEXTURE_2D, 1000, &type, &format)); |
- EXPECT_FALSE(info_->GetLevelType(GL_TEXTURE_2D, 0, &type, &format)); |
- EXPECT_TRUE(info_->GetLevelType(GL_TEXTURE_2D, 1, &type, &format)); |
+ EXPECT_FALSE(texture_->GetLevelType(GL_TEXTURE_2D, -1, &type, &format)); |
+ EXPECT_FALSE(texture_->GetLevelType(GL_TEXTURE_2D, 1000, &type, &format)); |
+ EXPECT_FALSE(texture_->GetLevelType(GL_TEXTURE_2D, 0, &type, &format)); |
+ EXPECT_TRUE(texture_->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_->RemoveTexture(kClient1Id); |
- EXPECT_TRUE(info_->GetLevelType(GL_TEXTURE_2D, 1, &type, &format)); |
+ EXPECT_TRUE(texture_->GetLevelType(GL_TEXTURE_2D, 1, &type, &format)); |
EXPECT_EQ(static_cast<GLenum>(GL_UNSIGNED_BYTE), type); |
EXPECT_EQ(static_cast<GLenum>(GL_RGBA), format); |
} |
-TEST_F(TextureInfoTest, ValidForTexture) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+TEST_F(TextureTest, ValidForTexture) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
// Check bad face. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
1, 0, 0, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check bad level. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 0, 0, 0, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check bad xoffset. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, -1, 0, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check bad xoffset + width > width. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 1, 0, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check bad yoffset. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 0, -1, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check bad yoffset + height > height. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 0, 1, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check bad width. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 0, 0, 5, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check bad height. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 0, 0, 4, 6, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check bad format. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 0, 0, 4, 5, GL_RGB, GL_UNSIGNED_BYTE)); |
// Check bad type. |
- EXPECT_FALSE(info_->ValidForTexture( |
+ EXPECT_FALSE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 0, 0, 4, 5, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4)); |
// Check valid full size |
- EXPECT_TRUE(info_->ValidForTexture( |
+ EXPECT_TRUE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 0, 0, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
// Check valid particial size. |
- EXPECT_TRUE(info_->ValidForTexture( |
+ EXPECT_TRUE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 1, 1, 2, 3, GL_RGBA, GL_UNSIGNED_BYTE)); |
manager_->RemoveTexture(kClient1Id); |
- EXPECT_TRUE(info_->ValidForTexture( |
+ EXPECT_TRUE(texture_->ValidForTexture( |
GL_TEXTURE_2D, 1, 0, 0, 4, 5, GL_RGBA, GL_UNSIGNED_BYTE)); |
} |
-TEST_F(TextureInfoTest, FloatNotLinear) { |
+TEST_F(TextureTest, FloatNotLinear) { |
TestHelper::SetupFeatureInfoInitExpectations( |
gl_.get(), "GL_OES_texture_float"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
@@ -785,21 +799,25 @@ TEST_F(TextureInfoTest, FloatNotLinear) { |
TextureManager manager( |
NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize); |
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()); |
- manager.SetLevelInfo(info, |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
+ manager.SetTarget(texture, GL_TEXTURE_2D); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
+ manager.SetLevelInfo(texture, |
GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_FLOAT, true); |
- EXPECT_FALSE(info->texture_complete()); |
- manager.SetParameter(info, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
- EXPECT_FALSE(info->texture_complete()); |
- manager.SetParameter(info, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST); |
- EXPECT_TRUE(info->texture_complete()); |
+ EXPECT_FALSE(texture->texture_complete()); |
+ TestHelper::SetTexParameterWithExpectations( |
+ gl_.get(), decoder_.get(), &manager, |
+ texture, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); |
+ EXPECT_FALSE(texture->texture_complete()); |
+ TestHelper::SetTexParameterWithExpectations( |
+ gl_.get(), decoder_.get(), &manager, |
+ texture, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST, GL_NO_ERROR); |
+ EXPECT_TRUE(texture->texture_complete()); |
manager.Destroy(false); |
} |
-TEST_F(TextureInfoTest, FloatLinear) { |
+TEST_F(TextureTest, FloatLinear) { |
TestHelper::SetupFeatureInfoInitExpectations( |
gl_.get(), "GL_OES_texture_float GL_OES_texture_float_linear"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
@@ -807,17 +825,17 @@ TEST_F(TextureInfoTest, FloatLinear) { |
TextureManager manager( |
NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize); |
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()); |
- manager.SetLevelInfo(info, |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
+ manager.SetTarget(texture, GL_TEXTURE_2D); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
+ manager.SetLevelInfo(texture, |
GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_FLOAT, true); |
- EXPECT_TRUE(info->texture_complete()); |
+ EXPECT_TRUE(texture->texture_complete()); |
manager.Destroy(false); |
} |
-TEST_F(TextureInfoTest, HalfFloatNotLinear) { |
+TEST_F(TextureTest, HalfFloatNotLinear) { |
TestHelper::SetupFeatureInfoInitExpectations( |
gl_.get(), "GL_OES_texture_half_float"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
@@ -825,21 +843,25 @@ TEST_F(TextureInfoTest, HalfFloatNotLinear) { |
TextureManager manager( |
NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize); |
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()); |
- manager.SetLevelInfo(info, |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
+ manager.SetTarget(texture, GL_TEXTURE_2D); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
+ manager.SetLevelInfo(texture, |
GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_HALF_FLOAT_OES, true); |
- EXPECT_FALSE(info->texture_complete()); |
- manager.SetParameter(info, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
- EXPECT_FALSE(info->texture_complete()); |
- manager.SetParameter(info, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST); |
- EXPECT_TRUE(info->texture_complete()); |
+ EXPECT_FALSE(texture->texture_complete()); |
+ TestHelper::SetTexParameterWithExpectations( |
+ gl_.get(), decoder_.get(), &manager, |
+ texture, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); |
+ EXPECT_FALSE(texture->texture_complete()); |
+ TestHelper::SetTexParameterWithExpectations( |
+ gl_.get(), decoder_.get(), &manager, |
+ texture, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST, GL_NO_ERROR); |
+ EXPECT_TRUE(texture->texture_complete()); |
manager.Destroy(false); |
} |
-TEST_F(TextureInfoTest, HalfFloatLinear) { |
+TEST_F(TextureTest, HalfFloatLinear) { |
TestHelper::SetupFeatureInfoInitExpectations( |
gl_.get(), "GL_OES_texture_half_float GL_OES_texture_half_float_linear"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
@@ -847,17 +869,17 @@ TEST_F(TextureInfoTest, HalfFloatLinear) { |
TextureManager manager( |
NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize); |
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()); |
- manager.SetLevelInfo(info, |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
+ manager.SetTarget(texture, GL_TEXTURE_2D); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
+ manager.SetLevelInfo(texture, |
GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_HALF_FLOAT_OES, true); |
- EXPECT_TRUE(info->texture_complete()); |
+ EXPECT_TRUE(texture->texture_complete()); |
manager.Destroy(false); |
} |
-TEST_F(TextureInfoTest, EGLImageExternal) { |
+TEST_F(TextureTest, EGLImageExternal) { |
TestHelper::SetupFeatureInfoInitExpectations( |
gl_.get(), "GL_OES_EGL_image_external"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
@@ -865,15 +887,15 @@ TEST_F(TextureInfoTest, EGLImageExternal) { |
TextureManager manager( |
NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize); |
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()); |
- EXPECT_FALSE(manager.CanGenerateMipmaps(info)); |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
+ manager.SetTarget(texture, GL_TEXTURE_EXTERNAL_OES); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture->target()); |
+ EXPECT_FALSE(manager.CanGenerateMipmaps(texture)); |
manager.Destroy(false); |
} |
-TEST_F(TextureInfoTest, DepthTexture) { |
+TEST_F(TextureTest, DepthTexture) { |
TestHelper::SetupFeatureInfoInitExpectations( |
gl_.get(), "GL_ANGLE_depth_texture"); |
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
@@ -881,122 +903,122 @@ TEST_F(TextureInfoTest, DepthTexture) { |
TextureManager manager( |
NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize); |
manager.CreateTexture(kClient1Id, kService1Id); |
- Texture* info = manager.GetTexture(kClient1Id); |
- ASSERT_TRUE(info != NULL); |
- manager.SetInfoTarget(info, GL_TEXTURE_2D); |
+ Texture* texture = manager.GetTexture(kClient1Id); |
+ ASSERT_TRUE(texture != NULL); |
+ manager.SetTarget(texture, GL_TEXTURE_2D); |
manager.SetLevelInfo( |
- info, GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 4, 4, 1, 0, |
+ texture, GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 4, 4, 1, 0, |
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, false); |
- EXPECT_FALSE(manager.CanGenerateMipmaps(info)); |
+ EXPECT_FALSE(manager.CanGenerateMipmaps(texture)); |
manager.Destroy(false); |
} |
-TEST_F(TextureInfoTest, SafeUnsafe) { |
+TEST_F(TextureTest, SafeUnsafe) { |
static const GLuint kClient2Id = 2; |
static const GLuint kService2Id = 12; |
static const GLuint kClient3Id = 3; |
static const GLuint kService3Id = 13; |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- EXPECT_FALSE(info_->SafeToRenderFrom()); |
+ EXPECT_FALSE(texture_->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, info_->num_uncleared_mips()); |
- manager_->SetLevelCleared(info_, GL_TEXTURE_2D, 0, true); |
- EXPECT_TRUE(info_->SafeToRenderFrom()); |
+ EXPECT_EQ(1, texture_->num_uncleared_mips()); |
+ manager_->SetLevelCleared(texture_, GL_TEXTURE_2D, 0, true); |
+ EXPECT_TRUE(texture_->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
- manager_->SetLevelInfo(info_, |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- EXPECT_FALSE(info_->SafeToRenderFrom()); |
+ EXPECT_FALSE(texture_->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, info_->num_uncleared_mips()); |
- manager_->SetLevelCleared(info_, GL_TEXTURE_2D, 1, true); |
- EXPECT_TRUE(info_->SafeToRenderFrom()); |
+ EXPECT_EQ(1, texture_->num_uncleared_mips()); |
+ manager_->SetLevelCleared(texture_, GL_TEXTURE_2D, 1, true); |
+ EXPECT_TRUE(texture_->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
- manager_->SetLevelInfo(info_, |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- EXPECT_FALSE(info_->SafeToRenderFrom()); |
+ EXPECT_FALSE(texture_->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(2, info_->num_uncleared_mips()); |
- manager_->SetLevelCleared(info_, GL_TEXTURE_2D, 0, true); |
- EXPECT_FALSE(info_->SafeToRenderFrom()); |
+ EXPECT_EQ(2, texture_->num_uncleared_mips()); |
+ manager_->SetLevelCleared(texture_, GL_TEXTURE_2D, 0, true); |
+ EXPECT_FALSE(texture_->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, info_->num_uncleared_mips()); |
- manager_->SetLevelCleared(info_, GL_TEXTURE_2D, 1, true); |
- EXPECT_TRUE(info_->SafeToRenderFrom()); |
+ EXPECT_EQ(1, texture_->num_uncleared_mips()); |
+ manager_->SetLevelCleared(texture_, GL_TEXTURE_2D, 1, true); |
+ EXPECT_TRUE(texture_->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
- manager_->SetLevelInfo(info_, |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- EXPECT_FALSE(info_->SafeToRenderFrom()); |
+ EXPECT_FALSE(texture_->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, info_->num_uncleared_mips()); |
- manager_->MarkMipmapsGenerated(info_); |
- EXPECT_TRUE(info_->SafeToRenderFrom()); |
+ EXPECT_EQ(1, texture_->num_uncleared_mips()); |
+ manager_->MarkMipmapsGenerated(texture_); |
+ EXPECT_TRUE(texture_->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
manager_->CreateTexture(kClient2Id, kService2Id); |
- scoped_refptr<Texture> info2( |
+ scoped_refptr<Texture> texture2( |
manager_->GetTexture(kClient2Id)); |
- ASSERT_TRUE(info2.get() != NULL); |
- manager_->SetInfoTarget(info2, GL_TEXTURE_2D); |
+ ASSERT_TRUE(texture2.get() != NULL); |
+ manager_->SetTarget(texture2, GL_TEXTURE_2D); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info2->num_uncleared_mips()); |
- manager_->SetLevelInfo(info2, |
+ EXPECT_EQ(0, texture2->num_uncleared_mips()); |
+ manager_->SetLevelInfo(texture2, |
GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info2->num_uncleared_mips()); |
- manager_->SetLevelInfo(info2, |
+ EXPECT_EQ(0, texture2->num_uncleared_mips()); |
+ manager_->SetLevelInfo(texture2, |
GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, info2->num_uncleared_mips()); |
+ EXPECT_EQ(1, texture2->num_uncleared_mips()); |
manager_->CreateTexture(kClient3Id, kService3Id); |
- scoped_refptr<Texture> info3( |
+ scoped_refptr<Texture> texture3( |
manager_->GetTexture(kClient3Id)); |
- ASSERT_TRUE(info3.get() != NULL); |
- manager_->SetInfoTarget(info3, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info3, |
+ ASSERT_TRUE(texture3.get() != NULL); |
+ manager_->SetTarget(texture3, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture3, |
GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, info3->num_uncleared_mips()); |
- manager_->SetLevelCleared(info2, GL_TEXTURE_2D, 0, true); |
+ EXPECT_EQ(1, texture3->num_uncleared_mips()); |
+ manager_->SetLevelCleared(texture2, GL_TEXTURE_2D, 0, true); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info2->num_uncleared_mips()); |
- manager_->SetLevelCleared(info3, GL_TEXTURE_2D, 0, true); |
+ EXPECT_EQ(0, texture2->num_uncleared_mips()); |
+ manager_->SetLevelCleared(texture3, GL_TEXTURE_2D, 0, true); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info3->num_uncleared_mips()); |
+ EXPECT_EQ(0, texture3->num_uncleared_mips()); |
- manager_->SetLevelInfo(info2, |
+ manager_->SetLevelInfo(texture2, |
GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- manager_->SetLevelInfo(info3, |
+ manager_->SetLevelInfo(texture3, |
GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, info2->num_uncleared_mips()); |
- EXPECT_EQ(1, info3->num_uncleared_mips()); |
+ EXPECT_EQ(1, texture2->num_uncleared_mips()); |
+ EXPECT_EQ(1, texture3->num_uncleared_mips()); |
manager_->RemoveTexture(kClient3Id); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
@@ -1006,103 +1028,102 @@ TEST_F(TextureInfoTest, SafeUnsafe) { |
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService2Id))) |
.Times(1) |
.RetiresOnSaturation(); |
- info2 = NULL; |
+ texture2 = NULL; |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService3Id))) |
.Times(1) |
.RetiresOnSaturation(); |
- info3 = NULL; |
+ texture3 = NULL; |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
} |
-TEST_F(TextureInfoTest, ClearTexture) { |
- scoped_ptr<MockGLES2Decoder> decoder(new gles2::MockGLES2Decoder()); |
- EXPECT_CALL(*decoder, ClearLevel(_, _, _, _, _, _, _, _, _)) |
+TEST_F(TextureTest, ClearTexture) { |
+ EXPECT_CALL(*decoder_, ClearLevel(_, _, _, _, _, _, _, _, _)) |
.WillRepeatedly(Return(true)); |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- EXPECT_FALSE(info_->SafeToRenderFrom()); |
+ EXPECT_FALSE(texture_->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(2, info_->num_uncleared_mips()); |
- manager_->ClearRenderableLevels(decoder.get(), info_); |
- EXPECT_TRUE(info_->SafeToRenderFrom()); |
+ EXPECT_EQ(2, texture_->num_uncleared_mips()); |
+ manager_->ClearRenderableLevels(decoder_.get(), texture_); |
+ EXPECT_TRUE(texture_->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
- manager_->SetLevelInfo(info_, |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- EXPECT_FALSE(info_->SafeToRenderFrom()); |
+ EXPECT_FALSE(texture_->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(2, info_->num_uncleared_mips()); |
- manager_->ClearTextureLevel(decoder.get(), info_, GL_TEXTURE_2D, 0); |
- EXPECT_FALSE(info_->SafeToRenderFrom()); |
+ EXPECT_EQ(2, texture_->num_uncleared_mips()); |
+ manager_->ClearTextureLevel(decoder_.get(), texture_, GL_TEXTURE_2D, 0); |
+ EXPECT_FALSE(texture_->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, info_->num_uncleared_mips()); |
- manager_->ClearTextureLevel(decoder.get(), info_, GL_TEXTURE_2D, 1); |
- EXPECT_TRUE(info_->SafeToRenderFrom()); |
+ EXPECT_EQ(1, texture_->num_uncleared_mips()); |
+ manager_->ClearTextureLevel(decoder_.get(), texture_, GL_TEXTURE_2D, 1); |
+ EXPECT_TRUE(texture_->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, info_->num_uncleared_mips()); |
+ EXPECT_EQ(0, texture_->num_uncleared_mips()); |
} |
-TEST_F(TextureInfoTest, UseDeletedTexture) { |
+TEST_F(TextureTest, UseDeletedTexture) { |
static const GLuint kClient2Id = 2; |
static const GLuint kService2Id = 12; |
// Make the default texture renderable |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
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_->CreateTexture(kClient2Id, kService2Id); |
- scoped_refptr<Texture> info( |
+ scoped_refptr<Texture> texture( |
manager_->GetTexture(kClient2Id)); |
- manager_->SetInfoTarget(info, GL_TEXTURE_2D); |
- EXPECT_FALSE(manager_->CanRender(info)); |
+ manager_->SetTarget(texture, GL_TEXTURE_2D); |
+ EXPECT_FALSE(manager_->CanRender(texture)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
// Remove it. |
manager_->RemoveTexture(kClient2Id); |
- EXPECT_FALSE(manager_->CanRender(info)); |
+ EXPECT_FALSE(manager_->CanRender(texture)); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
// Check that we can still manipulate it and it effects the manager. |
- manager_->SetLevelInfo(info, |
+ manager_->SetLevelInfo(texture, |
GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
- EXPECT_TRUE(manager_->CanRender(info)); |
+ EXPECT_TRUE(manager_->CanRender(texture)); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService2Id))) |
.Times(1) |
.RetiresOnSaturation(); |
- info = NULL; |
+ texture = NULL; |
} |
-TEST_F(TextureInfoTest, GetLevelImage) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+TEST_F(TextureTest, GetLevelImage) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_TRUE(info_->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
+ EXPECT_TRUE(texture_->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
// Set image. |
- manager_->SetLevelImage(info_, |
+ manager_->SetLevelImage(texture_, |
GL_TEXTURE_2D, 1, gfx::GLImage::CreateGLImage(0)); |
- EXPECT_FALSE(info_->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
+ EXPECT_FALSE(texture_->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
// Remove it. |
- manager_->SetLevelImage(info_, GL_TEXTURE_2D, 1, NULL); |
- EXPECT_TRUE(info_->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
- manager_->SetLevelImage(info_, |
+ manager_->SetLevelImage(texture_, GL_TEXTURE_2D, 1, NULL); |
+ EXPECT_TRUE(texture_->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
+ manager_->SetLevelImage(texture_, |
GL_TEXTURE_2D, 1, gfx::GLImage::CreateGLImage(0)); |
// Image should be reset when SetLevelInfo is called. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- EXPECT_TRUE(info_->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
+ EXPECT_TRUE(texture_->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
} |
namespace { |
@@ -1115,113 +1136,112 @@ bool InSet(std::set<std::string>* string_set, const std::string& str) { |
} // anonymous namespace |
-TEST_F(TextureInfoTest, AddToSignature) { |
- manager_->SetInfoTarget(info_, GL_TEXTURE_2D); |
- manager_->SetLevelInfo(info_, |
+TEST_F(TextureTest, AddToSignature) { |
+ manager_->SetTarget(texture_, GL_TEXTURE_2D); |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
std::string signature1; |
std::string signature2; |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature1); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature1); |
std::set<std::string> string_set; |
EXPECT_FALSE(InSet(&string_set, signature1)); |
// check changing 1 thing makes a different signature. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 4, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
// check putting it back makes the same signature. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_EQ(signature1, signature2); |
// Check setting cleared status does not change signature. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_EQ(signature1, signature2); |
// Check changing other settings changes signature. |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, false); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 0, GL_RGB, GL_UNSIGNED_BYTE, false); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_FLOAT, |
false); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
// put it back |
- manager_->SetLevelInfo(info_, |
+ manager_->SetLevelInfo(texture_, |
GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
false); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_EQ(signature1, signature2); |
// check changing parameters changes signature. |
- manager_->SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_NEAREST); |
+ SetParameter(texture_, GL_TEXTURE_MIN_FILTER, GL_NEAREST, GL_NO_ERROR); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetParameter( |
- info_, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR); |
- manager_->SetParameter(info_, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
+ SetParameter( |
+ texture_, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR, GL_NO_ERROR); |
+ SetParameter(texture_, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetParameter(info_, GL_TEXTURE_MAG_FILTER, GL_LINEAR); |
- manager_->SetParameter(info_, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); |
+ SetParameter(texture_, GL_TEXTURE_MAG_FILTER, GL_LINEAR, GL_NO_ERROR); |
+ SetParameter(texture_, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, GL_NO_ERROR); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetParameter(info_, GL_TEXTURE_WRAP_S, GL_REPEAT); |
- manager_->SetParameter(info_, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); |
+ SetParameter(texture_, GL_TEXTURE_WRAP_S, GL_REPEAT, GL_NO_ERROR); |
+ SetParameter(texture_, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE, GL_NO_ERROR); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
// Check putting it back genenerates the same signature |
- manager_->SetParameter(info_, GL_TEXTURE_WRAP_T, GL_REPEAT); |
+ SetParameter(texture_, GL_TEXTURE_WRAP_T, GL_REPEAT, GL_NO_ERROR); |
signature2.clear(); |
- manager_->AddToSignature(info_, GL_TEXTURE_2D, 1, &signature2); |
+ manager_->AddToSignature(texture_, GL_TEXTURE_2D, 1, &signature2); |
EXPECT_EQ(signature1, signature2); |
// Check the set was acutally getting different signatures. |
EXPECT_EQ(11u, string_set.size()); |
} |
- |
} // namespace gles2 |
} // namespace gpu |