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()); |