1 // 2 // Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 #ifndef COMPILER_TRANSLATOR_HASHNAMES_H_ 8 #define COMPILER_TRANSLATOR_HASHNAMES_H_ 9 10 #include <map> 11 12 #include "GLSLANG/ShaderLang.h" 13 #include "compiler/translator/Common.h" 14 15 namespace sh 16 { 17 18 typedef std::map<TPersistString, TPersistString> NameMap; 19 20 class TName; 21 22 // Hash user-defined name for GLSL output, with special handling for internal names. 23 // The nameMap parameter is optional and is used to cache hashed names if set. 24 TString HashName(const TName &name, ShHashFunction64 hashFunction, NameMap *nameMap); 25 26 } // namespace sh 27 28 #endif // COMPILER_TRANSLATOR_HASHNAMES_H_ 29