1*c8dee2aaSAndroid Build Coastguard Worker 2*c8dee2aaSAndroid Build Coastguard Workerout vec4 sk_FragColor; 3*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 testInputs; 4*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorGreen; 5*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorRed; 6*c8dee2aaSAndroid Build Coastguard Workervec4 main() { 7*c8dee2aaSAndroid Build Coastguard Worker vec4 expectedA = vec4(-1.0, 0.0, 0.75, 1.0); 8*c8dee2aaSAndroid Build Coastguard Worker const vec4 clampLow = vec4(-1.0, -2.0, -2.0, 1.0); 9*c8dee2aaSAndroid Build Coastguard Worker vec4 expectedB = vec4(-1.0, 0.0, 0.5, 2.25); 10*c8dee2aaSAndroid Build Coastguard Worker const vec4 clampHigh = vec4(1.0, 2.0, 0.5, 3.0); 11*c8dee2aaSAndroid Build Coastguard Worker return ((((((((((((((clamp(testInputs.x, -1.0, 1.0) == expectedA.x && clamp(testInputs.xy, -1.0, 1.0) == expectedA.xy) && clamp(testInputs.xyz, -1.0, 1.0) == expectedA.xyz) && clamp(testInputs, -1.0, 1.0) == expectedA) && clamp(testInputs.x, -1.0, 1.0) == expectedB.x) && clamp(testInputs.xy, vec2(-1.0, -2.0), vec2(1.0, 2.0)) == expectedB.xy) && clamp(testInputs.xyz, vec3(-1.0, -2.0, -2.0), vec3(1.0, 2.0, 0.5)) == expectedB.xyz) && clamp(testInputs, clampLow, clampHigh) == expectedB) && -1.0 == expectedA.x) && vec2(-1.0, 0.0) == expectedA.xy) && vec3(-1.0, 0.0, 0.75) == expectedA.xyz) && vec4(-1.0, 0.0, 0.75, 1.0) == expectedA) && -1.0 == expectedB.x) && vec2(-1.0, 0.0) == expectedB.xy) && vec3(-1.0, 0.0, 0.5) == expectedB.xyz) && vec4(-1.0, 0.0, 0.5, 2.25) == expectedB ? colorGreen : colorRed; 12*c8dee2aaSAndroid Build Coastguard Worker} 13