Index: gpu/command_buffer/service/shader_manager.cc |
diff --git a/gpu/command_buffer/service/shader_manager.cc b/gpu/command_buffer/service/shader_manager.cc |
index 23018ee2688d6ebf9c19a08ac6a7f9bd1d085d1d..08b2a0fdcced6fcf661303f57067dcb92d5cf647 100644 |
--- a/gpu/command_buffer/service/shader_manager.cc |
+++ b/gpu/command_buffer/service/shader_manager.cc |
@@ -69,14 +69,10 @@ void Shader::DoCompile() { |
const char* source_for_driver = last_compiled_source_.c_str(); |
ShaderTranslatorInterface* translator = translator_.get(); |
if (translator) { |
- bool success = translator->Translate(last_compiled_source_, |
- &log_info_, |
- &translated_source_, |
- &shader_version_, |
- &attrib_map_, |
- &uniform_map_, |
- &varying_map_, |
- &name_map_); |
+ bool success = translator->Translate( |
+ last_compiled_source_, &log_info_, &translated_source_, |
+ &shader_version_, &attrib_map_, &uniform_map_, &varying_map_, |
+ &output_variable_list_, &name_map_); |
if (!success) { |
return; |
} |
@@ -201,6 +197,16 @@ const sh::Varying* Shader::GetVaryingInfo(const std::string& name) const { |
return it != varying_map_.end() ? &it->second : NULL; |
} |
+const sh::Attribute* Shader::GetOutputVariableInfo( |
+ const std::string& original_name) const { |
+ auto iter = |
+ std::find_if(output_variable_list_.begin(), output_variable_list_.end(), |
+ [original_name](const sh::Attribute& output_var) { |
+ return output_var.mappedName == original_name; |
Zhenyao Mo
2015/08/31 21:12:31
This looks incorrect. It should be output_var.ori
Kimmo Kinnunen
2015/09/24 13:16:28
Done.
|
+ }); |
+ return iter != output_variable_list_.end() ? &(*iter) : nullptr; |
+} |
+ |
ShaderManager::ShaderManager() {} |
ShaderManager::~ShaderManager() { |