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

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

Issue 8772033: Adds support for the GL_ANGLE_texture_usage and GL_EXT_texture_storage (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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
===================================================================
--- gpu/command_buffer/service/texture_manager_unittest.cc (revision 112643)
+++ gpu/command_buffer/service/texture_manager_unittest.cc (working copy)
@@ -124,6 +124,24 @@
EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_t());
}
+TEST_F(TextureManagerTest, TextureUsageExt) {
+ TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
+ "GL_ANGLE_texture_usage");
+ manager_.Initialize(&feature_info_);
+ const GLuint kClient1Id = 1;
+ const GLuint kService1Id = 11;
+ // Check we can create texture.
+ manager_.CreateTextureInfo(&feature_info_, kClient1Id, kService1Id);
+ // Check texture got created.
+ TextureManager::TextureInfo* info = manager_.GetTextureInfo(kClient1Id);
+ ASSERT_TRUE(info != NULL);
+ EXPECT_TRUE(manager_.SetParameter(
+ &feature_info_, info, GL_TEXTURE_USAGE_ANGLE,
+ GL_FRAMEBUFFER_ATTACHMENT_ANGLE));
+ EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_ATTACHMENT_ANGLE),
+ info->usage());
+}
+
TEST_F(TextureManagerTest, Destroy) {
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
@@ -323,6 +341,7 @@
EXPECT_EQ(0, info_->num_uncleared_mips());
EXPECT_FALSE(info_->CanRender(&feature_info_));
EXPECT_TRUE(info_->SafeToRenderFrom());
+ EXPECT_FALSE(info_->IsImmutable());
EXPECT_EQ(static_cast<GLenum>(GL_NEAREST_MIPMAP_LINEAR), info_->min_filter());
EXPECT_EQ(static_cast<GLenum>(GL_LINEAR), info_->mag_filter());
EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), info_->wrap_s());
@@ -354,7 +373,7 @@
EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_));
// Make mips.
- EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_));
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true));
EXPECT_TRUE(info_->texture_complete());
EXPECT_TRUE(info_->CanRender(&feature_info_));
EXPECT_FALSE(manager_.HaveUnrenderableTextures());
@@ -371,7 +390,7 @@
GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true);
EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_));
// Make mips.
- EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_));
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true));
EXPECT_TRUE(info_->CanRender(&feature_info_));
EXPECT_TRUE(info_->texture_complete());
EXPECT_FALSE(manager_.HaveUnrenderableTextures());
@@ -383,7 +402,7 @@
// Set level zero to large size.
manager_.SetLevelInfo(&feature_info_, info_,
GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true);
- EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_));
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true));
EXPECT_FALSE(info_->npot());
EXPECT_TRUE(info_->texture_complete());
EXPECT_TRUE(info_->CanRender(&feature_info_));
@@ -391,7 +410,7 @@
// Set level zero to large smaller (levels unused mips)
manager_.SetLevelInfo(&feature_info_, info_,
GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true);
- EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_));
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true));
EXPECT_FALSE(info_->npot());
EXPECT_TRUE(info_->texture_complete());
EXPECT_TRUE(info_->CanRender(&feature_info_));
@@ -457,7 +476,7 @@
EXPECT_TRUE(info->CanGenerateMipmaps(&feature_info));
EXPECT_FALSE(info->CanRender(&feature_info));
EXPECT_TRUE(manager.HaveUnrenderableTextures());
- EXPECT_TRUE(manager.MarkMipmapsGenerated(&feature_info, info));
+ EXPECT_TRUE(manager.MarkMipmapsGenerated(&feature_info, info, true));
EXPECT_TRUE(info->texture_complete());
EXPECT_TRUE(info->CanRender(&feature_info));
EXPECT_FALSE(manager.HaveUnrenderableTextures());
@@ -524,7 +543,7 @@
EXPECT_TRUE(manager_.HaveUnrenderableTextures());
// Make mips.
- EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_));
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true));
EXPECT_TRUE(info_->texture_complete());
EXPECT_TRUE(info_->cube_complete());
EXPECT_TRUE(info_->CanRender(&feature_info_));
@@ -544,7 +563,7 @@
3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true);
EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_));
// Make mips.
- EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_));
+ EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true));
EXPECT_TRUE(info_->texture_complete());
EXPECT_TRUE(info_->cube_complete());
}
@@ -778,7 +797,7 @@
EXPECT_TRUE(manager_.HaveUnsafeTextures());
EXPECT_TRUE(manager_.HaveUnclearedMips());
EXPECT_EQ(1, info_->num_uncleared_mips());
- manager_.MarkMipmapsGenerated(&feature_info_, info_);
+ manager_.MarkMipmapsGenerated(&feature_info_, info_, true);
EXPECT_TRUE(info_->SafeToRenderFrom());
EXPECT_FALSE(manager_.HaveUnsafeTextures());
EXPECT_FALSE(manager_.HaveUnclearedMips());

Powered by Google App Engine
This is Rietveld 408576698