Commit ae2e1918 by Kenneth Russell Committed by Zhenyao Mo

The global invariant pragma must not leak across compilations.

BUG=chromium:625363 TEST=conformance/glsl/bugs/global-invariant-does-not-leak-across-shaders.html Change-Id: Ie8d38e44837fc87bb4c94e76e779ad41e8b79957 Reviewed-on: https://chromium-review.googlesource.com/358203Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
parent 6e4cfceb
...@@ -246,10 +246,7 @@ TIntermNode *TCompiler::compileTreeImpl(const char *const shaderStrings[], ...@@ -246,10 +246,7 @@ TIntermNode *TCompiler::compileTreeImpl(const char *const shaderStrings[],
if (success) if (success)
{ {
mPragma = parseContext.pragma(); mPragma = parseContext.pragma();
if (mPragma.stdgl.invariantAll) symbolTable.setGlobalInvariant(mPragma.stdgl.invariantAll);
{
symbolTable.setGlobalInvariant();
}
root = parseContext.getTreeRoot(); root = parseContext.getTreeRoot();
root = intermediate.postProcess(root); root = intermediate.postProcess(root);
......
...@@ -469,8 +469,7 @@ class TSymbolTable : angle::NonCopyable ...@@ -469,8 +469,7 @@ class TSymbolTable : angle::NonCopyable
mInvariantVaryings.count(originalName) > 0); mInvariantVaryings.count(originalName) > 0);
} }
void setGlobalInvariant() { mGlobalInvariant = true; } void setGlobalInvariant(bool invariant) { mGlobalInvariant = invariant; }
bool getGlobalInvariant() const { return mGlobalInvariant; }
static int nextUniqueId() static int nextUniqueId()
{ {
......
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