summaryrefslogtreecommitdiff
path: root/src/glsl/glcpp/pp.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-07-29 15:49:14 -0700
committerEric Anholt <eric@anholt.net>2010-07-29 15:56:17 -0700
commit0cf545ec696ab450c3f5ee65d7a0c2a5d9dca409 (patch)
tree4333aa9913ce7f21811bc8a2dd82b1ad8d1404ce /src/glsl/glcpp/pp.c
parenta62ef12ef242ecd48887df2aa2052d2ecb0979f7 (diff)
glsl2: Do ir_if_return on the way out, not the way in.
The problem with doing it on the way in is that for a function with multiple early returns, we'll move an outer block in, then restart the pass, then move the two inside returns out, then never move outer blocks in again because the remaining early returns are inside an else block and they don't know that there's a return just after their block. By going inside-out, we get the early returns stacked up so that they all move out with a series of move_returns_after_block(). Fixes (on i965): glsl-fs-raytrace-bug27060 glsl-vs-raytrace-bug26691
Diffstat (limited to 'src/glsl/glcpp/pp.c')
0 files changed, 0 insertions, 0 deletions