Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3352)

Unified Diff: gpu/command_buffer/service/texture_manager_unittest.cc

Issue 1505343003: Updating texture validation to account for sampler objects in ES3 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 740e8f4c8abff96c26248f178698bd7a143eeb47..6ef2c696000b5c5dafeff24372ff2766a94d6fba 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -137,7 +137,6 @@ TEST_F(TextureManagerTest, Basic) {
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
const GLuint kClient2Id = 2;
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
EXPECT_FALSE(manager_->HaveUnsafeTextures());
EXPECT_FALSE(manager_->HaveUnclearedMips());
// Check we can create texture.
@@ -575,7 +574,6 @@ TEST_F(TextureTest, Basic) {
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_FALSE(manager_->HaveUnrenderableTextures());
EXPECT_FALSE(manager_->HaveUnsafeTextures());
EXPECT_EQ(0u, texture->estimated_size());
}
@@ -650,25 +648,21 @@ TEST_F(TextureTest, POT2D) {
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
EXPECT_TRUE(texture->SafeToRenderFrom());
- EXPECT_TRUE(manager_->HaveUnrenderableTextures());
// Set filters to something that will work with a single mip.
SetParameter(
texture_ref_.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR, GL_NO_ERROR);
EXPECT_TRUE(manager_->CanRender(texture_ref_.get()));
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
// Set them back.
SetParameter(texture_ref_.get(),
GL_TEXTURE_MIN_FILTER,
GL_LINEAR_MIPMAP_LINEAR,
GL_NO_ERROR);
- EXPECT_TRUE(manager_->HaveUnrenderableTextures());
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
// Make mips.
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
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, gfx::Rect(4, 4));
@@ -676,7 +670,6 @@ TEST_F(TextureTest, POT2D) {
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, gfx::Rect(4, 4));
@@ -685,7 +678,6 @@ TEST_F(TextureTest, POT2D) {
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
EXPECT_TRUE(manager_->CanRender(texture_ref_.get()));
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
}
TEST_F(TextureTest, BaseLevel) {
@@ -698,11 +690,9 @@ TEST_F(TextureTest, BaseLevel) {
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) {
@@ -722,19 +712,15 @@ TEST_F(TextureTest, BaseLevelMaxLevel) {
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) {
@@ -760,7 +746,6 @@ TEST_F(TextureTest, UnusedMips) {
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, gfx::Rect(2, 2));
@@ -768,14 +753,12 @@ TEST_F(TextureTest, UnusedMips) {
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, gfx::Rect(16, 16));
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
EXPECT_TRUE(manager_->CanRender(texture_ref_.get()));
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
}
TEST_F(TextureTest, NPOT2D) {
@@ -789,26 +772,21 @@ TEST_F(TextureTest, NPOT2D) {
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get()));
EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
- EXPECT_TRUE(manager_->HaveUnrenderableTextures());
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_WRAP_S, GL_CLAMP_TO_EDGE, GL_NO_ERROR);
EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
- EXPECT_TRUE(manager_->HaveUnrenderableTextures());
SetParameter(
texture_ref_.get(), GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE, GL_NO_ERROR);
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, gfx::Rect(4, 4));
EXPECT_FALSE(TextureTestHelper::IsNPOT(texture));
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
}
TEST_F(TextureTest, NPOT2DNPOTOK) {
@@ -837,11 +815,9 @@ TEST_F(TextureTest, NPOT2DNPOTOK) {
EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture));
EXPECT_TRUE(manager.CanGenerateMipmaps(texture_ref));
EXPECT_FALSE(manager.CanRender(texture_ref));
- EXPECT_TRUE(manager.HaveUnrenderableTextures());
EXPECT_TRUE(manager.MarkMipmapsGenerated(texture_ref));
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
EXPECT_TRUE(manager.CanRender(texture_ref));
- EXPECT_FALSE(manager.HaveUnrenderableTextures());
manager.Destroy(false);
}
@@ -858,7 +834,6 @@ TEST_F(TextureTest, POTCubeMap) {
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,
gfx::Rect(4, 4));
@@ -867,7 +842,6 @@ TEST_F(TextureTest, POTCubeMap) {
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,
gfx::Rect(4, 4));
@@ -876,7 +850,6 @@ TEST_F(TextureTest, POTCubeMap) {
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,
gfx::Rect(4, 4));
@@ -885,7 +858,6 @@ TEST_F(TextureTest, POTCubeMap) {
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,
gfx::Rect(4, 4));
@@ -894,7 +866,6 @@ TEST_F(TextureTest, POTCubeMap) {
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,
gfx::Rect(4, 4));
@@ -903,14 +874,12 @@ TEST_F(TextureTest, POTCubeMap) {
EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture));
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
- EXPECT_TRUE(manager_->HaveUnrenderableTextures());
// Make mips.
EXPECT_TRUE(manager_->MarkMipmapsGenerated(texture_ref_.get()));
EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture));
EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture));
EXPECT_TRUE(manager_->CanRender(texture_ref_.get()));
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
// Change a mip.
manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 1,
@@ -953,7 +922,6 @@ TEST_F(TextureTest, POTCubeMapWithoutMipmap) {
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,
gfx::Rect(4, 4));
@@ -962,7 +930,6 @@ TEST_F(TextureTest, POTCubeMapWithoutMipmap) {
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,
gfx::Rect(4, 4));
@@ -971,7 +938,6 @@ TEST_F(TextureTest, POTCubeMapWithoutMipmap) {
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,
gfx::Rect(4, 4));
@@ -980,7 +946,6 @@ TEST_F(TextureTest, POTCubeMapWithoutMipmap) {
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,
gfx::Rect(4, 4));
@@ -989,7 +954,6 @@ TEST_F(TextureTest, POTCubeMapWithoutMipmap) {
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,
gfx::Rect(4, 4));
@@ -998,7 +962,6 @@ TEST_F(TextureTest, POTCubeMapWithoutMipmap) {
EXPECT_TRUE(TextureTestHelper::IsCubeComplete(texture));
EXPECT_TRUE(manager_->CanGenerateMipmaps(texture_ref_.get()));
EXPECT_TRUE(manager_->CanRender(texture_ref_.get()));
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
}
TEST_F(TextureTest, GetLevelSize) {
@@ -1413,23 +1376,19 @@ TEST_F(TextureTest, UseDeletedTexture) {
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, gfx::Rect());
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
// Make a new texture
manager_->CreateTexture(kClient2Id, kService2Id);
scoped_refptr<TextureRef> texture_ref(
manager_->GetTexture(kClient2Id));
manager_->SetTarget(texture_ref.get(), GL_TEXTURE_2D);
EXPECT_FALSE(manager_->CanRender(texture_ref.get()));
- EXPECT_TRUE(manager_->HaveUnrenderableTextures());
// Remove it.
manager_->RemoveTexture(kClient2Id);
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, gfx::Rect());
EXPECT_TRUE(manager_->CanRender(texture_ref.get()));
- EXPECT_FALSE(manager_->HaveUnrenderableTextures());
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService2Id)))
.Times(1)
.RetiresOnSaturation();
@@ -1942,16 +1901,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());
@@ -1959,26 +1915,21 @@ TEST_F(SharedTextureTest, TextureSafetyAccounting) {
// too.
scoped_refptr<TextureRef> ref2 =
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, 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());

Powered by Google App Engine
This is Rietveld 408576698