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