1*c8dee2aaSAndroid Build Coastguard Workeruniform half2x2 testMatrix2x2; // equals (1, 2, 3, 4) 2*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed; 3*c8dee2aaSAndroid Build Coastguard Worker 4*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) { 5*c8dee2aaSAndroid Build Coastguard Worker half4 infiniteValue = half4(testMatrix2x2) / colorGreen.r; 6*c8dee2aaSAndroid Build Coastguard Worker half4 finiteValue = half4(testMatrix2x2) / colorGreen.g; 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker return ( (isinf(infiniteValue.x)) && 9*c8dee2aaSAndroid Build Coastguard Worker all(isinf(infiniteValue.xy)) && 10*c8dee2aaSAndroid Build Coastguard Worker all(isinf(infiniteValue.xyz)) && 11*c8dee2aaSAndroid Build Coastguard Worker all(isinf(infiniteValue.xyzw)) && 12*c8dee2aaSAndroid Build Coastguard Worker ! (isinf(finiteValue .x)) && 13*c8dee2aaSAndroid Build Coastguard Worker !any(isinf(finiteValue .xy)) && 14*c8dee2aaSAndroid Build Coastguard Worker !any(isinf(finiteValue .xyz)) && 15*c8dee2aaSAndroid Build Coastguard Worker !any(isinf(finiteValue .xyzw))) ? colorGreen : colorRed; 16*c8dee2aaSAndroid Build Coastguard Worker} 17