summaryrefslogtreecommitdiffstats
path: root/tests/rewriter
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-07-23 19:52:14 -0700
committerTim Foley <tfoley@nvidia.com>2017-07-23 19:52:14 -0700
commite7241a921407ae79e0767956127f7ed501c5eeb1 (patch)
treebe9330c4519a33e76b93819e5676d1b0c137880b /tests/rewriter
parent1d4633fe67d23767ca41fe71b90687df1ab5e402 (diff)
Fixup for the glslang bug workaround
There was a bug where the intialization expression for a variable was being lowered after the declaration was added to the output code, so that any sub-expressions that get hoisted out actually get computed *after* the original variable. This obviously led to downstream compilation failure. I've updated the test case to stress this scenario.
Diffstat (limited to 'tests/rewriter')
-rw-r--r--tests/rewriter/glslang-bug-988-workaround.frag6
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/rewriter/glslang-bug-988-workaround.frag b/tests/rewriter/glslang-bug-988-workaround.frag
index 8c9692aed..578b49236 100644
--- a/tests/rewriter/glslang-bug-988-workaround.frag
+++ b/tests/rewriter/glslang-bug-988-workaround.frag
@@ -25,7 +25,8 @@ out vec4 result;
void main()
{
- result = doIt(foo);
+ vec4 r = doIt(foo);
+ result = r;
}
#else
@@ -52,7 +53,8 @@ out vec4 result;
void main()
{
Foo SLANG_tmp_0 = foo;
- result = doIt(SLANG_tmp_0);
+ vec4 r = doIt(SLANG_tmp_0);
+ result = r;
}
#endif