skia2/resources/sksl/shared/StaticSwitchWithContinue.sksl
Brian Osman 169c8903be Reland "Add coords parameter to all .sksl test files used as runtime effects"
This is a reland of 22dcb5fd7e

Original change's description:
> Add coords parameter to all .sksl test files used as runtime effects
>
> Convert to use the newer MakeForShader factory, which requires this.
>
> Change-Id: Ifaf6054054027c78f3f3fe15596e435e0f79b877
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399336
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

Bug: skia:11919
Change-Id: I5f745c54b2bc3712f2281db6e067345903e81931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401836
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-27 20:47:31 +00:00

23 lines
756 B
Plaintext

// 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;
}