642cde289d
At IR generation time, this CL limits our optimizations to only @switch statements. A regular switch statement will only be optimized during the optimization phase even if the switch-value is a known compile-time constant. This is done to avoid upsetting our reachability analysis. Most of this CL is moving existing logic from SkSLCompiler into SkSLAnalysis and SkSLSwitchStatement. Although the diffs look large, the actual changes are very small. Change-Id: I90920f41bc386dfa7a980ae7510f6681231a5120 Bug: skia:11340, skia:11342, skia:11319 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372679 Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
9 lines
141 B
Plaintext
9 lines
141 B
Plaintext
void main() {
|
|
half x;
|
|
switch (1) {
|
|
case 0: x = 0; break;
|
|
default: x = 1; discard;
|
|
}
|
|
sk_FragColor = half4(x);
|
|
}
|