xref: /aosp_15_r20/external/skia/tests/sksl/shared/DeadStripFunctions.glsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker
2*c8dee2aaSAndroid Build Coastguard Workerout vec4 sk_FragColor;
3*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorGreen;
4*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorRed;
5*c8dee2aaSAndroid Build Coastguard Workervec4 unpremul_h4h4(vec4 color);
6*c8dee2aaSAndroid Build Coastguard Workervec4 unpremul_h4h4(vec4 color) {
7*c8dee2aaSAndroid Build Coastguard Worker    return vec4(color.xyz / max(color.w, 0.0001), color.w);
8*c8dee2aaSAndroid Build Coastguard Worker}
9*c8dee2aaSAndroid Build Coastguard Workervec4 live_fn_h4h4h4(vec4 a, vec4 b) {
10*c8dee2aaSAndroid Build Coastguard Worker    return a + b;
11*c8dee2aaSAndroid Build Coastguard Worker}
12*c8dee2aaSAndroid Build Coastguard Workervec4 main() {
13*c8dee2aaSAndroid Build Coastguard Worker    vec4 a;
14*c8dee2aaSAndroid Build Coastguard Worker    vec4 b;
15*c8dee2aaSAndroid Build Coastguard Worker    {
16*c8dee2aaSAndroid Build Coastguard Worker        a = live_fn_h4h4h4(vec4(3.0), vec4(-5.0));
17*c8dee2aaSAndroid Build Coastguard Worker    }
18*c8dee2aaSAndroid Build Coastguard Worker    {
19*c8dee2aaSAndroid Build Coastguard Worker        b = unpremul_h4h4(vec4(1.0));
20*c8dee2aaSAndroid Build Coastguard Worker    }
21*c8dee2aaSAndroid Build Coastguard Worker    return a != vec4(0.0) && b != vec4(0.0) ? colorGreen : colorRed;
22*c8dee2aaSAndroid Build Coastguard Worker}
23