Revert "The global invariant pragma must not leak across compilations."
This reverts commit ae2e19188cf0a9b035a27143f585df10e72ffabd.
Change-Id: I017ba4ba9baa633793d7bdd9691c580ed7016cde
Reviewed-on: https://chromium-review.googlesource.com/358410
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
diff --git a/src/compiler/translator/Compiler.cpp b/src/compiler/translator/Compiler.cpp
index 73420d3..3c7742a 100644
--- a/src/compiler/translator/Compiler.cpp
+++ b/src/compiler/translator/Compiler.cpp
@@ -246,7 +246,10 @@
if (success)
{
mPragma = parseContext.pragma();
- symbolTable.setGlobalInvariant(mPragma.stdgl.invariantAll);
+ if (mPragma.stdgl.invariantAll)
+ {
+ symbolTable.setGlobalInvariant();
+ }
root = parseContext.getTreeRoot();
root = intermediate.postProcess(root);
diff --git a/src/compiler/translator/SymbolTable.h b/src/compiler/translator/SymbolTable.h
index a3ca98f..6de7c98 100644
--- a/src/compiler/translator/SymbolTable.h
+++ b/src/compiler/translator/SymbolTable.h
@@ -469,7 +469,8 @@
mInvariantVaryings.count(originalName) > 0);
}
- void setGlobalInvariant(bool invariant) { mGlobalInvariant = invariant; }
+ void setGlobalInvariant() { mGlobalInvariant = true; }
+ bool getGlobalInvariant() const { return mGlobalInvariant; }
static int nextUniqueId()
{