summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/shader_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer/service/shader_manager.h')
-rw-r--r--gpu/command_buffer/service/shader_manager.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/shader_manager.h b/gpu/command_buffer/service/shader_manager.h
index 3288bff..1869371 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_;