Make unique id counter a member of TSymbolTable
This makes unique id counting thread-safe.
BUG=angleproject:624
TEST=angle_unittests
Change-Id: Ie0f2c7e574470b39750d37d2181c790bc874b275
Reviewed-on: https://chromium-review.googlesource.com/570419
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/OutputGLSLBase.cpp b/src/compiler/translator/OutputGLSLBase.cpp
index 7d4a9ae..23ec8e1 100644
--- a/src/compiler/translator/OutputGLSLBase.cpp
+++ b/src/compiler/translator/OutputGLSLBase.cpp
@@ -121,18 +121,17 @@
ShArrayIndexClampingStrategy clampingStrategy,
ShHashFunction64 hashFunction,
NameMap &nameMap,
- TSymbolTable &symbolTable,
+ TSymbolTable *symbolTable,
sh::GLenum shaderType,
int shaderVersion,
ShShaderOutput output,
ShCompileOptions compileOptions)
- : TIntermTraverser(true, true, true),
+ : TIntermTraverser(true, true, true, symbolTable),
mObjSink(objSink),
mDeclaringVariables(false),
mClampingStrategy(clampingStrategy),
mHashFunction(hashFunction),
mNameMap(nameMap),
- mSymbolTable(symbolTable),
mShaderType(shaderType),
mShaderVersion(shaderVersion),
mOutput(output),
@@ -600,7 +599,7 @@
const TField *field = structure->fields()[index->getIConst(0)];
TString fieldName = field->name();
- if (!mSymbolTable.findBuiltIn(structure->name(), mShaderVersion))
+ if (!mSymbolTable->findBuiltIn(structure->name(), mShaderVersion))
fieldName = hashName(TName(fieldName));
out << fieldName;
@@ -617,7 +616,7 @@
const TField *field = interfaceBlock->fields()[index->getIConst(0)];
TString fieldName = field->name();
- ASSERT(!mSymbolTable.findBuiltIn(interfaceBlock->name(), mShaderVersion));
+ ASSERT(!mSymbolTable->findBuiltIn(interfaceBlock->name(), mShaderVersion));
fieldName = hashName(TName(fieldName));
out << fieldName;
@@ -1168,7 +1167,7 @@
TString TOutputGLSLBase::hashVariableName(const TName &name)
{
- if (mSymbolTable.findBuiltIn(name.getString(), mShaderVersion) != nullptr)
+ if (mSymbolTable->findBuiltIn(name.getString(), mShaderVersion) != nullptr)
{
if (mCompileOptions & SH_TRANSLATE_VIEWID_OVR_TO_UNIFORM &&
name.getString() == "gl_ViewID_OVR")