Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc |
index 3383e26971b8c93f7eb902e3de05cf15a60e05de..1c443a7dec7b59ec781e2fe006e7ab9672570b00 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc |
@@ -2767,6 +2767,43 @@ TEST_P(GLES2DecoderManualInitTest, InvalidateFramebufferBinding) { |
gfx::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT")); |
} |
+TEST_P(GLES2DecoderManualInitTest, ClearBackbufferBitsOnFlipSwap) { |
+ InitState init; |
+ init.gl_version = "opengl es 2.0"; |
+ InitDecoder(init); |
+ surface_->set_buffers_flipped(true); |
+ |
+ EXPECT_EQ(0u, GetAndClearBackbufferClearBitsForTest()); |
+ |
+ SwapBuffers& cmd = *GetImmediateAs<SwapBuffers>(); |
+ cmd.Init(); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ EXPECT_EQ(static_cast<uint32_t>(GL_COLOR_BUFFER_BIT), |
+ GetAndClearBackbufferClearBitsForTest()); |
+ |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ EXPECT_EQ(0u, GetAndClearBackbufferClearBitsForTest()); |
+ |
+ ResizeCHROMIUM& resize_cmd = *GetImmediateAs<ResizeCHROMIUM>(); |
+ resize_cmd.Init(1, 1, 1.0f, GL_TRUE); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(resize_cmd)); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ EXPECT_EQ(static_cast<uint32_t>(GL_COLOR_BUFFER_BIT), |
+ GetAndClearBackbufferClearBitsForTest()); |
+ |
+ cmd.Init(); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ EXPECT_EQ(static_cast<uint32_t>(GL_COLOR_BUFFER_BIT), |
+ GetAndClearBackbufferClearBitsForTest()); |
+ |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
+ EXPECT_EQ(0u, GetAndClearBackbufferClearBitsForTest()); |
+} |
+ |
TEST_P(GLES2DecoderManualInitTest, DiscardFramebufferEXT) { |
InitState init; |
init.extensions = "GL_EXT_discard_framebuffer"; |