1cb93a386Sopenharmony_ci 2cb93a386Sopenharmony_ciout vec4 sk_FragColor; 3cb93a386Sopenharmony_ciuniform vec4 testInputs; 4cb93a386Sopenharmony_ciuniform vec4 colorGreen; 5cb93a386Sopenharmony_ciuniform vec4 colorRed; 6cb93a386Sopenharmony_civec4 main() { 7cb93a386Sopenharmony_ci vec4 expectedA = vec4(-1.0, 0.0, 0.75, 1.0); 8cb93a386Sopenharmony_ci const vec4 clampLow = vec4(-1.0, -2.0, -2.0, 1.0); 9cb93a386Sopenharmony_ci vec4 expectedB = vec4(-1.0, 0.0, 0.5, 2.25); 10cb93a386Sopenharmony_ci const vec4 clampHigh = vec4(1.0, 2.0, 0.5, 3.0); 11cb93a386Sopenharmony_ci 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) && -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) && 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 == 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; 12cb93a386Sopenharmony_ci} 13