Index: gpu/command_buffer/service/shader_manager.h |
diff --git a/gpu/command_buffer/service/shader_manager.h b/gpu/command_buffer/service/shader_manager.h |
index 3288bffb3bb5ed68e3b857bfc59f72a38643c7d7..186937174c3a0b26af0d454936c426f4204621e9 100644 |
--- a/gpu/command_buffer/service/shader_manager.h |
+++ b/gpu/command_buffer/service/shader_manager.h |
@@ -88,6 +88,8 @@ class GPU_EXPORT Shader : public base::RefCounted<Shader> { |
const sh::Varying* GetVaryingInfo(const std::string& name) const; |
const sh::InterfaceBlock* GetInterfaceBlockInfo( |
const std::string& name) const; |
+ const sh::OutputVariable* GetOutputVariableInfo( |
+ const std::string& name) const; |
// If the original_name is not found, return NULL. |
const std::string* GetAttribMappedName( |
@@ -105,6 +107,10 @@ class GPU_EXPORT Shader : public base::RefCounted<Shader> { |
const std::string* GetInterfaceBlockMappedName( |
const std::string& original_name) const; |
+ // If the original_name is not found, return NULL. |
+ const std::string* GetOutputVariableMappedName( |
+ const std::string& original_name) const; |
+ |
// If the hashed_name is not found, return NULL. |
const std::string* GetOriginalNameFromHashedName( |
const std::string& hashed_name) const; |
@@ -144,6 +150,10 @@ class GPU_EXPORT Shader : public base::RefCounted<Shader> { |
return varying_map_; |
} |
+ const OutputVariableList& output_variable_list() const { |
+ return output_variable_list_; |
+ } |
+ |
// Used by program cache. |
const InterfaceBlockMap& interface_block_map() const { |
return interface_block_map_; |
@@ -177,6 +187,12 @@ class GPU_EXPORT Shader : public base::RefCounted<Shader> { |
uniform_map_[uniform.mappedName] = uniform; |
} |
+ void set_output_variable_list( |
+ const OutputVariableList& output_variable_list) { |
+ // copied because cache might be cleared |
+ output_variable_list_ = output_variable_list; |
+ } |
+ |
private: |
friend class base::RefCounted<Shader>; |
friend class ShaderManager; |
@@ -237,6 +253,7 @@ class GPU_EXPORT Shader : public base::RefCounted<Shader> { |
UniformMap uniform_map_; |
VaryingMap varying_map_; |
InterfaceBlockMap interface_block_map_; |
+ OutputVariableList output_variable_list_; |
// The name hashing info when the shader was last compiled. |
NameMap name_map_; |