| Index: gpu/command_buffer/service/shader_translator.cc
|
| diff --git a/gpu/command_buffer/service/shader_translator.cc b/gpu/command_buffer/service/shader_translator.cc
|
| index 92c7f9d39085b39d59ca31be572a54a02dec265d..255caffc691d95efea9cb22c4cae85d0991ea263 100644
|
| --- a/gpu/command_buffer/service/shader_translator.cc
|
| +++ b/gpu/command_buffer/service/shader_translator.cc
|
| @@ -71,6 +71,11 @@ void GetVaryings(ShHandle compiler, VaryingMap* var_map) {
|
| (*var_map)[(*varyings)[ii].mappedName] = (*varyings)[ii];
|
| }
|
| }
|
| +void GetOutputVariables(ShHandle compiler, OutputVariableList* var_list) {
|
| + if (!var_list)
|
| + return;
|
| + *var_list = *ShGetOutputVariables(compiler);
|
| +}
|
|
|
| void GetInterfaceBlocks(ShHandle compiler, InterfaceBlockMap* var_map) {
|
| if (!var_map)
|
| @@ -206,6 +211,7 @@ bool ShaderTranslator::Translate(const std::string& shader_source,
|
| UniformMap* uniform_map,
|
| VaryingMap* varying_map,
|
| InterfaceBlockMap* interface_block_map,
|
| + OutputVariableList* output_variable_list,
|
| NameMap* name_map) const {
|
| // Make sure this instance is initialized.
|
| DCHECK(compiler_ != NULL);
|
| @@ -224,11 +230,12 @@ bool ShaderTranslator::Translate(const std::string& shader_source,
|
| }
|
| // Get shader version.
|
| *shader_version = ShGetShaderVersion(compiler_);
|
| - // Get info for attribs, uniforms, and varyings.
|
| + // Get info for attribs, uniforms, varyings and output variables.
|
| GetAttributes(compiler_, attrib_map);
|
| GetUniforms(compiler_, uniform_map);
|
| GetVaryings(compiler_, varying_map);
|
| GetInterfaceBlocks(compiler_, interface_block_map);
|
| + GetOutputVariables(compiler_, output_variable_list);
|
| // Get info for name hashing.
|
| GetNameHashingInfo(compiler_, name_map);
|
| }
|
|
|