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

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: Fixed a couple of unnecessary changes Created 5 years 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 4f026d12930c6a5b1f1d739c09d9b1eb177a754f..a506dcb8bb334b8ad776b3ec240cdf4d8769e655 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -133,7 +133,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.
@@ -571,7 +570,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());
}
@@ -646,25 +644,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));
@@ -672,7 +666,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));
@@ -681,7 +674,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) {
@@ -694,11 +686,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) {
@@ -718,19 +708,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) {
@@ -756,7 +742,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));
@@ -764,14 +749,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) {
@@ -785,26 +768,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) {
@@ -833,11 +811,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);
}
@@ -854,7 +830,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));
@@ -863,7 +838,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));
@@ -872,7 +846,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));
@@ -881,7 +854,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));
@@ -890,7 +862,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));
@@ -899,14 +870,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,
@@ -949,7 +918,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));
@@ -958,7 +926,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));
@@ -967,7 +934,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));
@@ -976,7 +942,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));
@@ -985,7 +950,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));
@@ -994,7 +958,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) {
@@ -1409,23 +1372,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();
@@ -1938,16 +1897,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());
@@ -1955,26 +1911,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