// A continue inside a switch (where permitted) prevents fallthrough to the next case block, just // like a break statement would. // Make sure that we properly dead-strip code following `continue` in a switch. // This is particularly relevant because our inliner replaces return statements with continue. uniform half4 colorGreen, colorRed; half4 main(float2 coords) { // A looping construct is required for continue. float result = 0; for (int x=0; x<=1; x++) { @switch (2) { case 1: result = abs(1); continue; case 2: result = abs(2); continue; case 3: result = abs(3); continue; case 4: result = abs(4); continue; } } return result == 2 ? colorGreen : colorRed; }