| 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 90e90c447ee29f92d3b12ff2558cae406565a24e..b2b40552df7c8f5a24a564152b383c5241ec2305 100644
|
| --- a/gpu/command_buffer/service/texture_manager_unittest.cc
|
| +++ b/gpu/command_buffer/service/texture_manager_unittest.cc
|
| @@ -684,6 +684,55 @@ TEST_F(TextureTest, POT2D) {
|
| EXPECT_FALSE(manager_->HaveUnrenderableTextures());
|
| }
|
|
|
| +TEST_F(TextureTest, BaseLevel) {
|
| + manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
|
| + Texture* texture = texture_ref_->texture();
|
| + EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target());
|
| + // Check Setting level 1 to POT
|
| + manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1,
|
| + 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4));
|
| + SetParameter(
|
| + texture_ref_.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR, GL_NO_ERROR);
|
| + EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
|
| + EXPECT_TRUE(manager_->HaveUnrenderableTextures());
|
| + SetParameter(
|
| + texture_ref_.get(), GL_TEXTURE_BASE_LEVEL, 1, GL_NO_ERROR);
|
| + EXPECT_TRUE(manager_->CanRender(texture_ref_.get()));
|
| + EXPECT_FALSE(manager_->HaveUnrenderableTextures());
|
| +}
|
| +
|
| +TEST_F(TextureTest, BaseLevelMaxLevel) {
|
| + manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
|
| + Texture* texture = texture_ref_->texture();
|
| + EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target());
|
| + // Set up level 2, 3, 4.
|
| + manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 2, GL_RGBA, 8, 8, 1,
|
| + 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 8));
|
| + manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1,
|
| + 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4));
|
| + manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 4, GL_RGBA, 2, 2, 1,
|
| + 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2));
|
| + SetParameter(
|
| + texture_ref_.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR,
|
| + GL_NO_ERROR);
|
| + SetParameter(
|
| + texture_ref_.get(), GL_TEXTURE_MAG_FILTER, GL_LINEAR, GL_NO_ERROR);
|
| + EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
|
| + EXPECT_TRUE(manager_->HaveUnrenderableTextures());
|
| + SetParameter(
|
| + texture_ref_.get(), GL_TEXTURE_BASE_LEVEL, 2, GL_NO_ERROR);
|
| + EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
|
| + EXPECT_TRUE(manager_->HaveUnrenderableTextures());
|
| + SetParameter(
|
| + texture_ref_.get(), GL_TEXTURE_MAX_LEVEL, 4, GL_NO_ERROR);
|
| + EXPECT_TRUE(manager_->CanRender(texture_ref_.get()));
|
| + EXPECT_FALSE(manager_->HaveUnrenderableTextures());
|
| + SetParameter(
|
| + texture_ref_.get(), GL_TEXTURE_BASE_LEVEL, 0, GL_NO_ERROR);
|
| + EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
|
| + EXPECT_TRUE(manager_->HaveUnrenderableTextures());
|
| +}
|
| +
|
| TEST_F(TextureMemoryTrackerTest, MarkMipmapsGenerated) {
|
| manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D);
|
| EXPECT_MEMORY_ALLOCATION_CHANGE(0, 64);
|
|
|