| Index: gpu/command_buffer/service/framebuffer_manager_unittest.cc
|
| diff --git a/gpu/command_buffer/service/framebuffer_manager_unittest.cc b/gpu/command_buffer/service/framebuffer_manager_unittest.cc
|
| index cbe524a8e962e074d9f7935bb4c114c4693270be..6f361b39d4e147dcd6b1fa719800c3e37eb725fa 100644
|
| --- a/gpu/command_buffer/service/framebuffer_manager_unittest.cc
|
| +++ b/gpu/command_buffer/service/framebuffer_manager_unittest.cc
|
| @@ -176,6 +176,7 @@ TEST_F(FramebufferInfoTest, AttachRenderbuffer) {
|
| const GLsizei kWidth1 = 16;
|
| const GLsizei kHeight1 = 32;
|
| const GLenum kFormat1 = GL_RGBA4;
|
| + const GLenum kBadFormat1 = GL_DEPTH_COMPONENT16;
|
| const GLsizei kSamples1 = 0;
|
| const GLsizei kWidth2 = 16;
|
| const GLsizei kHeight2 = 32;
|
| @@ -212,6 +213,13 @@ TEST_F(FramebufferInfoTest, AttachRenderbuffer) {
|
| info_->IsPossiblyComplete());
|
| EXPECT_TRUE(info_->IsCleared());
|
|
|
| + // Try a format that's not good for COLOR_ATTACHMENT0.
|
| + renderbuffer_manager_.SetInfo(
|
| + rb_info1, kSamples1, kBadFormat1, kWidth1, kHeight1);
|
| + EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT),
|
| + info_->IsPossiblyComplete());
|
| +
|
| + // Try a good format.
|
| renderbuffer_manager_.SetInfo(
|
| rb_info1, kSamples1, kFormat1, kWidth1, kHeight1);
|
| EXPECT_EQ(static_cast<GLenum>(kFormat1), info_->GetColorAttachmentFormat());
|
| @@ -269,7 +277,7 @@ TEST_F(FramebufferInfoTest, AttachRenderbuffer) {
|
| rb_info3, kSamples3, kFormat3, kWidth3, kHeight3);
|
| renderbuffer_manager_.SetCleared(rb_info3);
|
|
|
| - info_->AttachRenderbuffer(GL_STENCIL_ATTACHMENT, rb_info1);
|
| + info_->AttachRenderbuffer(GL_STENCIL_ATTACHMENT, rb_info3);
|
| EXPECT_FALSE(info_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT));
|
| EXPECT_EQ(static_cast<GLenum>(kFormat1), info_->GetColorAttachmentFormat());
|
| EXPECT_TRUE(info_->HasDepthAttachment());
|
| @@ -297,12 +305,12 @@ TEST_F(FramebufferInfoTest, AttachRenderbuffer) {
|
| EXPECT_EQ(kFormat1, attachment->internal_format());
|
| EXPECT_FALSE(attachment->cleared());
|
|
|
| - EXPECT_TRUE(info_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT));
|
| + EXPECT_TRUE(info_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0));
|
|
|
| // Clear it.
|
| manager_.MarkAttachmentsAsCleared(
|
| info_, &renderbuffer_manager_, &texture_manager_);
|
| - EXPECT_FALSE(info_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT));
|
| + EXPECT_FALSE(info_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0));
|
| EXPECT_TRUE(info_->IsCleared());
|
|
|
| // Check replacing an attachment
|
| @@ -378,6 +386,7 @@ TEST_F(FramebufferInfoTest, AttachTexture) {
|
| const GLsizei kHeight1 = 32;
|
| const GLint kLevel1 = 0;
|
| const GLenum kFormat1 = GL_RGBA;
|
| + const GLenum kBadFormat1 = GL_DEPTH_COMPONENT16;
|
| const GLenum kTarget1 = GL_TEXTURE_2D;
|
| const GLsizei kSamples1 = 0;
|
| const GLsizei kWidth2 = 16;
|
| @@ -411,9 +420,18 @@ TEST_F(FramebufferInfoTest, AttachTexture) {
|
| EXPECT_TRUE(info_->IsCleared());
|
| EXPECT_EQ(static_cast<GLenum>(0), info_->GetColorAttachmentFormat());
|
|
|
| + // Try format that doesn't work with COLOR_ATTACHMENT0
|
| texture_manager_.SetInfoTarget(tex_info1, GL_TEXTURE_2D);
|
| texture_manager_.SetLevelInfo(
|
| tex_info1, GL_TEXTURE_2D, kLevel1,
|
| + kBadFormat1, kWidth1, kHeight1, kDepth, kBorder, kBadFormat1, kType,
|
| + true);
|
| + EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT),
|
| + info_->IsPossiblyComplete());
|
| +
|
| + // Try a good format.
|
| + texture_manager_.SetLevelInfo(
|
| + tex_info1, GL_TEXTURE_2D, kLevel1,
|
| kFormat1, kWidth1, kHeight1, kDepth, kBorder, kFormat1, kType, false);
|
| EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_COMPLETE),
|
| info_->IsPossiblyComplete());
|
|
|