Index: gpu/command_buffer/service/shader_translator.h |
diff --git a/gpu/command_buffer/service/shader_translator.h b/gpu/command_buffer/service/shader_translator.h |
index 57a198e22f9f603c9979c92da9f3743ac828eb41..ff9d741cd38bbbe5e4026c39382115331d955e0c 100644 |
--- a/gpu/command_buffer/service/shader_translator.h |
+++ b/gpu/command_buffer/service/shader_translator.h |
@@ -18,6 +18,13 @@ |
namespace gpu { |
namespace gles2 { |
+// Mapping between variable name and info. |
+typedef base::hash_map<std::string, sh::Attribute> AttributeMap; |
+typedef base::hash_map<std::string, sh::Uniform> UniformMap; |
+typedef base::hash_map<std::string, sh::Varying> VaryingMap; |
+// Mapping between hashed name and original name. |
+typedef base::hash_map<std::string, std::string> NameMap; |
+ |
// Translates a GLSL ES 2.0 shader to desktop GLSL shader, or just |
// validates GLSL ES 2.0 shaders on a true GLSL ES implementation. |
class ShaderTranslatorInterface { |
@@ -27,42 +34,6 @@ class ShaderTranslatorInterface { |
kGlslES |
}; |
- struct VariableInfo { |
- VariableInfo() |
- : type(0), |
- size(0), |
- precision(SH_PRECISION_UNDEFINED), |
- static_use(0) { |
- } |
- |
- VariableInfo(int _type, int _size, int _precision, |
- int _static_use, std::string _name) |
- : type(_type), |
- size(_size), |
- precision(_precision), |
- static_use(_static_use), |
- name(_name) { |
- } |
- bool operator==( |
- const ShaderTranslatorInterface::VariableInfo& other) const { |
- return type == other.type && |
- size == other.size && |
- precision == other.precision && |
- strcmp(name.c_str(), other.name.c_str()) == 0; |
- } |
- |
- int type; |
- int size; |
- int precision; |
- int static_use; |
- std::string name; // name in the original shader source. |
- }; |
- |
- // Mapping between variable name and info. |
- typedef base::hash_map<std::string, VariableInfo> VariableMap; |
- // Mapping between hashed name and original name. |
- typedef base::hash_map<std::string, std::string> NameMap; |
- |
// Initializes the translator. |
// Must be called once before using the translator object. |
virtual bool Init( |
@@ -80,9 +51,9 @@ class ShaderTranslatorInterface { |
virtual bool Translate(const std::string& shader_source, |
std::string* info_log, |
std::string* translated_shader, |
- VariableMap* attrib_map, |
- VariableMap* uniform_map, |
- VariableMap* varying_map, |
+ AttributeMap* attrib_map, |
+ UniformMap* uniform_map, |
+ VaryingMap* varying_map, |
NameMap* name_map) const = 0; |
// Return a string that is unique for a specfic set of options that would |
@@ -123,9 +94,9 @@ class GPU_EXPORT ShaderTranslator |
virtual bool Translate(const std::string& shader_source, |
std::string* info_log, |
std::string* translated_source, |
- VariableMap* attrib_map, |
- VariableMap* uniform_map, |
- VariableMap* varying_map, |
+ AttributeMap* attrib_map, |
+ UniformMap* uniform_map, |
+ VaryingMap* varying_map, |
NameMap* name_map) const override; |
virtual std::string GetStringForOptionsThatWouldAffectCompilation() const |