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

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

Issue 245923008: Optimize GLES2DecoderImpl::ApplyDirtyState. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase on refactored gles2_cmd_decoder_unittest.cc Created 6 years, 8 months 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/gles2_cmd_decoder_unittest_drawing.cc
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc
index 246808708cdbc01d247cd366aa6848a006fc3bce..b5e680183af1b1532ab00545c64062517a053045 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc
@@ -72,9 +72,60 @@ class GLES2DecoderGeometryInstancingTest : public GLES2DecoderWithShaderTest {
}
};
+INSTANTIATE_TEST_CASE_P(Service,
+ GLES2DecoderGeometryInstancingTest,
+ ::testing::Bool());
+
+void GLES2DecoderManualInitTest::DirtyStateMaskTest(GLuint color_bits,
+ bool depth_mask,
+ GLuint front_stencil_mask,
+ GLuint back_stencil_mask) {
+ ColorMask color_mask_cmd;
+ color_mask_cmd.Init((color_bits & 0x1000) != 0,
+ (color_bits & 0x0100) != 0,
+ (color_bits & 0x0010) != 0,
+ (color_bits & 0x0001) != 0);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(color_mask_cmd));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ DepthMask depth_mask_cmd;
+ depth_mask_cmd.Init(depth_mask);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(depth_mask_cmd));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ StencilMaskSeparate front_stencil_mask_cmd;
+ front_stencil_mask_cmd.Init(GL_FRONT, front_stencil_mask);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(front_stencil_mask_cmd));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ StencilMaskSeparate back_stencil_mask_cmd;
+ back_stencil_mask_cmd.Init(GL_BACK, back_stencil_mask);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(back_stencil_mask_cmd));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ SetupExpectationsForApplyingDirtyState(
+ false, // Framebuffer is RGB
+ true, // Framebuffer has depth
+ true, // Framebuffer has stencil
+ color_bits, // color bits
+ depth_mask, // depth mask
+ false, // depth enabled
+ front_stencil_mask, // front stencil mask
+ back_stencil_mask, // back stencil mask
+ false); // stencil enabled
+
+ EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
+ .Times(1)
+ .RetiresOnSaturation();
+ DrawArrays draw_cmd;
+ draw_cmd.Init(GL_TRIANGLES, 0, kNumVertices);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(draw_cmd));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+}
+
// Test that with an RGB backbuffer if we set the color mask to 1,1,1,1 it is
// set to 1,1,1,0 at Draw time but is 1,1,1,1 at query time.
-TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMask) {
+TEST_P(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMask) {
ColorMask cmd;
cmd.Init(true, true, true, true);
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
@@ -90,10 +141,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMask) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -127,7 +175,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMask) {
// Test that with no depth if we set DepthMask true that it's set to false at
// draw time but querying it returns true.
-TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferDepthMask) {
+TEST_P(GLES2DecoderRGBBackbufferTest, RGBBackbufferDepthMask) {
EXPECT_CALL(*gl_, DepthMask(true)).Times(0).RetiresOnSaturation();
DepthMask cmd;
cmd.Init(true);
@@ -144,10 +192,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferDepthMask) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -178,7 +223,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferDepthMask) {
// Test that with no stencil if we set the stencil mask it's still set to 0 at
// draw time but gets our value if we query.
-TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferStencilMask) {
+TEST_P(GLES2DecoderRGBBackbufferTest, RGBBackbufferStencilMask) {
const GLint kMask = 123;
EXPECT_CALL(*gl_, StencilMask(kMask)).Times(0).RetiresOnSaturation();
StencilMask cmd;
@@ -196,10 +241,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferStencilMask) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -229,7 +271,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferStencilMask) {
}
// Test that if an FBO is bound we get the correct masks.
-TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMaskFBO) {
+TEST_P(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMaskFBO) {
ColorMask cmd;
cmd.Init(true, true, true, true);
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
@@ -251,10 +293,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMaskFBO) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -310,10 +349,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMaskFBO) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -339,10 +375,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMaskFBO) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -351,7 +384,7 @@ TEST_F(GLES2DecoderRGBBackbufferTest, RGBBackbufferColorMaskFBO) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderManualInitTest, DepthEnableWithDepth) {
+TEST_P(GLES2DecoderManualInitTest, DepthEnableWithDepth) {
InitState init;
init.gl_version = "3.0";
init.has_depth = true;
@@ -375,10 +408,7 @@ TEST_F(GLES2DecoderManualInitTest, DepthEnableWithDepth) {
true, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -407,7 +437,7 @@ TEST_F(GLES2DecoderManualInitTest, DepthEnableWithDepth) {
EXPECT_EQ(1, result->GetData()[0]);
}
-TEST_F(GLES2DecoderManualInitTest, DepthEnableWithoutRequestedDepth) {
+TEST_P(GLES2DecoderManualInitTest, DepthEnableWithoutRequestedDepth) {
InitState init;
init.gl_version = "3.0";
init.has_depth = true;
@@ -430,10 +460,7 @@ TEST_F(GLES2DecoderManualInitTest, DepthEnableWithoutRequestedDepth) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -462,7 +489,7 @@ TEST_F(GLES2DecoderManualInitTest, DepthEnableWithoutRequestedDepth) {
EXPECT_EQ(1, result->GetData()[0]);
}
-TEST_F(GLES2DecoderManualInitTest, StencilEnableWithStencil) {
+TEST_P(GLES2DecoderManualInitTest, StencilEnableWithStencil) {
InitState init;
init.gl_version = "3.0";
init.has_stencil = true;
@@ -486,10 +513,7 @@ TEST_F(GLES2DecoderManualInitTest, StencilEnableWithStencil) {
false, // depth enabled
-1, // front stencil mask
-1, // back stencil mask
- true, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ true); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -518,7 +542,7 @@ TEST_F(GLES2DecoderManualInitTest, StencilEnableWithStencil) {
EXPECT_EQ(1, result->GetData()[0]);
}
-TEST_F(GLES2DecoderManualInitTest, StencilEnableWithoutRequestedStencil) {
+TEST_P(GLES2DecoderManualInitTest, StencilEnableWithoutRequestedStencil) {
InitState init;
init.gl_version = "3.0";
init.has_stencil = true;
@@ -541,10 +565,7 @@ TEST_F(GLES2DecoderManualInitTest, StencilEnableWithoutRequestedStencil) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -573,7 +594,98 @@ TEST_F(GLES2DecoderManualInitTest, StencilEnableWithoutRequestedStencil) {
EXPECT_EQ(1, result->GetData()[0]);
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysNoAttributesSucceeds) {
+TEST_P(GLES2DecoderManualInitTest, CachedColorMask) {
+ InitState init;
+ init.gl_version = "3.0";
+ init.has_alpha = true;
+ init.has_depth = true;
+ init.has_stencil = true;
+ init.request_alpha = true;
+ init.request_depth = true;
+ init.request_stencil = true;
+ init.bind_generates_resource = true;
+ InitDecoder(init);
+
+ SetupDefaultProgram();
+ SetupAllNeededVertexBuffers();
+ SetupTexture();
+
+ // Test all color_bits combinations twice.
+ for (int i = 0; i < 32; i++) {
+ GLuint color_bits = (i & 1 ? 0x0001 : 0x0000) | (i & 2 ? 0x0010 : 0x0000) |
+ (i & 4 ? 0x0100 : 0x0000) | (i & 8 ? 0x1000 : 0x0000);
+
+ // Toggle depth_test to force ApplyDirtyState each time.
+ DirtyStateMaskTest(color_bits, false, 0xffffffff, 0xffffffff);
+ DirtyStateMaskTest(color_bits, true, 0xffffffff, 0xffffffff);
+ DirtyStateMaskTest(color_bits, false, 0xffffffff, 0xffffffff);
+ }
+}
+
+TEST_P(GLES2DecoderManualInitTest, CachedDepthMask) {
+ InitState init;
+ init.gl_version = "3.0";
+ init.has_alpha = true;
+ init.has_depth = true;
+ init.has_stencil = true;
+ init.request_alpha = true;
+ init.request_depth = true;
+ init.request_stencil = true;
+ init.bind_generates_resource = true;
+ InitDecoder(init);
+
+ SetupDefaultProgram();
+ SetupAllNeededVertexBuffers();
+ SetupTexture();
+
+ // Test all depth_mask combinations twice.
+ for (int i = 0; i < 4; i++) {
+ bool depth_mask = (i & 1) == 1;
+
+ // Toggle color masks to force ApplyDirtyState each time.
+ DirtyStateMaskTest(0x1010, depth_mask, 0xffffffff, 0xffffffff);
+ DirtyStateMaskTest(0x0101, depth_mask, 0xffffffff, 0xffffffff);
+ DirtyStateMaskTest(0x1010, depth_mask, 0xffffffff, 0xffffffff);
+ }
+}
+
+TEST_P(GLES2DecoderManualInitTest, CachedStencilMask) {
+ InitState init;
+ init.gl_version = "3.0";
+ init.has_alpha = true;
+ init.has_depth = true;
+ init.has_stencil = true;
+ init.request_alpha = true;
+ init.request_depth = true;
+ init.request_stencil = true;
+ init.bind_generates_resource = true;
+ InitDecoder(init);
+
+ SetupDefaultProgram();
+ SetupAllNeededVertexBuffers();
+ SetupTexture();
+
+ // Test all stencil_mask combinations twice.
+ for (int i = 0; i < 4; i++) {
+ GLuint stencil_mask = (i & 1) ? 0xf0f0f0f0 : 0x0f0f0f0f;
+
+ // Toggle color masks to force ApplyDirtyState each time.
+ DirtyStateMaskTest(0x1010, true, stencil_mask, 0xffffffff);
+ DirtyStateMaskTest(0x0101, true, stencil_mask, 0xffffffff);
+ DirtyStateMaskTest(0x1010, true, stencil_mask, 0xffffffff);
+ }
+
+ for (int i = 0; i < 4; i++) {
+ GLuint stencil_mask = (i & 1) ? 0xf0f0f0f0 : 0x0f0f0f0f;
+
+ // Toggle color masks to force ApplyDirtyState each time.
+ DirtyStateMaskTest(0x1010, true, 0xffffffff, stencil_mask);
+ DirtyStateMaskTest(0x0101, true, 0xffffffff, stencil_mask);
+ DirtyStateMaskTest(0x1010, true, 0xffffffff, stencil_mask);
+ }
+}
+
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysNoAttributesSucceeds) {
SetupTexture();
AddExpectationsForSimulatedAttrib0(kNumVertices, 0);
SetupExpectationsForApplyingDefaultDirtyState();
@@ -588,7 +700,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysNoAttributesSucceeds) {
}
// Tests when the math overflows (0x40000000 * sizeof GLfloat)
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0OverflowFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0OverflowFails) {
const GLsizei kLargeCount = 0x40000000;
SetupTexture();
EXPECT_CALL(*gl_, DrawArrays(_, _, _)).Times(0).RetiresOnSaturation();
@@ -600,7 +712,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0OverflowFails) {
}
// Tests when the math overflows (0x7FFFFFFF + 1 = 0x8000000 verts)
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0PosToNegFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0PosToNegFails) {
const GLsizei kLargeCount = 0x7FFFFFFF;
SetupTexture();
EXPECT_CALL(*gl_, DrawArrays(_, _, _)).Times(0).RetiresOnSaturation();
@@ -612,7 +724,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0PosToNegFails) {
}
// Tests when the driver returns an error
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0OOMFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0OOMFails) {
const GLsizei kFakeLargeCount = 0x1234;
SetupTexture();
AddExpectationsForSimulatedAttrib0WithError(
@@ -626,7 +738,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysSimulatedAttrib0OOMFails) {
}
// Test that we lose context.
-TEST_F(GLES2DecoderManualInitTest, LoseContextWhenOOM) {
+TEST_P(GLES2DecoderManualInitTest, LoseContextWhenOOM) {
InitState init;
init.gl_version = "3.0";
init.has_alpha = true;
@@ -655,7 +767,7 @@ TEST_F(GLES2DecoderManualInitTest, LoseContextWhenOOM) {
EXPECT_TRUE(decoder_->WasContextLost());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysBadTextureUsesBlack) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysBadTextureUsesBlack) {
DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
// This is an NPOT texture. As the default filtering requires mips
// this should trigger replacing with black textures before rendering.
@@ -699,7 +811,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysBadTextureUsesBlack) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysMissingAttributesFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysMissingAttributesFails) {
DoEnableVertexAttribArray(1);
EXPECT_CALL(*gl_, DrawArrays(_, _, _)).Times(0);
@@ -709,7 +821,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysMissingAttributesFails) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest,
+TEST_P(GLES2DecoderWithShaderTest,
DrawArraysMissingAttributesZeroCountSucceeds) {
DoEnableVertexAttribArray(1);
@@ -720,7 +832,7 @@ TEST_F(GLES2DecoderWithShaderTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysValidAttributesSucceeds) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysValidAttributesSucceeds) {
SetupTexture();
SetupVertexBuffer();
DoEnableVertexAttribArray(1);
@@ -739,7 +851,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysValidAttributesSucceeds) {
// Same as DrawArraysValidAttributesSucceeds, but with workaround
// |init_vertex_attributes|.
-TEST_F(GLES2DecoderManualInitTest, InitVertexAttributes) {
+TEST_P(GLES2DecoderManualInitTest, InitVertexAttributes) {
CommandLine command_line(0, NULL);
command_line.AppendSwitchASCII(
switches::kGpuDriverBugWorkarounds,
@@ -769,7 +881,7 @@ TEST_F(GLES2DecoderManualInitTest, InitVertexAttributes) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysDeletedBufferFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysDeletedBufferFails) {
SetupVertexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
DeleteVertexBuffer();
@@ -781,7 +893,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysDeletedBufferFails) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysDeletedProgramSucceeds) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysDeletedProgramSucceeds) {
SetupTexture();
AddExpectationsForSimulatedAttrib0(kNumVertices, 0);
SetupExpectationsForApplyingDefaultDirtyState();
@@ -795,7 +907,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysDeletedProgramSucceeds) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysWithInvalidModeFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysWithInvalidModeFails) {
SetupVertexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -809,7 +921,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysWithInvalidModeFails) {
EXPECT_EQ(GL_INVALID_ENUM, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysInvalidCountFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysInvalidCountFails) {
SetupVertexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -847,7 +959,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysInvalidCountFails) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysInstancedANGLEFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysInstancedANGLEFails) {
SetupTexture();
SetupVertexBuffer();
DoEnableVertexAttribArray(1);
@@ -862,7 +974,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysInstancedANGLEFails) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLENoAttributesFails) {
SetupTexture();
@@ -875,7 +987,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLESimulatedAttrib0) {
SetupTexture();
SetupVertexBuffer();
@@ -900,7 +1012,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLEMissingAttributesFails) {
DoEnableVertexAttribArray(1);
@@ -911,7 +1023,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLEMissingAttributesZeroCountSucceeds) {
DoEnableVertexAttribArray(1);
@@ -922,7 +1034,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLEValidAttributesSucceeds) {
SetupTexture();
SetupVertexBuffer();
@@ -940,7 +1052,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLEWithInvalidModeFails) {
SetupVertexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -955,7 +1067,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_INVALID_ENUM, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLEInvalidPrimcountFails) {
SetupVertexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -968,7 +1080,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
}
// Per-instance data is twice as large, but number of instances is half
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLELargeInstanceSucceeds) {
SetupTexture();
SetupVertexBuffer();
@@ -990,7 +1102,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
}
// Per-instance data is twice as large, but divisor is twice
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLELargeDivisorSucceeds) {
SetupTexture();
SetupVertexBuffer();
@@ -1011,7 +1123,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest, DrawArraysInstancedANGLELargeFails) {
+TEST_P(GLES2DecoderGeometryInstancingTest, DrawArraysInstancedANGLELargeFails) {
SetupTexture();
SetupVertexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -1038,7 +1150,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest, DrawArraysInstancedANGLELargeFails) {
}
// Per-index data is twice as large, but number of indices is half
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLELargeIndexSucceeds) {
SetupTexture();
SetupVertexBuffer();
@@ -1059,7 +1171,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawArraysInstancedANGLENoDivisor0Fails) {
SetupTexture();
SetupVertexBuffer();
@@ -1079,7 +1191,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsNoAttributesSucceeds) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsNoAttributesSucceeds) {
SetupTexture();
SetupIndexBuffer();
AddExpectationsForSimulatedAttrib0(kMaxValidIndex + 1, 0);
@@ -1100,7 +1212,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsNoAttributesSucceeds) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsMissingAttributesFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsMissingAttributesFails) {
SetupIndexBuffer();
DoEnableVertexAttribArray(1);
@@ -1114,7 +1226,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsMissingAttributesFails) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest,
+TEST_P(GLES2DecoderWithShaderTest,
DrawElementsMissingAttributesZeroCountSucceeds) {
SetupIndexBuffer();
DoEnableVertexAttribArray(1);
@@ -1126,7 +1238,7 @@ TEST_F(GLES2DecoderWithShaderTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsExtraAttributesFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsExtraAttributesFails) {
SetupIndexBuffer();
DoEnableVertexAttribArray(6);
@@ -1140,7 +1252,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsExtraAttributesFails) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsValidAttributesSucceeds) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsValidAttributesSucceeds) {
SetupTexture();
SetupVertexBuffer();
SetupIndexBuffer();
@@ -1164,7 +1276,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsValidAttributesSucceeds) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsDeletedBufferFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsDeletedBufferFails) {
SetupVertexBuffer();
SetupIndexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -1180,7 +1292,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsDeletedBufferFails) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsDeletedProgramSucceeds) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsDeletedProgramSucceeds) {
SetupTexture();
SetupIndexBuffer();
AddExpectationsForSimulatedAttrib0(kMaxValidIndex + 1, 0);
@@ -1198,7 +1310,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsDeletedProgramSucceeds) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsWithInvalidModeFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsWithInvalidModeFails) {
SetupVertexBuffer();
SetupIndexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -1219,7 +1331,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsWithInvalidModeFails) {
EXPECT_EQ(GL_INVALID_ENUM, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsInvalidCountFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsInvalidCountFails) {
SetupVertexBuffer();
SetupIndexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -1239,7 +1351,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsInvalidCountFails) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsOutOfRangeIndicesFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsOutOfRangeIndicesFails) {
SetupVertexBuffer();
SetupIndexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -1255,7 +1367,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsOutOfRangeIndicesFails) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsOddOffsetForUint16Fails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsOddOffsetForUint16Fails) {
SetupVertexBuffer();
SetupIndexBuffer();
DoVertexAttribPointer(1, 2, GL_FLOAT, 0, 0);
@@ -1268,7 +1380,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsOddOffsetForUint16Fails) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsInstancedANGLEFails) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsInstancedANGLEFails) {
SetupTexture();
SetupVertexBuffer();
SetupIndexBuffer();
@@ -1288,7 +1400,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsInstancedANGLEFails) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLENoAttributesFails) {
SetupTexture();
SetupIndexBuffer();
@@ -1306,7 +1418,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLESimulatedAttrib0) {
SetupTexture();
SetupVertexBuffer();
@@ -1342,7 +1454,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLEMissingAttributesFails) {
SetupIndexBuffer();
DoEnableVertexAttribArray(1);
@@ -1358,7 +1470,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLEMissingAttributesZeroCountSucceeds) {
SetupIndexBuffer();
DoEnableVertexAttribArray(1);
@@ -1370,7 +1482,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLEValidAttributesSucceeds) {
SetupIndexBuffer();
SetupTexture();
@@ -1399,7 +1511,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLEWithInvalidModeFails) {
SetupIndexBuffer();
SetupVertexBuffer();
@@ -1424,7 +1536,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
}
// Per-instance data is twice as large, but number of instances is half
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLELargeInstanceSucceeds) {
SetupTexture();
SetupIndexBuffer();
@@ -1461,7 +1573,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
}
// Per-instance data is twice as large, but divisor is twice
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLELargeDivisorSucceeds) {
SetupTexture();
SetupIndexBuffer();
@@ -1491,7 +1603,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLELargeFails) {
SetupTexture();
SetupIndexBuffer();
@@ -1527,7 +1639,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLEInvalidPrimcountFails) {
SetupTexture();
SetupIndexBuffer();
@@ -1552,7 +1664,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
}
// Per-index data is twice as large, but values of indices are smaller
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLELargeIndexSucceeds) {
SetupTexture();
SetupIndexBuffer();
@@ -1582,7 +1694,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderGeometryInstancingTest,
+TEST_P(GLES2DecoderGeometryInstancingTest,
DrawElementsInstancedANGLENoDivisor0Fails) {
SetupTexture();
SetupIndexBuffer();
@@ -1607,7 +1719,7 @@ TEST_F(GLES2DecoderGeometryInstancingTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawArraysClearsAfterTexImage2DNULL) {
+TEST_P(GLES2DecoderWithShaderTest, DrawArraysClearsAfterTexImage2DNULL) {
SetupAllNeededVertexBuffers();
DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
// Create an uncleared texture with 2 levels.
@@ -1653,7 +1765,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawArraysClearsAfterTexImage2DNULL) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawElementsClearsAfterTexImage2DNULL) {
+TEST_P(GLES2DecoderWithShaderTest, DrawElementsClearsAfterTexImage2DNULL) {
SetupAllNeededVertexBuffers();
SetupIndexBuffer();
DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
@@ -1712,7 +1824,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawElementsClearsAfterTexImage2DNULL) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawClearsAfterTexImage2DNULLInFBO) {
+TEST_P(GLES2DecoderWithShaderTest, DrawClearsAfterTexImage2DNULLInFBO) {
const GLuint kFBOClientTextureId = 4100;
const GLuint kFBOServiceTextureId = 4101;
@@ -1758,10 +1870,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawClearsAfterTexImage2DNULLInFBO) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -1779,7 +1888,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawClearsAfterTexImage2DNULLInFBO) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawWitFBOThatCantClearDoesNotDraw) {
+TEST_P(GLES2DecoderWithShaderTest, DrawWitFBOThatCantClearDoesNotDraw) {
const GLuint kFBOClientTextureId = 4100;
const GLuint kFBOServiceTextureId = 4101;
@@ -1816,7 +1925,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawWitFBOThatCantClearDoesNotDraw) {
EXPECT_EQ(GL_INVALID_FRAMEBUFFER_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest, DrawClearsAfterRenderbufferStorageInFBO) {
+TEST_P(GLES2DecoderWithShaderTest, DrawClearsAfterRenderbufferStorageInFBO) {
SetupTexture();
DoBindRenderbuffer(
GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId);
@@ -1850,10 +1959,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawClearsAfterRenderbufferStorageInFBO) {
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -1864,7 +1970,7 @@ TEST_F(GLES2DecoderWithShaderTest, DrawClearsAfterRenderbufferStorageInFBO) {
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderManualInitTest, DrawArraysClearsAfterTexImage2DNULLCubemap) {
+TEST_P(GLES2DecoderManualInitTest, DrawArraysClearsAfterTexImage2DNULLCubemap) {
InitState init;
init.gl_version = "opengl es 2.0";
init.has_alpha = true;
@@ -1939,7 +2045,7 @@ TEST_F(GLES2DecoderManualInitTest, DrawArraysClearsAfterTexImage2DNULLCubemap) {
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
}
-TEST_F(GLES2DecoderWithShaderTest,
+TEST_P(GLES2DecoderWithShaderTest,
DrawClearsAfterRenderbuffersWithMultipleAttachments) {
const GLuint kFBOClientTextureId = 4100;
const GLuint kFBOServiceTextureId = 4101;
@@ -2002,10 +2108,7 @@ TEST_F(GLES2DecoderWithShaderTest,
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -2016,7 +2119,7 @@ TEST_F(GLES2DecoderWithShaderTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderWithShaderTest,
+TEST_P(GLES2DecoderWithShaderTest,
DrawingWithFBOTwiceChecksForFBOCompleteOnce) {
const GLuint kFBOClientTextureId = 4100;
const GLuint kFBOServiceTextureId = 4101;
@@ -2067,10 +2170,7 @@ TEST_F(GLES2DecoderWithShaderTest,
false, // depth enabled
0, // front stencil mask
0, // back stencil mask
- false, // stencil enabled
- false, // cull_face_enabled
- false, // scissor_test_enabled
- false); // blend_enabled
+ false); // stencil enabled
EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices))
.Times(1)
@@ -2088,7 +2188,7 @@ TEST_F(GLES2DecoderWithShaderTest,
EXPECT_EQ(GL_NO_ERROR, GetGLError());
}
-TEST_F(GLES2DecoderManualInitTest, DrawClearsDepthTexture) {
+TEST_P(GLES2DecoderManualInitTest, DrawClearsDepthTexture) {
InitState init;
init.extensions = "GL_ANGLE_depth_texture";
init.gl_version = "opengl es 2.0";
@@ -2118,6 +2218,10 @@ TEST_F(GLES2DecoderManualInitTest, DrawClearsDepthTexture) {
0,
0);
+ // Enable GL_SCISSOR_TEST to make sure we disable it in the clear,
+ // then re-enable it.
+ DoEnableDisable(GL_SCISSOR_TEST, true);
+
EXPECT_CALL(*gl_, GenFramebuffersEXT(1, _)).Times(1).RetiresOnSaturation();
EXPECT_CALL(*gl_, BindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, _))
.Times(1)
@@ -2138,12 +2242,12 @@ TEST_F(GLES2DecoderManualInitTest, DrawClearsDepthTexture) {
EXPECT_CALL(*gl_, ClearStencil(0)).Times(1).RetiresOnSaturation();
EXPECT_CALL(*gl_, StencilMask(-1)).Times(1).RetiresOnSaturation();
EXPECT_CALL(*gl_, ClearDepth(1.0f)).Times(1).RetiresOnSaturation();
- EXPECT_CALL(*gl_, DepthMask(true)).Times(1).RetiresOnSaturation();
- EXPECT_CALL(*gl_, Disable(GL_SCISSOR_TEST)).Times(1).RetiresOnSaturation();
+ SetupExpectationsForDepthMask(true);
+ SetupExpectationsForEnableDisable(GL_SCISSOR_TEST, false);
EXPECT_CALL(*gl_, Clear(GL_DEPTH_BUFFER_BIT)).Times(1).RetiresOnSaturation();
- SetupExpectationsForRestoreClearState(0.0f, 0.0f, 0.0f, 0.0f, 0, 1.0f, false);
+ SetupExpectationsForRestoreClearState(0.0f, 0.0f, 0.0f, 0.0f, 0, 1.0f, true);
EXPECT_CALL(*gl_, DeleteFramebuffersEXT(1, _)).Times(1).RetiresOnSaturation();
EXPECT_CALL(*gl_, BindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0))

Powered by Google App Engine
This is Rietveld 408576698