| // |
| // Copyright 2002 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| |
| #ifndef COMPILER_TRANSLATOR_HASHNAMES_H_ |
| #define COMPILER_TRANSLATOR_HASHNAMES_H_ |
| |
| #include <map> |
| |
| #include "GLSLANG/ShaderLang.h" |
| #include "compiler/translator/Common.h" |
| |
| namespace sh |
| { |
| |
| typedef std::map<TPersistString, TPersistString> NameMap; |
| |
| class ImmutableString; |
| class TSymbol; |
| |
| ImmutableString HashName(const ImmutableString &name, |
| ShHashFunction64 hashFunction, |
| NameMap *nameMap); |
| |
| // Hash user-defined name for GLSL output, with special handling for internal names. |
| // The nameMap parameter is optional and is used to cache hashed names if set. |
| ImmutableString HashName(const TSymbol *symbol, ShHashFunction64 hashFunction, NameMap *nameMap); |
| |
| } // namespace sh |
| |
| #endif // COMPILER_TRANSLATOR_HASHNAMES_H_ |