summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/compiler/translator/HashNames.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/compiler/translator/HashNames.cpp')
-rw-r--r--src/3rdparty/angle/src/compiler/translator/HashNames.cpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/3rdparty/angle/src/compiler/translator/HashNames.cpp b/src/3rdparty/angle/src/compiler/translator/HashNames.cpp
deleted file mode 100644
index 6bc90faf94..0000000000
--- a/src/3rdparty/angle/src/compiler/translator/HashNames.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// Copyright (c) 2017 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.
-//
-
-#include "compiler/translator/HashNames.h"
-
-#include "compiler/translator/IntermNode.h"
-
-namespace sh
-{
-
-namespace
-{
-
-// GLSL ES 3.00.6 section 3.9: the maximum length of an identifier is 1024 characters.
-static const unsigned int kESSLMaxIdentifierLength = 1024u;
-
-static const char *kHashedNamePrefix = "webgl_";
-
-// Can't prefix with just _ because then we might introduce a double underscore, which is not safe
-// in GLSL (ESSL 3.00.6 section 3.8: All identifiers containing a double underscore are reserved for
-// use by the underlying implementation). u is short for user-defined.
-static const char *kUnhashedNamePrefix = "_u";
-static const unsigned int kUnhashedNamePrefixLength = 2u;
-
-TString HashName(const TString &name, ShHashFunction64 hashFunction)
-{
- ASSERT(!name.empty());
- ASSERT(hashFunction);
- khronos_uint64_t number = (*hashFunction)(name.c_str(), name.length());
- TStringStream stream;
- stream << kHashedNamePrefix << std::hex << number;
- TString hashedName = stream.str();
- return hashedName;
-}
-
-} // anonymous namespace
-
-TString HashName(const TName &name, ShHashFunction64 hashFunction, NameMap *nameMap)
-{
- if (name.getString().empty() || name.isInternal())
- {
- return name.getString();
- }
- if (hashFunction == nullptr)
- {
- if (name.getString().length() + kUnhashedNamePrefixLength > kESSLMaxIdentifierLength)
- {
- // If the identifier length is already close to the limit, we can't prefix it. This is
- // not a problem since there are no builtins or ANGLE's internal variables that would
- // have as long names and could conflict.
- return name.getString();
- }
- return kUnhashedNamePrefix + name.getString();
- }
- if (nameMap)
- {
- NameMap::const_iterator it = nameMap->find(name.getString().c_str());
- if (it != nameMap->end())
- return it->second.c_str();
- }
- TString hashedName = HashName(name.getString(), hashFunction);
- if (nameMap)
- {
- (*nameMap)[name.getString().c_str()] = hashedName.c_str();
- }
- return hashedName;
-}
-
-} // namespace sh