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

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

Issue 2429005: Adds tracking of number of unrenderable textures so... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 10 years, 7 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
===================================================================
--- gpu/command_buffer/service/texture_manager_unittest.cc (revision 48721)
+++ gpu/command_buffer/service/texture_manager_unittest.cc (working copy)
@@ -41,6 +41,7 @@
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
const GLuint kClient2Id = 2;
+ EXPECT_FALSE(manager_.HaveUnrenderableTextures());
// Check we can create texture.
manager_.CreateTextureInfo(kClient1Id, kService1Id);
// Check texture got created.
@@ -147,74 +148,86 @@
EXPECT_FALSE(info_->CanGenerateMipmaps());
EXPECT_FALSE(info_->npot());
EXPECT_FALSE(info_->CanRender());
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
}
TEST_F(TextureInfoTest, POT2D) {
manager_.SetInfoTarget(info_, GL_TEXTURE_2D);
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target());
// Check Setting level 0 to POT
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
EXPECT_FALSE(info_->texture_complete());
EXPECT_FALSE(info_->CanRender());
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
// Set filters to something that will work with a single mip.
- info_->SetParameter(GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ manager_.SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
EXPECT_TRUE(info_->CanRender());
+ EXPECT_FALSE(manager_.HaveUnrenderableTextures());
// Set them back.
- info_->SetParameter(GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+ manager_.SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
EXPECT_TRUE(info_->CanGenerateMipmaps());
// Make mips.
- EXPECT_TRUE(info_->MarkMipmapsGenerated());
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(info_));
EXPECT_TRUE(info_->texture_complete());
EXPECT_TRUE(info_->CanRender());
+ EXPECT_FALSE(manager_.HaveUnrenderableTextures());
// Change a mip.
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
EXPECT_FALSE(info_->texture_complete());
EXPECT_TRUE(info_->CanGenerateMipmaps());
EXPECT_FALSE(info_->CanRender());
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
// Set a level past the number of mips that would get generated.
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_TRUE(info_->CanGenerateMipmaps());
// Make mips.
- EXPECT_TRUE(info_->MarkMipmapsGenerated());
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(info_));
EXPECT_FALSE(info_->CanRender());
EXPECT_FALSE(info_->texture_complete());
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
}
TEST_F(TextureInfoTest, NPOT2D) {
manager_.SetInfoTarget(info_, GL_TEXTURE_2D);
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target());
// Check Setting level 0 to NPOT
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_TRUE(info_->npot());
EXPECT_FALSE(info_->texture_complete());
EXPECT_FALSE(info_->CanGenerateMipmaps());
EXPECT_FALSE(info_->CanRender());
- info_->SetParameter(GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
+ manager_.SetParameter(info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
EXPECT_FALSE(info_->CanRender());
- info_->SetParameter(GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
+ manager_.SetParameter(info_, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
EXPECT_FALSE(info_->CanRender());
- info_->SetParameter(GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
+ manager_.SetParameter(info_, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
EXPECT_TRUE(info_->CanRender());
+ EXPECT_FALSE(manager_.HaveUnrenderableTextures());
// Change it to POT.
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
EXPECT_FALSE(info_->texture_complete());
EXPECT_TRUE(info_->CanGenerateMipmaps());
+ EXPECT_FALSE(manager_.HaveUnrenderableTextures());
}
TEST_F(TextureInfoTest, POTCubeMap) {
manager_.SetInfoTarget(info_, GL_TEXTURE_CUBE_MAP);
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), info_->target());
// Check Setting level 0 each face to POT
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_CUBE_MAP_POSITIVE_X,
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
@@ -222,7 +235,8 @@
EXPECT_FALSE(info_->cube_complete());
EXPECT_FALSE(info_->CanGenerateMipmaps());
EXPECT_FALSE(info_->CanRender());
- info_->SetLevelInfo(
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
@@ -230,7 +244,8 @@
EXPECT_FALSE(info_->cube_complete());
EXPECT_FALSE(info_->CanGenerateMipmaps());
EXPECT_FALSE(info_->CanRender());
- info_->SetLevelInfo(
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
@@ -238,7 +253,8 @@
EXPECT_FALSE(info_->cube_complete());
EXPECT_FALSE(info_->CanGenerateMipmaps());
EXPECT_FALSE(info_->CanRender());
- info_->SetLevelInfo(
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
@@ -246,7 +262,8 @@
EXPECT_FALSE(info_->cube_complete());
EXPECT_FALSE(info_->CanRender());
EXPECT_FALSE(info_->CanGenerateMipmaps());
- info_->SetLevelInfo(
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
@@ -254,7 +271,8 @@
EXPECT_FALSE(info_->cube_complete());
EXPECT_FALSE(info_->CanGenerateMipmaps());
EXPECT_FALSE(info_->CanRender());
- info_->SetLevelInfo(
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
@@ -262,14 +280,17 @@
EXPECT_TRUE(info_->cube_complete());
EXPECT_TRUE(info_->CanGenerateMipmaps());
EXPECT_FALSE(info_->CanRender());
+ EXPECT_TRUE(manager_.HaveUnrenderableTextures());
// Make mips.
- EXPECT_TRUE(info_->MarkMipmapsGenerated());
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(info_));
EXPECT_TRUE(info_->texture_complete());
EXPECT_TRUE(info_->cube_complete());
+ EXPECT_TRUE(info_->CanRender());
+ EXPECT_FALSE(manager_.HaveUnrenderableTextures());
// Change a mip.
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_FALSE(info_->npot());
@@ -277,19 +298,19 @@
EXPECT_TRUE(info_->cube_complete());
EXPECT_TRUE(info_->CanGenerateMipmaps());
// Set a level past the number of mips that would get generated.
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
EXPECT_TRUE(info_->CanGenerateMipmaps());
// Make mips.
- EXPECT_TRUE(info_->MarkMipmapsGenerated());
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(info_));
EXPECT_FALSE(info_->texture_complete());
EXPECT_TRUE(info_->cube_complete());
}
TEST_F(TextureInfoTest, GetLevelSize) {
manager_.SetInfoTarget(info_, GL_TEXTURE_2D);
- info_->SetLevelInfo(
+ manager_.SetLevelInfo(info_,
GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
GLsizei width = -1;
GLsizei height = -1;

Powered by Google App Engine
This is Rietveld 408576698