blob: 77aeee4585a6123aa9269be36c7ec3ce06b7a444 [file] [log] [blame]
/*#pragma settings NoDeadCodeElimination*/
// 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() {
// 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;
}