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/358203
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
diff --git a/src/compiler/translator/Compiler.cpp b/src/compiler/translator/Compiler.cpp
index 3c7742a..73420d3 100644
--- a/src/compiler/translator/Compiler.cpp
+++ b/src/compiler/translator/Compiler.cpp
@@ -246,10 +246,7 @@
if (success)
{
mPragma = parseContext.pragma();
- if (mPragma.stdgl.invariantAll)
- {
- symbolTable.setGlobalInvariant();
- }
+ symbolTable.setGlobalInvariant(mPragma.stdgl.invariantAll);
root = parseContext.getTreeRoot();
root = intermediate.postProcess(root);