uniform half4 colorGreen, colorRed; uniform float4 testInputs; // equals (-1.25, 0, 0.75, 2.25) half4 main(float2 coords) { const float4 constVal = float4(-1.25, 0, 0.75, 2.25); const float4 expected = clamp(constVal, 0, 1); const uint constXY = packUnorm2x16(constVal.xy); const uint constZW = packUnorm2x16(constVal.zw); uint xy = packUnorm2x16(testInputs.xy); uint zw = packUnorm2x16(testInputs.zw); const float2 tolerance = float2(0.015625); return (all(lessThan(abs(unpackUnorm2x16(xy) - float2(expected.xy)), tolerance)) && all(lessThan(abs(unpackUnorm2x16(zw) - float2(expected.zw)), tolerance)) && all(lessThan(abs(unpackUnorm2x16(constXY) - float2(expected.xy)), tolerance)) && all(lessThan(abs(unpackUnorm2x16(constZW) - float2(expected.zw)), tolerance))) ? colorGreen : colorRed; }