blob: 906696874fc12b31cbd1467e4f457b9deb93c3a7 [file] [log] [blame]
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, -1, 1);
const uint constXY = packSnorm2x16(constVal.xy);
const uint constZW = packSnorm2x16(constVal.zw);
uint xy = packSnorm2x16(testInputs.xy);
uint zw = packSnorm2x16(testInputs.zw);
const float2 tolerance = float2(0.015625);
return (all(lessThan(abs(unpackSnorm2x16(xy) - float2(expected.xy)), tolerance)) &&
all(lessThan(abs(unpackSnorm2x16(zw) - float2(expected.zw)), tolerance)) &&
all(lessThan(abs(unpackSnorm2x16(constXY) - float2(expected.xy)), tolerance)) &&
all(lessThan(abs(unpackSnorm2x16(constZW) - float2(expected.zw)), tolerance)))
? colorGreen : colorRed;
}