xref: /aosp_15_r20/external/skia/resources/sksl/workarounds/NegatedLdexp.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker/*#pragma settings MustForceNegatedLdexpParamToMultiply*/
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workeruniform float unknownFloat;
4*c8dee2aaSAndroid Build Coastguard Workeruniform int unknownInt;
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Workervoid main() {
7*c8dee2aaSAndroid Build Coastguard Worker    float m = unknownFloat;
8*c8dee2aaSAndroid Build Coastguard Worker    int x = unknownInt;
9*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor.r = half(ldexp(m, -x));
10*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor.g = half(ldexp(m, -(x + 1)));
11*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor.b = half(ldexp(m, -x - 1));
12*c8dee2aaSAndroid Build Coastguard Worker}
13