blob: f87f57bad5dc0d6063802d37ae005b371eaf610d [file] [log] [blame]
John Stilesdec5ff22021-08-25 13:54:34 -04001uniform half4 testInputs; // equals (-1.25, 0, 0.75, 2.25)
2uniform half4 colorGreen, colorRed;
3
4half4 main(float2 coords) {
5 // NOTE: the ES3 spec does not mandate NaN support. This test may not succeed on some GPUs.
6
7 half4 valueIsNaN = 0 / testInputs.yyyy;
8 half4 valueIsNumber = 1 / testInputs;
9
10 return ( (isnan(valueIsNaN.x)) &&
11 all(isnan(valueIsNaN.xy)) &&
12 all(isnan(valueIsNaN.xyz)) &&
13 all(isnan(valueIsNaN.xyzw)) &&
14 ! (isnan(valueIsNumber.x)) &&
15 !any(isnan(valueIsNumber.xy)) &&
16 !any(isnan(valueIsNumber.xyz)) &&
17 !any(isnan(valueIsNumber.xyzw))) ? colorGreen : colorRed;
18}