| 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 eff11c1ca0343762df7ba22a8f9de6f1771d4eab..e5b3f6b18473ebb731c780066620bdfdc1489edf 100644
|
| --- a/gpu/command_buffer/service/shader_translator_unittest.cc
|
| +++ b/gpu/command_buffer/service/shader_translator_unittest.cc
|
| @@ -98,16 +98,13 @@ TEST_F(ShaderTranslatorTest, ValidVertexShader) {
|
| UniformMap uniform_map;
|
| VaryingMap varying_map;
|
| InterfaceBlockMap interface_block_map;
|
| + OutputVariableList output_variable_list;
|
| NameMap name_map;
|
| - EXPECT_TRUE(vertex_translator_->Translate(shader,
|
| - &info_log,
|
| - &translated_source,
|
| - &shader_version,
|
| - &attrib_map,
|
| - &uniform_map,
|
| - &varying_map,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_TRUE(vertex_translator_->Translate(
|
| + shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| +
|
| // Info log must be NULL.
|
| EXPECT_TRUE(info_log.empty());
|
| // Translated shader must be valid and non-empty.
|
| @@ -118,6 +115,7 @@ TEST_F(ShaderTranslatorTest, ValidVertexShader) {
|
| EXPECT_TRUE(uniform_map.empty());
|
| EXPECT_TRUE(interface_block_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());
|
| }
|
| @@ -136,16 +134,12 @@ TEST_F(ShaderTranslatorTest, InvalidVertexShader) {
|
| UniformMap uniform_map;
|
| VaryingMap varying_map;
|
| InterfaceBlockMap interface_block_map;
|
| + OutputVariableList 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,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_FALSE(vertex_translator_->Translate(
|
| + bad_shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| // Info log must be valid and non-empty.
|
| ASSERT_FALSE(info_log.empty());
|
| // Translated shader must be NULL.
|
| @@ -156,19 +150,15 @@ TEST_F(ShaderTranslatorTest, InvalidVertexShader) {
|
| EXPECT_TRUE(uniform_map.empty());
|
| EXPECT_TRUE(varying_map.empty());
|
| EXPECT_TRUE(interface_block_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,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_TRUE(vertex_translator_->Translate(
|
| + good_shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| EXPECT_TRUE(info_log.empty());
|
| EXPECT_FALSE(translated_source.empty());
|
| EXPECT_TRUE(interface_block_map.empty());
|
| @@ -187,16 +177,12 @@ TEST_F(ShaderTranslatorTest, ValidFragmentShader) {
|
| UniformMap uniform_map;
|
| VaryingMap varying_map;
|
| InterfaceBlockMap interface_block_map;
|
| + OutputVariableList output_variable_list;
|
| NameMap name_map;
|
| - EXPECT_TRUE(fragment_translator_->Translate(shader,
|
| - &info_log,
|
| - &translated_source,
|
| - &shader_version,
|
| - &attrib_map,
|
| - &uniform_map,
|
| - &varying_map,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_TRUE(fragment_translator_->Translate(
|
| + shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| // Info log must be NULL.
|
| EXPECT_TRUE(info_log.empty());
|
| // Translated shader must be valid and non-empty.
|
| @@ -208,6 +194,8 @@ TEST_F(ShaderTranslatorTest, ValidFragmentShader) {
|
| EXPECT_TRUE(varying_map.empty());
|
| EXPECT_TRUE(interface_block_map.empty());
|
| EXPECT_TRUE(name_map.empty());
|
| + // gl_FragColor.
|
| + EXPECT_EQ(1u, output_variable_list.size());
|
| }
|
|
|
| TEST_F(ShaderTranslatorTest, InvalidFragmentShader) {
|
| @@ -219,17 +207,13 @@ TEST_F(ShaderTranslatorTest, InvalidFragmentShader) {
|
| UniformMap uniform_map;
|
| VaryingMap varying_map;
|
| InterfaceBlockMap interface_block_map;
|
| + OutputVariableList 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,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_FALSE(fragment_translator_->Translate(
|
| + shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| // Info log must be valid and non-empty.
|
| EXPECT_FALSE(info_log.empty());
|
| // Translated shader must be NULL.
|
| @@ -239,6 +223,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());
|
| }
|
|
|
| @@ -255,16 +240,12 @@ TEST_F(ShaderTranslatorTest, GetAttributes) {
|
| UniformMap uniform_map;
|
| VaryingMap varying_map;
|
| InterfaceBlockMap interface_block_map;
|
| + OutputVariableList output_variable_list;
|
| NameMap name_map;
|
| - EXPECT_TRUE(vertex_translator_->Translate(shader,
|
| - &info_log,
|
| - &translated_source,
|
| - &shader_version,
|
| - &attrib_map,
|
| - &uniform_map,
|
| - &varying_map,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_TRUE(vertex_translator_->Translate(
|
| + shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| // Info log must be NULL.
|
| EXPECT_TRUE(info_log.empty());
|
| // Translated shader must be valid and non-empty.
|
| @@ -303,16 +284,12 @@ TEST_F(ShaderTranslatorTest, GetUniforms) {
|
| UniformMap uniform_map;
|
| VaryingMap varying_map;
|
| InterfaceBlockMap interface_block_map;
|
| + OutputVariableList output_variable_list;
|
| NameMap name_map;
|
| - EXPECT_TRUE(fragment_translator_->Translate(shader,
|
| - &info_log,
|
| - &translated_source,
|
| - &shader_version,
|
| - &attrib_map,
|
| - &uniform_map,
|
| - &varying_map,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_TRUE(fragment_translator_->Translate(
|
| + shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| // Info log must be NULL.
|
| EXPECT_TRUE(info_log.empty());
|
| // Translated shader must be valid and non-empty.
|
| @@ -344,6 +321,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");
|
| }
|
|
|
|
|
| @@ -372,16 +352,12 @@ TEST_F(ES3ShaderTranslatorTest, InvalidInterfaceBlocks) {
|
| UniformMap uniform_map;
|
| VaryingMap varying_map;
|
| InterfaceBlockMap interface_block_map;
|
| + OutputVariableList output_variable_list;
|
| NameMap name_map;
|
| - EXPECT_FALSE(fragment_translator_->Translate(shader,
|
| - &info_log,
|
| - &translated_source,
|
| - &shader_version,
|
| - &attrib_map,
|
| - &uniform_map,
|
| - &varying_map,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_FALSE(fragment_translator_->Translate(
|
| + shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| // Info log must be valid and non-empty.
|
| ASSERT_FALSE(info_log.empty());
|
| // Translated shader must be NULL.
|
| @@ -415,16 +391,12 @@ TEST_F(ES3ShaderTranslatorTest, GetInterfaceBlocks) {
|
| UniformMap uniform_map;
|
| VaryingMap varying_map;
|
| InterfaceBlockMap interface_block_map;
|
| + OutputVariableList output_variable_list;
|
| NameMap name_map;
|
| - EXPECT_TRUE(fragment_translator_->Translate(shader,
|
| - &info_log,
|
| - &translated_source,
|
| - &shader_version,
|
| - &attrib_map,
|
| - &uniform_map,
|
| - &varying_map,
|
| - &interface_block_map,
|
| - &name_map));
|
| + EXPECT_TRUE(fragment_translator_->Translate(
|
| + shader, &info_log, &translated_source, &shader_version, &attrib_map,
|
| + &uniform_map, &varying_map, &interface_block_map, &output_variable_list,
|
| + &name_map));
|
| // Info log must be NULL.
|
| EXPECT_TRUE(info_log.empty());
|
| // Translated shader must be valid and non-empty.
|
| @@ -509,7 +481,7 @@ TEST_P(ShaderTranslatorOutputVersionTest, HasCorrectOutputGLSLVersion) {
|
| int shader_version;
|
| EXPECT_TRUE(translator->Translate(kShader, nullptr, &translated_source,
|
| &shader_version, nullptr, nullptr, nullptr,
|
| - nullptr, nullptr));
|
| + nullptr, nullptr, nullptr));
|
|
|
| std::string expected_version_directive = testing::get<1>(GetParam());
|
| if (expected_version_directive.empty()) {
|
|
|