xref: /aosp_15_r20/external/skia/resources/sksl/shared/ForLoopControlFlow.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorWhite;
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) {
4*c8dee2aaSAndroid Build Coastguard Worker    half4 x = colorWhite;
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Worker    // Verify that break is allowed in a for loop.
7*c8dee2aaSAndroid Build Coastguard Worker    for (half r = -5; r < 5; r += 1) {
8*c8dee2aaSAndroid Build Coastguard Worker        x.r = saturate(r);
9*c8dee2aaSAndroid Build Coastguard Worker        if (x.r == 0) break;
10*c8dee2aaSAndroid Build Coastguard Worker    }
11*c8dee2aaSAndroid Build Coastguard Worker
12*c8dee2aaSAndroid Build Coastguard Worker    // Verify that continue is allowed in a for loop.
13*c8dee2aaSAndroid Build Coastguard Worker    for (half b = 5; b >= 0; b -= 1) {
14*c8dee2aaSAndroid Build Coastguard Worker        x.b = b;
15*c8dee2aaSAndroid Build Coastguard Worker        if (x.a == 1) continue; // should always happen
16*c8dee2aaSAndroid Build Coastguard Worker        x.g = 0;
17*c8dee2aaSAndroid Build Coastguard Worker    }
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard Worker    // x contains green.
20*c8dee2aaSAndroid Build Coastguard Worker    return x;
21*c8dee2aaSAndroid Build Coastguard Worker}
22