xref: /aosp_15_r20/external/skia/resources/sksl/shared/SwizzleByIndex.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 testInputs, colorBlack, colorGreen, colorRed;
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerhalf4 non_constant_swizzle() {
4*c8dee2aaSAndroid Build Coastguard Worker    half4 v = half4(testInputs);
5*c8dee2aaSAndroid Build Coastguard Worker    int4 i = int4(colorBlack);
6*c8dee2aaSAndroid Build Coastguard Worker    half x = v[i[0]];
7*c8dee2aaSAndroid Build Coastguard Worker    half y = v[i[1]];
8*c8dee2aaSAndroid Build Coastguard Worker    half z = v[i[2]];
9*c8dee2aaSAndroid Build Coastguard Worker    half w = v[i[3]];
10*c8dee2aaSAndroid Build Coastguard Worker    return half4(x, y, z, w); // -1.25, -1.25, -1.25, 0
11*c8dee2aaSAndroid Build Coastguard Worker}
12*c8dee2aaSAndroid Build Coastguard Worker
13*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) {
14*c8dee2aaSAndroid Build Coastguard Worker    return non_constant_swizzle() == half4(-1.25, -1.25, -1.25, 0) ? colorGreen : colorRed;
15*c8dee2aaSAndroid Build Coastguard Worker}
16