diff options
author | Paul Berry <[email protected]> | 2013-11-28 10:48:37 -0800 |
---|---|---|
committer | Paul Berry <[email protected]> | 2013-12-09 10:54:16 -0800 |
commit | 877db5a792df7f5971c1906a3677b066926b9832 (patch) | |
tree | 250784f332ecf754b667012d4ffaa79784cd9ffc /src/glsl/opt_dead_builtin_varyings.cpp | |
parent | 2e060551bdfb3f5019f64696f268675a3550927c (diff) |
glsl: Fix loop analysis of nested loops.
Previously, when visiting a variable dereference, loop analysis would
only consider its effect on the innermost enclosing loop. As a
result, when encountering a loop like this:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
...
i = 2;
}
}
it would incorrectly conclude that the outer loop ran three times.
Fixes piglit test "vs-inner-loop-modifies-outer-loop-var.shader_test".
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/opt_dead_builtin_varyings.cpp')
0 files changed, 0 insertions, 0 deletions