glsl: fix lower jumps for returns when loop is inside an if
Previously we would just escape the loop and move everything following the loop inside the if to the else branch of a new if with a return flag conditional. However everything outside the if the loop was nested in would still get executed. Adding a new return to the then branch of the new if fixes this and we just let a follow pass clean it up if needed. Fixes: tests/spec/glsl-1.10/execution/vs-nested-return-sibling-loop.shader_test tests/spec/glsl-1.10/execution/vs-nested-return-sibling-loop2.shader_test Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:Roland Scheidegger <sroland@vmware.com> (cherry picked from commit c1096b7f)