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 532e25f06d3ea548c6162ec8f915afd04ea3d335..52a770918371988a5b202e1abe8e41ae417beb70 100644 |
--- a/gpu/command_buffer/service/texture_manager_unittest.cc |
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc |
@@ -118,7 +118,6 @@ TEST_F(TextureManagerTest, Basic) { |
const GLuint kClient2Id = 2; |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
// Check we can create texture. |
manager_->CreateTexture(kClient1Id, kService1Id); |
// Check texture got created. |
@@ -507,7 +506,7 @@ TEST_F(TextureTest, Basic) { |
EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); |
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_FALSE(texture->IsImmutable()); |
@@ -548,87 +547,33 @@ TEST_F(TextureTest, SetTargetTextureExternalOES) { |
TEST_F(TextureTest, ZeroSizeCanNotRender) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 1, |
- 1, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(1, 1)); |
EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 0, |
- 0, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
} |
TEST_F(TextureTest, EstimatedSize) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 8, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4)); |
EXPECT_EQ(8u * 4u * 4u, texture_ref_->texture()->estimated_size()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 2, |
- GL_RGBA, |
- 8, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 2, GL_RGBA, 8, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4)); |
EXPECT_EQ(8u * 4u * 4u * 2u, texture_ref_->texture()->estimated_size()); |
} |
TEST_F(TextureMemoryTrackerTest, EstimatedSize) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 128, MemoryTracker::kUnmanaged); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 8, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4)); |
EXPECT_MEMORY_ALLOCATION_CHANGE(128, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 256, MemoryTracker::kUnmanaged); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 2, |
- GL_RGBA, |
- 8, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 2, GL_RGBA, 8, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4)); |
// Add expectation for texture deletion. |
EXPECT_MEMORY_ALLOCATION_CHANGE(256, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 0, MemoryTracker::kUnmanaged); |
@@ -637,17 +582,8 @@ TEST_F(TextureMemoryTrackerTest, EstimatedSize) { |
TEST_F(TextureMemoryTrackerTest, SetParameterPool) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 128, MemoryTracker::kUnmanaged); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 8, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 4)); |
EXPECT_MEMORY_ALLOCATION_CHANGE(128, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 128, MemoryTracker::kManaged); |
SetParameter(texture_ref_.get(), |
@@ -665,21 +601,12 @@ TEST_F(TextureTest, POT2D) { |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
// Check Setting level 0 to POT |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
// Set filters to something that will work with a single mip. |
SetParameter( |
@@ -700,34 +627,16 @@ TEST_F(TextureTest, POT2D) { |
EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Change a mip. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
// Set a level past the number of mips that would get generated. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 3, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); |
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
// Make mips. |
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); |
@@ -739,17 +648,8 @@ TEST_F(TextureTest, POT2D) { |
TEST_F(TextureMemoryTrackerTest, MarkMipmapsGenerated) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 64, MemoryTracker::kUnmanaged); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); |
EXPECT_MEMORY_ALLOCATION_CHANGE(64, 0, MemoryTracker::kUnmanaged); |
EXPECT_MEMORY_ALLOCATION_CHANGE(0, 84, MemoryTracker::kUnmanaged); |
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); |
@@ -762,51 +662,24 @@ TEST_F(TextureTest, UnusedMips) { |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
// Set level zero to large size. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); |
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Set level zero to large smaller (levels unused mips) |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2)); |
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Set an unused level to some size |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 4, |
- GL_RGBA, |
- 16, |
- 16, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 4, GL_RGBA, 16, 16, |
+ 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(16, 16)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
@@ -818,17 +691,8 @@ TEST_F(TextureTest, NPOT2D) { |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
// Check Setting level 0 to NPOT |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 5, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); |
EXPECT_TRUE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
@@ -847,17 +711,8 @@ TEST_F(TextureTest, NPOT2D) { |
EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Change it to POT. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
@@ -884,8 +739,8 @@ TEST_F(TextureTest, NPOT2DNPOTOK) { |
manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
// Check Setting level 0 to NPOT |
- manager.SetLevelInfo(texture_ref, |
- GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
+ manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, |
+ GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); |
EXPECT_TRUE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_TRUE(manager.CanGenerateMipmaps(texture_ref)); |
@@ -903,102 +758,54 @@ TEST_F(TextureTest, POTCubeMap) { |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), texture->target()); |
// Check Setting level 0 each face to POT |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_CUBE_MAP_POSITIVE_X, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, |
+ GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); |
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, |
+ GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); |
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, |
+ GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); |
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, |
+ GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, |
+ GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); |
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, |
+ GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture)); |
@@ -1014,33 +821,17 @@ TEST_F(TextureTest, POTCubeMap) { |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Change a mip. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
- 1, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 1, |
+ GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture)); |
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
// Set a level past the number of mips that would get generated. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
- 3, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 3, |
+ GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
// Make mips. |
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); |
@@ -1050,17 +841,8 @@ TEST_F(TextureTest, POTCubeMap) { |
TEST_F(TextureTest, GetLevelSize) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_3D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_3D, |
- 1, |
- GL_RGBA, |
- 4, |
- 5, |
- 6, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_3D, 1, GL_RGBA, 4, 5, 6, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); |
GLsizei width = -1; |
GLsizei height = -1; |
GLsizei depth = -1; |
@@ -1084,17 +866,8 @@ TEST_F(TextureTest, GetLevelSize) { |
TEST_F(TextureTest, GetLevelType) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 4, |
- 5, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); |
GLenum type = 0; |
GLenum format = 0; |
Texture* texture = texture_ref_->texture(); |
@@ -1112,17 +885,8 @@ TEST_F(TextureTest, GetLevelType) { |
TEST_F(TextureTest, ValidForTexture) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 4, |
- 5, |
- 6, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 6, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); |
// Check bad face. |
Texture* texture = texture_ref_->texture(); |
EXPECT_FALSE(texture->ValidForTexture( |
@@ -1190,8 +954,8 @@ TEST_F(TextureTest, FloatNotLinear) { |
manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
Texture* texture = texture_ref->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
- manager.SetLevelInfo(texture_ref, |
- GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_FLOAT, true); |
+ manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, |
+ GL_RGBA, GL_FLOAT, gfx::Rect(1, 1)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
TestHelper::SetTexParameteriWithExpectations( |
gl_.get(), error_state_.get(), &manager, |
@@ -1222,8 +986,8 @@ TEST_F(TextureTest, FloatLinear) { |
manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
Texture* texture = texture_ref->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
- manager.SetLevelInfo(texture_ref, |
- GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_FLOAT, true); |
+ manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, |
+ GL_RGBA, GL_FLOAT, gfx::Rect(1, 1)); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
manager.Destroy(false); |
} |
@@ -1246,8 +1010,8 @@ TEST_F(TextureTest, HalfFloatNotLinear) { |
manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
Texture* texture = texture_ref->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
- manager.SetLevelInfo(texture_ref, |
- GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_HALF_FLOAT_OES, true); |
+ manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, |
+ GL_RGBA, GL_HALF_FLOAT_OES, gfx::Rect(1, 1)); |
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
TestHelper::SetTexParameteriWithExpectations( |
gl_.get(), error_state_.get(), &manager, |
@@ -1278,8 +1042,8 @@ TEST_F(TextureTest, HalfFloatLinear) { |
manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
Texture* texture = texture_ref->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
- manager.SetLevelInfo(texture_ref, |
- GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_HALF_FLOAT_OES, true); |
+ manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, |
+ GL_RGBA, GL_HALF_FLOAT_OES, gfx::Rect(1, 1)); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
manager.Destroy(false); |
} |
@@ -1322,9 +1086,8 @@ TEST_F(TextureTest, DepthTexture) { |
TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
ASSERT_TRUE(texture_ref != NULL); |
manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
- manager.SetLevelInfo( |
- texture_ref, GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 4, 4, 1, 0, |
- GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, false); |
+ manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 4, 4, |
+ 1, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, gfx::Rect()); |
EXPECT_FALSE(manager.CanGenerateMipmaps(texture_ref)); |
manager.Destroy(false); |
} |
@@ -1334,106 +1097,52 @@ TEST_F(TextureTest, SafeUnsafe) { |
static const GLuint kService2Id = 12; |
static const GLuint kClient3Id = 3; |
static const GLuint kService3Id = 13; |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
+ EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
Texture* texture = texture_ref_->texture(); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_FALSE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, texture->num_uncleared_mips()); |
+ EXPECT_FALSE(texture->SafeToRenderFrom()); |
manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 0, true); |
EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 8, |
- 8, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 8, 8, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_FALSE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, texture->num_uncleared_mips()); |
+ EXPECT_FALSE(texture->SafeToRenderFrom()); |
manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 1, true); |
EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 8, |
- 8, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 8, 8, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_FALSE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(2, texture->num_uncleared_mips()); |
+ EXPECT_FALSE(texture->SafeToRenderFrom()); |
manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 0, true); |
EXPECT_FALSE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, texture->num_uncleared_mips()); |
+ EXPECT_FALSE(texture->SafeToRenderFrom()); |
manager_->SetLevelCleared(texture_ref_.get(), GL_TEXTURE_2D, 1, true); |
EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 8, |
- 8, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 8, 8, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_FALSE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, texture->num_uncleared_mips()); |
+ EXPECT_FALSE(texture->SafeToRenderFrom()); |
manager_->MarkMipmapsGenerated(texture_ref_.get()); |
EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
manager_->CreateTexture(kClient2Id, kService2Id); |
scoped_refptr<TextureRef> texture_ref2( |
@@ -1441,187 +1150,99 @@ TEST_F(TextureTest, SafeUnsafe) { |
ASSERT_TRUE(texture_ref2.get() != NULL); |
manager_->SetTarget(texture_ref2.get(), GL_TEXTURE_2D); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
Texture* texture2 = texture_ref2->texture(); |
- EXPECT_EQ(0, texture2->num_uncleared_mips()); |
- manager_->SetLevelInfo(texture_ref2.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 8, |
- 8, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ EXPECT_TRUE(texture2->SafeToRenderFrom()); |
+ manager_->SetLevelInfo(texture_ref2.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(8, 8)); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture2->num_uncleared_mips()); |
- manager_->SetLevelInfo(texture_ref2.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 8, |
- 8, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ EXPECT_TRUE(texture2->SafeToRenderFrom()); |
+ manager_->SetLevelInfo(texture_ref2.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, texture2->num_uncleared_mips()); |
+ EXPECT_FALSE(texture2->SafeToRenderFrom()); |
manager_->CreateTexture(kClient3Id, kService3Id); |
scoped_refptr<TextureRef> texture_ref3( |
manager_->GetTexture(kClient3Id)); |
ASSERT_TRUE(texture_ref3.get() != NULL); |
manager_->SetTarget(texture_ref3.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref3.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 8, |
- 8, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref3.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
Texture* texture3 = texture_ref3->texture(); |
- EXPECT_EQ(1, texture3->num_uncleared_mips()); |
+ EXPECT_FALSE(texture3->SafeToRenderFrom()); |
manager_->SetLevelCleared(texture_ref2.get(), GL_TEXTURE_2D, 0, true); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture2->num_uncleared_mips()); |
- manager_->SetLevelCleared(texture_ref3.get(), GL_TEXTURE_2D, 0, true); |
+ EXPECT_TRUE(texture2->SafeToRenderFrom()); |
+ manager_->SetLevelClearedRect(texture_ref3.get(), GL_TEXTURE_2D, 0, |
+ gfx::Rect(4, 4)); |
+ EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
+ EXPECT_FALSE(texture3->SafeToRenderFrom()); |
+ manager_->SetLevelClearedRect(texture_ref3.get(), GL_TEXTURE_2D, 0, |
+ gfx::Rect(8, 7)); |
+ EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
+ EXPECT_FALSE(texture3->SafeToRenderFrom()); |
+ manager_->SetLevelClearedRect(texture_ref3.get(), GL_TEXTURE_2D, 0, |
+ gfx::Rect(8, 8)); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture3->num_uncleared_mips()); |
- |
- manager_->SetLevelInfo(texture_ref2.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 8, |
- 8, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
- manager_->SetLevelInfo(texture_ref3.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 8, |
- 8, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ EXPECT_TRUE(texture3->SafeToRenderFrom()); |
+ |
+ manager_->SetLevelInfo(texture_ref2.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
+ manager_->SetLevelInfo(texture_ref3.get(), GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, texture2->num_uncleared_mips()); |
- EXPECT_EQ(1, texture3->num_uncleared_mips()); |
+ EXPECT_FALSE(texture2->SafeToRenderFrom()); |
+ EXPECT_FALSE(texture3->SafeToRenderFrom()); |
manager_->RemoveTexture(kClient3Id); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
manager_->RemoveTexture(kClient2Id); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService2Id))) |
.Times(1) |
.RetiresOnSaturation(); |
texture_ref2 = NULL; |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService3Id))) |
.Times(1) |
.RetiresOnSaturation(); |
texture_ref3 = NULL; |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
} |
TEST_F(TextureTest, ClearTexture) { |
EXPECT_CALL(*decoder_, ClearLevel(_, _, _, _, _, _, _, _, _)) |
.WillRepeatedly(Return(true)); |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
Texture* texture = texture_ref_->texture(); |
EXPECT_FALSE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(2, texture->num_uncleared_mips()); |
+ EXPECT_FALSE(texture->SafeToRenderFrom()); |
manager_->ClearRenderableLevels(decoder_.get(), texture_ref_.get()); |
EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 4, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_FALSE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(2, texture->num_uncleared_mips()); |
+ EXPECT_FALSE(texture->SafeToRenderFrom()); |
manager_->ClearTextureLevel( |
decoder_.get(), texture_ref_.get(), GL_TEXTURE_2D, 0); |
EXPECT_FALSE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(manager_->HaveUnsafeTextures()); |
- EXPECT_TRUE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(1, texture->num_uncleared_mips()); |
+ EXPECT_FALSE(texture->SafeToRenderFrom()); |
manager_->ClearTextureLevel( |
decoder_.get(), texture_ref_.get(), GL_TEXTURE_2D, 1); |
EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_FALSE(manager_->HaveUnsafeTextures()); |
- EXPECT_FALSE(manager_->HaveUnclearedMips()); |
- EXPECT_EQ(0, texture->num_uncleared_mips()); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
} |
TEST_F(TextureTest, UseDeletedTexture) { |
@@ -1629,17 +1250,8 @@ TEST_F(TextureTest, UseDeletedTexture) { |
static const GLuint kService2Id = 12; |
// Make the default texture renderable |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 1, |
- 1, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
// Make a new texture |
manager_->CreateTexture(kClient2Id, kService2Id); |
@@ -1653,17 +1265,8 @@ TEST_F(TextureTest, UseDeletedTexture) { |
EXPECT_FALSE(manager_->CanRender(texture_ref.get())); |
EXPECT_TRUE(manager_->HaveUnrenderableTextures()); |
// Check that we can still manipulate it and it effects the manager. |
- manager_->SetLevelInfo(texture_ref.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 1, |
- 1, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_TRUE(manager_->CanRender(texture_ref.get())); |
EXPECT_FALSE(manager_->HaveUnrenderableTextures()); |
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService2Id))) |
@@ -1674,17 +1277,8 @@ TEST_F(TextureTest, UseDeletedTexture) { |
TEST_F(TextureTest, GetLevelImage) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2)); |
Texture* texture = texture_ref_->texture(); |
EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
// Set image. |
@@ -1696,17 +1290,8 @@ TEST_F(TextureTest, GetLevelImage) { |
EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
manager_->SetLevelImage(texture_ref_.get(), GL_TEXTURE_2D, 1, image.get()); |
// Image should be reset when SetLevelInfo is called. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2)); |
EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 1) == NULL); |
} |
@@ -1722,17 +1307,8 @@ bool InSet(std::set<std::string>* string_set, const std::string& str) { |
TEST_F(TextureTest, AddToSignature) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2)); |
std::string signature1; |
std::string signature2; |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature1); |
@@ -1741,140 +1317,59 @@ TEST_F(TextureTest, AddToSignature) { |
EXPECT_FALSE(InSet(&string_set, signature1)); |
// check changing 1 thing makes a different signature. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 4, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 4, 2, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 2)); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
// check putting it back makes the same signature. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(2, 2)); |
signature2.clear(); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_EQ(signature1, signature2); |
// Check setting cleared status does not change signature. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
signature2.clear(); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_EQ(signature1, signature2); |
// Check changing other settings changes signature. |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 4, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 4, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
signature2.clear(); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 2, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 2, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
signature2.clear(); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 1, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 1, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
signature2.clear(); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGB, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGB, GL_UNSIGNED_BYTE, gfx::Rect()); |
signature2.clear(); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_FLOAT, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGBA, GL_FLOAT, gfx::Rect()); |
signature2.clear(); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_FALSE(InSet(&string_set, signature2)); |
// put it back |
- manager_->SetLevelInfo(texture_ref_.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, 1, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
signature2.clear(); |
manager_->AddToSignature(texture_ref_.get(), GL_TEXTURE_2D, 1, &signature2); |
EXPECT_EQ(signature1, signature2); |
@@ -1958,7 +1453,7 @@ class ProduceConsumeTextureTest : public TextureTest, |
GLsizei depth, |
GLint border, |
GLenum type, |
- bool cleared) |
+ const gfx::Rect& cleared_rect) |
: target(target), |
format(format), |
width(width), |
@@ -1966,7 +1461,7 @@ class ProduceConsumeTextureTest : public TextureTest, |
depth(depth), |
border(border), |
type(type), |
- cleared(cleared) {} |
+ cleared_rect(cleared_rect) {} |
LevelInfo() |
: target(0), |
@@ -1975,14 +1470,13 @@ class ProduceConsumeTextureTest : public TextureTest, |
height(-1), |
depth(1), |
border(0), |
- type(0), |
- cleared(false) {} |
+ type(0) {} |
bool operator==(const LevelInfo& other) const { |
return target == other.target && format == other.format && |
width == other.width && height == other.height && |
depth == other.depth && border == other.border && |
- type == other.type && cleared == other.cleared; |
+ type == other.type && cleared_rect == other.cleared_rect; |
} |
GLenum target; |
@@ -1992,23 +1486,15 @@ class ProduceConsumeTextureTest : public TextureTest, |
GLsizei depth; |
GLint border; |
GLenum type; |
- bool cleared; |
+ gfx::Rect cleared_rect; |
}; |
void SetLevelInfo(TextureRef* texture_ref, |
GLint level, |
const LevelInfo& info) { |
- manager_->SetLevelInfo(texture_ref, |
- info.target, |
- level, |
- info.format, |
- info.width, |
- info.height, |
- info.depth, |
- info.border, |
- info.format, |
- info.type, |
- info.cleared); |
+ manager_->SetLevelInfo(texture_ref, info.target, level, info.format, |
+ info.width, info.height, info.depth, info.border, |
+ info.format, info.type, info.cleared_rect); |
} |
static LevelInfo GetLevelInfo(const TextureRef* texture_ref, |
@@ -2021,7 +1507,7 @@ class ProduceConsumeTextureTest : public TextureTest, |
&info.height, &info.depth)); |
EXPECT_TRUE(texture->GetLevelType(target, level, &info.type, |
&info.format)); |
- info.cleared = texture->IsLevelCleared(target, level); |
+ info.cleared_rect = texture->GetLevelClearedRect(target, level); |
return info; |
} |
@@ -2049,8 +1535,8 @@ TEST_F(ProduceConsumeTextureTest, ProduceConsume2D) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_2D); |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
- LevelInfo level0( |
- GL_TEXTURE_2D, GL_RGBA, 4, 4, 1, 0, GL_UNSIGNED_BYTE, true); |
+ LevelInfo level0(GL_TEXTURE_2D, GL_RGBA, 4, 4, 1, 0, GL_UNSIGNED_BYTE, |
+ gfx::Rect(4, 4)); |
SetLevelInfo(texture_ref_.get(), 0, level0); |
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get())); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
@@ -2062,10 +1548,8 @@ TEST_F(ProduceConsumeTextureTest, ProduceConsume2D) { |
// Make this texture bigger with more levels, and make sure they get |
// clobbered correctly during Consume(). |
manager_->SetTarget(texture2_.get(), GL_TEXTURE_2D); |
- SetLevelInfo( |
- texture2_.get(), |
- 0, |
- LevelInfo(GL_TEXTURE_2D, GL_RGBA, 16, 16, 1, 0, GL_UNSIGNED_BYTE, false)); |
+ SetLevelInfo(texture2_.get(), 0, LevelInfo(GL_TEXTURE_2D, GL_RGBA, 16, 16, 1, |
+ 0, GL_UNSIGNED_BYTE, gfx::Rect())); |
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture2_.get())); |
texture = texture2_->texture(); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
@@ -2093,8 +1577,8 @@ TEST_F(ProduceConsumeTextureTest, ProduceConsumeClearRectangle) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_RECTANGLE_ARB); |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_RECTANGLE_ARB), texture->target()); |
- LevelInfo level0( |
- GL_TEXTURE_RECTANGLE_ARB, GL_RGBA, 1, 1, 1, 0, GL_UNSIGNED_BYTE, false); |
+ LevelInfo level0(GL_TEXTURE_RECTANGLE_ARB, GL_RGBA, 1, 1, 1, 0, |
+ GL_UNSIGNED_BYTE, gfx::Rect()); |
SetLevelInfo(texture_ref_.get(), 0, level0); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
Texture* produced_texture = Produce(texture_ref_.get()); |
@@ -2121,8 +1605,8 @@ TEST_F(ProduceConsumeTextureTest, ProduceConsumeExternal) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES); |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture->target()); |
- LevelInfo level0( |
- GL_TEXTURE_EXTERNAL_OES, GL_RGBA, 1, 1, 1, 0, GL_UNSIGNED_BYTE, false); |
+ LevelInfo level0(GL_TEXTURE_EXTERNAL_OES, GL_RGBA, 1, 1, 1, 0, |
+ GL_UNSIGNED_BYTE, gfx::Rect()); |
SetLevelInfo(texture_ref_.get(), 0, level0); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
Texture* produced_texture = Produce(texture_ref_.get()); |
@@ -2143,17 +1627,8 @@ TEST_P(ProduceConsumeTextureTest, ProduceConsumeTextureWithImage) { |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(target), texture->target()); |
scoped_refptr<gfx::GLImage> image(new gfx::GLImageStub); |
- manager_->SetLevelInfo(texture_ref_.get(), |
- target, |
- 0, |
- GL_RGBA, |
- 0, |
- 0, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ manager_->SetLevelInfo(texture_ref_.get(), target, 0, GL_RGBA, 0, 0, 1, 0, |
+ GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
manager_->SetLevelImage(texture_ref_.get(), target, 0, image.get()); |
GLuint service_id = texture->service_id(); |
Texture* produced_texture = Produce(texture_ref_.get()); |
@@ -2178,22 +1653,10 @@ TEST_F(ProduceConsumeTextureTest, ProduceConsumeCube) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_CUBE_MAP); |
Texture* texture = texture_ref_->texture(); |
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), texture->target()); |
- LevelInfo face0(GL_TEXTURE_CUBE_MAP_POSITIVE_X, |
- GL_RGBA, |
- 1, |
- 1, |
- 1, |
- 0, |
- GL_UNSIGNED_BYTE, |
- true); |
- LevelInfo face5(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
- GL_RGBA, |
- 3, |
- 3, |
- 1, |
- 0, |
- GL_UNSIGNED_BYTE, |
- true); |
+ LevelInfo face0(GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_RGBA, 1, 1, 1, 0, |
+ GL_UNSIGNED_BYTE, gfx::Rect(1, 1)); |
+ LevelInfo face5(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, GL_RGBA, 3, 3, 1, 0, |
+ GL_UNSIGNED_BYTE, gfx::Rect(1, 1)); |
SetLevelInfo(texture_ref_.get(), 0, face0); |
SetLevelInfo(texture_ref_.get(), 0, face5); |
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
@@ -2314,16 +1777,13 @@ TEST_F(SharedTextureTest, DeleteTextures) { |
TEST_F(SharedTextureTest, TextureSafetyAccounting) { |
EXPECT_FALSE(texture_manager1_->HaveUnrenderableTextures()); |
EXPECT_FALSE(texture_manager1_->HaveUnsafeTextures()); |
- EXPECT_FALSE(texture_manager1_->HaveUnclearedMips()); |
EXPECT_FALSE(texture_manager2_->HaveUnrenderableTextures()); |
EXPECT_FALSE(texture_manager2_->HaveUnsafeTextures()); |
- EXPECT_FALSE(texture_manager2_->HaveUnclearedMips()); |
// Newly created texture is renderable. |
scoped_refptr<TextureRef> ref1 = texture_manager1_->CreateTexture(10, 10); |
EXPECT_FALSE(texture_manager1_->HaveUnrenderableTextures()); |
EXPECT_FALSE(texture_manager1_->HaveUnsafeTextures()); |
- EXPECT_FALSE(texture_manager1_->HaveUnclearedMips()); |
// Associate new texture ref to other texture manager, should account for it |
// too. |
@@ -2331,42 +1791,26 @@ TEST_F(SharedTextureTest, TextureSafetyAccounting) { |
texture_manager2_->Consume(20, ref1->texture()); |
EXPECT_FALSE(texture_manager2_->HaveUnrenderableTextures()); |
EXPECT_FALSE(texture_manager2_->HaveUnsafeTextures()); |
- EXPECT_FALSE(texture_manager2_->HaveUnclearedMips()); |
// Make texture renderable but uncleared on one texture manager, should affect |
// other one. |
texture_manager1_->SetTarget(ref1.get(), GL_TEXTURE_2D); |
EXPECT_TRUE(texture_manager1_->HaveUnrenderableTextures()); |
EXPECT_FALSE(texture_manager1_->HaveUnsafeTextures()); |
- EXPECT_FALSE(texture_manager1_->HaveUnclearedMips()); |
EXPECT_TRUE(texture_manager2_->HaveUnrenderableTextures()); |
EXPECT_FALSE(texture_manager2_->HaveUnsafeTextures()); |
- EXPECT_FALSE(texture_manager2_->HaveUnclearedMips()); |
- |
- texture_manager1_->SetLevelInfo(ref1.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 1, |
- 1, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ |
+ texture_manager1_->SetLevelInfo(ref1.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, |
+ 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_FALSE(texture_manager1_->HaveUnrenderableTextures()); |
EXPECT_TRUE(texture_manager1_->HaveUnsafeTextures()); |
- EXPECT_TRUE(texture_manager1_->HaveUnclearedMips()); |
EXPECT_FALSE(texture_manager2_->HaveUnrenderableTextures()); |
EXPECT_TRUE(texture_manager2_->HaveUnsafeTextures()); |
- EXPECT_TRUE(texture_manager2_->HaveUnclearedMips()); |
// Make texture cleared on one texture manager, should affect other one. |
texture_manager1_->SetLevelCleared(ref1.get(), GL_TEXTURE_2D, 0, true); |
EXPECT_FALSE(texture_manager1_->HaveUnsafeTextures()); |
- EXPECT_FALSE(texture_manager1_->HaveUnclearedMips()); |
EXPECT_FALSE(texture_manager2_->HaveUnsafeTextures()); |
- EXPECT_FALSE(texture_manager2_->HaveUnclearedMips()); |
EXPECT_CALL(*gl_, DeleteTextures(1, _)) |
.Times(1) |
@@ -2393,17 +1837,9 @@ TEST_F(SharedTextureTest, FBOCompletenessCheck) { |
// Make FBO complete in manager 1. |
texture_manager1_->SetTarget(ref1.get(), GL_TEXTURE_2D); |
- texture_manager1_->SetLevelInfo(ref1.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 1, |
- 1, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ texture_manager1_->SetLevelInfo(ref1.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, |
+ 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(1, 1)); |
EXPECT_EQ(kCompleteValue, framebuffer1->IsPossiblyComplete()); |
framebuffer_manager1.MarkAsComplete(framebuffer1.get()); |
EXPECT_TRUE(framebuffer_manager1.IsComplete(framebuffer1.get())); |
@@ -2422,17 +1858,9 @@ TEST_F(SharedTextureTest, FBOCompletenessCheck) { |
EXPECT_TRUE(framebuffer_manager2.IsComplete(framebuffer2.get())); |
// Change level for texture, both FBOs should be marked incomplete |
- texture_manager1_->SetLevelInfo(ref1.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 1, |
- 1, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ texture_manager1_->SetLevelInfo(ref1.get(), GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, |
+ 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(1, 1)); |
EXPECT_FALSE(framebuffer_manager1.IsComplete(framebuffer1.get())); |
EXPECT_EQ(kCompleteValue, framebuffer1->IsPossiblyComplete()); |
framebuffer_manager1.MarkAsComplete(framebuffer1.get()); |
@@ -2461,17 +1889,8 @@ TEST_F(SharedTextureTest, Memory) { |
// Newly created texture is unrenderable. |
scoped_refptr<TextureRef> ref1 = texture_manager1_->CreateTexture(10, 10); |
texture_manager1_->SetTarget(ref1.get(), GL_TEXTURE_2D); |
- texture_manager1_->SetLevelInfo(ref1.get(), |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- 10, |
- 10, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- false); |
+ texture_manager1_->SetLevelInfo(ref1.get(), GL_TEXTURE_2D, 0, GL_RGBA, 10, 10, |
+ 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect()); |
EXPECT_LT(0u, ref1->texture()->estimated_size()); |
EXPECT_EQ(initial_memory1 + ref1->texture()->estimated_size(), |
@@ -2509,17 +1928,9 @@ TEST_F(SharedTextureTest, Images) { |
texture_manager2_->Consume(20, ref1->texture()); |
texture_manager1_->SetTarget(ref1.get(), GL_TEXTURE_2D); |
- texture_manager1_->SetLevelInfo(ref1.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ texture_manager1_->SetLevelInfo(ref1.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, |
+ 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(2, 2)); |
EXPECT_FALSE(ref1->texture()->HasImages()); |
EXPECT_FALSE(ref2->texture()->HasImages()); |
EXPECT_FALSE(texture_manager1_->HaveImages()); |
@@ -2536,17 +1947,9 @@ TEST_F(SharedTextureTest, Images) { |
EXPECT_TRUE(ref2->texture()->HasImages()); |
EXPECT_TRUE(texture_manager1_->HaveImages()); |
EXPECT_TRUE(texture_manager2_->HaveImages()); |
- texture_manager1_->SetLevelInfo(ref1.get(), |
- GL_TEXTURE_2D, |
- 1, |
- GL_RGBA, |
- 2, |
- 2, |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
+ texture_manager1_->SetLevelInfo(ref1.get(), GL_TEXTURE_2D, 1, GL_RGBA, 2, 2, |
+ 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
+ gfx::Rect(2, 2)); |
EXPECT_FALSE(ref1->texture()->HasImages()); |
EXPECT_FALSE(ref2->texture()->HasImages()); |
EXPECT_FALSE(texture_manager1_->HaveImages()); |