skia2/resources/sksl/shared/ForLoopControlFlow.sksl

22 lines
466 B
Plaintext
Raw Normal View History

uniform half4 colorWhite;
half4 main(float2 coords) {
half4 x = colorWhite;
// Verify that break is allowed in a for loop.
for (half r = -5; r < 5; r += 1) {
Reland "Add SkSL for-loop control flow test to dm." This reverts commit 578f1acbe8a47178efb21df49561c365226f9d95. Reason for revert: updated test to pass on Mac Intel 5100/6000 Original change's description: > Revert "Add SkSL for-loop control flow test to dm." > > This reverts commit a0c266283a8ef230ad0436dbf885d2b616e7302b. > > Reason for revert: failing on Mac Intel > > Original change's description: > > Add SkSL for-loop control flow test to dm. > > > > While loops and do-while loops remain untested in dm, as they are not > > supported in ES2 (and therefore not available in Runtime Effects). > > > > Change-Id: I2f1bfccccd571cc4ced096bc18ebbb9ecc9f9b4a > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359556 > > Commit-Queue: John Stiles <johnstiles@google.com> > > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > > Auto-Submit: John Stiles <johnstiles@google.com> > > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > > TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com > > Change-Id: I45335d16a695644eaeb8a535298c0efcc616c1ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359840 > Reviewed-by: John Stiles <johnstiles@google.com> > Commit-Queue: John Stiles <johnstiles@google.com> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com Change-Id: I2dc6e870393708a12286658001b723f25a6aec4a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359856 Reviewed-by: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-27 14:56:04 +00:00
x.r = saturate(r);
if (x.r == 0) break;
}
// Verify that continue is allowed in a for loop.
for (half b = 5; b >= 0; b -= 1) {
x.b = b;
if (x.a == 1) continue; // should always happen
x.g = 0;
}
// x contains green.
return x;
}