Commit aaa55bfa by Olli Etuaho Committed by Commit Bot

Index symbols by id in ValidateOutputs

This is cleaner than indexing them by their name string. BUG=angleproject:2267 TEST=angle_unittests Change-Id: I6cdc4125fadb6c7049ad8664e8a66da2a9a5bb8d Reviewed-on: https://chromium-review.googlesource.com/836892 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 06f86377
...@@ -43,7 +43,7 @@ class ValidateOutputsTraverser : public TIntermTraverser ...@@ -43,7 +43,7 @@ class ValidateOutputsTraverser : public TIntermTraverser
OutputVector mOutputs; OutputVector mOutputs;
OutputVector mUnspecifiedLocationOutputs; OutputVector mUnspecifiedLocationOutputs;
OutputVector mYuvOutputs; OutputVector mYuvOutputs;
std::set<std::string> mVisitedSymbols; std::set<int> mVisitedSymbols; // Visited symbol ids.
}; };
ValidateOutputsTraverser::ValidateOutputsTraverser(const TExtensionBehavior &extBehavior, ValidateOutputsTraverser::ValidateOutputsTraverser(const TExtensionBehavior &extBehavior,
...@@ -58,14 +58,15 @@ ValidateOutputsTraverser::ValidateOutputsTraverser(const TExtensionBehavior &ext ...@@ -58,14 +58,15 @@ ValidateOutputsTraverser::ValidateOutputsTraverser(const TExtensionBehavior &ext
void ValidateOutputsTraverser::visitSymbol(TIntermSymbol *symbol) void ValidateOutputsTraverser::visitSymbol(TIntermSymbol *symbol)
{ {
TString name = symbol->getSymbol(); if (symbol->variable().symbolType() == SymbolType::Empty)
TQualifier qualifier = symbol->getQualifier(); return;
if (mVisitedSymbols.count(name.c_str()) == 1) if (mVisitedSymbols.count(symbol->uniqueId().get()) == 1)
return; return;
mVisitedSymbols.insert(name.c_str()); mVisitedSymbols.insert(symbol->uniqueId().get());
TQualifier qualifier = symbol->getQualifier();
if (qualifier == EvqFragmentOut) if (qualifier == EvqFragmentOut)
{ {
if (symbol->getType().getLayoutQualifier().location != -1) if (symbol->getType().getLayoutQualifier().location != -1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment