Index: gpu/command_buffer/service/program_manager_unittest.cc |
diff --git a/gpu/command_buffer/service/program_manager_unittest.cc b/gpu/command_buffer/service/program_manager_unittest.cc |
index d52d3d7265423d3e88130439e63bf9f8964dc8a3..ec119851aacc2e8f1a6705afa1d05ed45d6e1aab 100644 |
--- a/gpu/command_buffer/service/program_manager_unittest.cc |
+++ b/gpu/command_buffer/service/program_manager_unittest.cc |
@@ -1375,7 +1375,8 @@ TEST_F(ProgramManagerWithShaderTest, TooManyVaryings) { |
Program* program = SetupShaderVariableTest( |
kVertexVaryings, 2, kFragmentVaryings, 2); |
- EXPECT_FALSE(program->CheckVaryingsPacking()); |
+ EXPECT_FALSE( |
+ program->CheckVaryingsPacking(Program::kCountOnlyStaticallyUsed)); |
EXPECT_TRUE(LinkAsExpected(program, false)); |
} |
@@ -1392,10 +1393,28 @@ TEST_F(ProgramManagerWithShaderTest, TooManyInactiveVaryings) { |
Program* program = SetupShaderVariableTest( |
kVertexVaryings, 2, kFragmentVaryings, 2); |
- EXPECT_TRUE(program->CheckVaryingsPacking()); |
+ EXPECT_TRUE( |
+ program->CheckVaryingsPacking(Program::kCountOnlyStaticallyUsed)); |
EXPECT_TRUE(LinkAsExpected(program, true)); |
} |
+// Varyings go over 8 rows but some are inactive. |
+// However, we still fail the check if kCountAll option is used. |
+TEST_F(ProgramManagerWithShaderTest, CountAllVaryingsInPacking) { |
+ const VarInfo kVertexVaryings[] = { |
+ { SH_FLOAT_VEC4, 4, SH_PRECISION_MEDIUMP, 1, "a", kVarVarying }, |
+ { SH_FLOAT_VEC4, 5, SH_PRECISION_MEDIUMP, 1, "b", kVarVarying } |
+ }; |
+ const VarInfo kFragmentVaryings[] = { |
+ { SH_FLOAT_VEC4, 4, SH_PRECISION_MEDIUMP, 0, "a", kVarVarying }, |
+ { SH_FLOAT_VEC4, 5, SH_PRECISION_MEDIUMP, 1, "b", kVarVarying } |
+ }; |
+ Program* program = SetupShaderVariableTest( |
+ kVertexVaryings, 2, kFragmentVaryings, 2); |
+ |
+ EXPECT_FALSE(program->CheckVaryingsPacking(Program::kCountAll)); |
+} |
+ |
TEST_F(ProgramManagerWithShaderTest, ClearWithSamplerTypes) { |
const GLuint kVShaderClientId = 2001; |
const GLuint kFShaderClientId = 2002; |