3 class ClearTest : public ANGLETest
11 setConfigGreenBits(8);
13 setConfigAlphaBits(8);
14 setConfigDepthBits(24);
21 const std::string vertexShaderSource = SHADER_SOURCE
23 precision highp float;
24 attribute vec4 position;
28 gl_Position = position;
32 const std::string fragmentShaderSource = SHADER_SOURCE
34 precision highp float;
38 gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
42 mProgram = compileProgram(vertexShaderSource, fragmentShaderSource);
45 FAIL() << "shader compilation failed.";
49 virtual void TearDown()
51 glDeleteProgram(mProgram);
53 ANGLETest::TearDown();
59 TEST_F(ClearTest, clear_issue)
63 glEnable(GL_DEPTH_TEST);
64 glDepthFunc(GL_LEQUAL);
66 glClearColor(0.0, 1.0, 0.0, 1.0);
68 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
73 glGenFramebuffers(1, &fbo);
74 glBindFramebuffer(GL_FRAMEBUFFER, fbo);
77 glGenRenderbuffers(1, &rbo);
78 glBindRenderbuffer(GL_RENDERBUFFER, rbo);
79 glRenderbufferStorage(GL_RENDERBUFFER, GL_RGB565, 16, 16);
83 glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, rbo);
87 glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
89 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
93 glBindFramebuffer(GL_FRAMEBUFFER, 0);
94 glBindBuffer(GL_ARRAY_BUFFER, 0);
96 drawQuad(mProgram, "position", 0.5f);
98 EXPECT_PIXEL_EQ(0, 0, 0, 255, 0, 255);