Index: gpu/command_buffer/service/shader_translator_unittest.cc |
diff --git a/gpu/command_buffer/service/shader_translator_unittest.cc b/gpu/command_buffer/service/shader_translator_unittest.cc |
index 0c60b44c5a63853badb359d0a7f8618be4249c97..9ccbe1804a6fc0dcc2b0801a5f3f5b239d9f5109 100644 |
--- a/gpu/command_buffer/service/shader_translator_unittest.cc |
+++ b/gpu/command_buffer/service/shader_translator_unittest.cc |
@@ -60,15 +60,11 @@ TEST_F(ShaderTranslatorTest, ValidVertexShader) { |
AttributeMap attrib_map; |
UniformMap uniform_map; |
VaryingMap varying_map; |
+ AttributeList output_variable_list; |
NameMap name_map; |
- EXPECT_TRUE(vertex_translator_->Translate(shader, |
- &info_log, |
- &translated_source, |
- &shader_version, |
- &attrib_map, |
- &uniform_map, |
- &varying_map, |
- &name_map)); |
+ EXPECT_TRUE(vertex_translator_->Translate( |
+ shader, &info_log, &translated_source, &shader_version, &attrib_map, |
+ &uniform_map, &varying_map, &output_variable_list, &name_map)); |
// Info log must be NULL. |
EXPECT_TRUE(info_log.empty()); |
// Translated shader must be valid and non-empty. |
@@ -78,6 +74,7 @@ TEST_F(ShaderTranslatorTest, ValidVertexShader) { |
EXPECT_TRUE(attrib_map.empty()); |
EXPECT_TRUE(uniform_map.empty()); |
EXPECT_EQ(1u, varying_map.size()); |
+ EXPECT_TRUE(output_variable_list.empty()); |
// There should be no name mapping. |
EXPECT_TRUE(name_map.empty()); |
} |
@@ -95,15 +92,11 @@ TEST_F(ShaderTranslatorTest, InvalidVertexShader) { |
AttributeMap attrib_map; |
UniformMap uniform_map; |
VaryingMap varying_map; |
+ AttributeList output_variable_list; |
NameMap name_map; |
- EXPECT_FALSE(vertex_translator_->Translate(bad_shader, |
- &info_log, |
- &translated_source, |
- &shader_version, |
- &attrib_map, |
- &uniform_map, |
- &varying_map, |
- &name_map)); |
+ EXPECT_FALSE(vertex_translator_->Translate( |
+ bad_shader, &info_log, &translated_source, &shader_version, &attrib_map, |
+ &uniform_map, &varying_map, &output_variable_list, &name_map)); |
// Info log must be valid and non-empty. |
ASSERT_FALSE(info_log.empty()); |
// Translated shader must be NULL. |
@@ -112,18 +105,14 @@ TEST_F(ShaderTranslatorTest, InvalidVertexShader) { |
EXPECT_TRUE(attrib_map.empty()); |
EXPECT_TRUE(uniform_map.empty()); |
EXPECT_TRUE(varying_map.empty()); |
+ EXPECT_TRUE(output_variable_list.empty()); |
EXPECT_TRUE(name_map.empty()); |
// Try a good shader after bad. |
info_log.clear(); |
- EXPECT_TRUE(vertex_translator_->Translate(good_shader, |
- &info_log, |
- &translated_source, |
- &shader_version, |
- &attrib_map, |
- &uniform_map, |
- &varying_map, |
- &name_map)); |
+ EXPECT_TRUE(vertex_translator_->Translate( |
+ good_shader, &info_log, &translated_source, &shader_version, &attrib_map, |
+ &uniform_map, &varying_map, &output_variable_list, &name_map)); |
EXPECT_TRUE(info_log.empty()); |
EXPECT_FALSE(translated_source.empty()); |
} |
@@ -140,15 +129,11 @@ TEST_F(ShaderTranslatorTest, ValidFragmentShader) { |
AttributeMap attrib_map; |
UniformMap uniform_map; |
VaryingMap varying_map; |
+ AttributeList output_variable_list; |
NameMap name_map; |
- EXPECT_TRUE(fragment_translator_->Translate(shader, |
- &info_log, |
- &translated_source, |
- &shader_version, |
- &attrib_map, |
- &uniform_map, |
- &varying_map, |
- &name_map)); |
+ EXPECT_TRUE(fragment_translator_->Translate( |
+ shader, &info_log, &translated_source, &shader_version, &attrib_map, |
+ &uniform_map, &varying_map, &output_variable_list, &name_map)); |
// Info log must be NULL. |
EXPECT_TRUE(info_log.empty()); |
// Translated shader must be valid and non-empty. |
@@ -158,6 +143,8 @@ TEST_F(ShaderTranslatorTest, ValidFragmentShader) { |
EXPECT_TRUE(uniform_map.empty()); |
EXPECT_TRUE(varying_map.empty()); |
EXPECT_TRUE(name_map.empty()); |
+ // gl_FragColor. |
+ EXPECT_EQ(1u, output_variable_list.size()); |
} |
TEST_F(ShaderTranslatorTest, InvalidFragmentShader) { |
@@ -168,16 +155,12 @@ TEST_F(ShaderTranslatorTest, InvalidFragmentShader) { |
AttributeMap attrib_map; |
UniformMap uniform_map; |
VaryingMap varying_map; |
+ AttributeList output_variable_list; |
NameMap name_map; |
// An invalid shader should fail. |
- EXPECT_FALSE(fragment_translator_->Translate(shader, |
- &info_log, |
- &translated_source, |
- &shader_version, |
- &attrib_map, |
- &uniform_map, |
- &varying_map, |
- &name_map)); |
+ EXPECT_FALSE(fragment_translator_->Translate( |
+ shader, &info_log, &translated_source, &shader_version, &attrib_map, |
+ &uniform_map, &varying_map, &output_variable_list, &name_map)); |
// Info log must be valid and non-empty. |
EXPECT_FALSE(info_log.empty()); |
// Translated shader must be NULL. |
@@ -186,6 +169,7 @@ TEST_F(ShaderTranslatorTest, InvalidFragmentShader) { |
EXPECT_TRUE(attrib_map.empty()); |
EXPECT_TRUE(uniform_map.empty()); |
EXPECT_TRUE(varying_map.empty()); |
+ EXPECT_TRUE(output_variable_list.empty()); |
EXPECT_TRUE(name_map.empty()); |
} |
@@ -201,15 +185,11 @@ TEST_F(ShaderTranslatorTest, GetAttributes) { |
AttributeMap attrib_map; |
UniformMap uniform_map; |
VaryingMap varying_map; |
+ AttributeList output_variable_list; |
NameMap name_map; |
- EXPECT_TRUE(vertex_translator_->Translate(shader, |
- &info_log, |
- &translated_source, |
- &shader_version, |
- &attrib_map, |
- &uniform_map, |
- &varying_map, |
- &name_map)); |
+ EXPECT_TRUE(vertex_translator_->Translate( |
+ shader, &info_log, &translated_source, &shader_version, &attrib_map, |
+ &uniform_map, &varying_map, &output_variable_list, &name_map)); |
// Info log must be NULL. |
EXPECT_TRUE(info_log.empty()); |
// Translated shader must be valid and non-empty. |
@@ -245,15 +225,11 @@ TEST_F(ShaderTranslatorTest, GetUniforms) { |
AttributeMap attrib_map; |
UniformMap uniform_map; |
VaryingMap varying_map; |
+ AttributeList output_variable_list; |
NameMap name_map; |
- EXPECT_TRUE(fragment_translator_->Translate(shader, |
- &info_log, |
- &translated_source, |
- &shader_version, |
- &attrib_map, |
- &uniform_map, |
- &varying_map, |
- &name_map)); |
+ EXPECT_TRUE(fragment_translator_->Translate( |
+ shader, &info_log, &translated_source, &shader_version, &attrib_map, |
+ &uniform_map, &varying_map, &output_variable_list, &name_map)); |
// Info log must be NULL. |
EXPECT_TRUE(info_log.empty()); |
// Translated shader must be valid and non-empty. |
@@ -283,6 +259,9 @@ TEST_F(ShaderTranslatorTest, GetUniforms) { |
EXPECT_EQ(1u, info->arraySize); |
EXPECT_STREQ("color", info->name.c_str()); |
EXPECT_STREQ("bar[1].foo.color[0]", original_name.c_str()); |
+ EXPECT_EQ(1u, output_variable_list.size()); |
+ ASSERT_TRUE(output_variable_list.size() > 0); |
+ EXPECT_EQ(output_variable_list[0].mappedName, "gl_FragColor"); |
} |
TEST_F(ShaderTranslatorTest, OptionsString) { |
@@ -352,7 +331,7 @@ TEST_P(ShaderTranslatorOutputVersionTest, HasCorrectOutputGLSLVersion) { |
int shader_version; |
EXPECT_TRUE(translator->Translate(kShader, nullptr, &translated_source, |
&shader_version, nullptr, nullptr, nullptr, |
- nullptr)); |
+ nullptr, nullptr)); |
std::string expected_version_directive = testing::get<1>(GetParam()); |
if (expected_version_directive.empty()) { |