summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_clone.cpp
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2013-11-28 11:06:43 -0800
committerPaul Berry <[email protected]>2013-12-09 10:54:20 -0800
commitcb38a0dc0aaa0a5cbc2a5345ecee3c17d9d46987 (patch)
treef3128e66e0d6ab2c4130d84ccfab24532b0701eb /src/glsl/ir_clone.cpp
parent877db5a792df7f5971c1906a3677b066926b9832 (diff)
glsl: Fix handling of function calls inside nested loops.
Previously, when visiting an ir_call, loop analysis would only mark the innermost enclosing loop as containing a call. As a result, when encountering a loop like this: for (i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { foo(); } } it would incorrectly conclude that the outer loop ran three times. (This is not certain; if foo() modifies i, then the outer loop might run more or fewer times). Fixes piglit test "vs-call-in-nested-loop.shader_test". Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/ir_clone.cpp')
0 files changed, 0 insertions, 0 deletions