1cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed, colorBlack, colorWhite, testInputs; 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_cihalf4 main(float2 coords) { 4cb93a386Sopenharmony_ci int4 intGreen = int4(colorGreen * 100); 5cb93a386Sopenharmony_ci int4 intRed = int4(colorRed * 100); 6cb93a386Sopenharmony_ci const int4 constIGreen = int4(0, 100, 0, 100); 7cb93a386Sopenharmony_ci const int4 constIRed = int4(100, 0, 0, 100); 8cb93a386Sopenharmony_ci const half4 constGreen = half4(0, 1, 0, 1); 9cb93a386Sopenharmony_ci const half4 constRed = half4(1, 0, 0, 1); 10cb93a386Sopenharmony_ci 11cb93a386Sopenharmony_ci return (mix(intGreen.x, intRed.x, false) == intGreen.x && 12cb93a386Sopenharmony_ci mix(intGreen.xy, intRed.xy, bool2(false)) == intGreen.xy && 13cb93a386Sopenharmony_ci mix(intGreen.xyz, intRed.xyz, bool3(false)) == intGreen.xyz && 14cb93a386Sopenharmony_ci mix(intGreen.xyzw, intRed.xyzw, bool4(false)) == intGreen.xyzw && 15cb93a386Sopenharmony_ci mix(intGreen.x, intRed.x, true) == intRed.x && 16cb93a386Sopenharmony_ci mix(intGreen.xy, intRed.xy, bool2(true)) == intRed.xy && 17cb93a386Sopenharmony_ci mix(intGreen.xyz, intRed.xyz, bool3(true)) == intRed.xyz && 18cb93a386Sopenharmony_ci mix(intGreen.xyzw, intRed.xyzw, bool4(true)) == intRed.xyzw && 19cb93a386Sopenharmony_ci mix(constIGreen.x, constIRed.x, false) == intGreen.x && 20cb93a386Sopenharmony_ci mix(constIGreen.xy, constIRed.xy, bool2(false)) == intGreen.xy && 21cb93a386Sopenharmony_ci mix(constIGreen.xyz, constIRed.xyz, bool3(false)) == intGreen.xyz && 22cb93a386Sopenharmony_ci mix(constIGreen.xyzw, constIRed.xyzw, bool4(false)) == intGreen.xyzw && 23cb93a386Sopenharmony_ci mix(constIGreen.x, constIRed.x, true) == intRed.x && 24cb93a386Sopenharmony_ci mix(constIGreen.xy, constIRed.xy, bool2(true)) == intRed.xy && 25cb93a386Sopenharmony_ci mix(constIGreen.xyz, constIRed.xyz, bool3(true)) == intRed.xyz && 26cb93a386Sopenharmony_ci mix(constIGreen.xyzw, constIRed.xyzw, bool4(true)) == intRed.xyzw && 27cb93a386Sopenharmony_ci mix(colorGreen.x, colorRed.x, false) == colorGreen.x && 28cb93a386Sopenharmony_ci mix(colorGreen.xy, colorRed.xy, bool2(false)) == colorGreen.xy && 29cb93a386Sopenharmony_ci mix(colorGreen.xyz, colorRed.xyz, bool3(false)) == colorGreen.xyz && 30cb93a386Sopenharmony_ci mix(colorGreen.xyzw, colorRed.xyzw, bool4(false)) == colorGreen.xyzw && 31cb93a386Sopenharmony_ci mix(colorGreen.x, colorRed.x, true) == colorRed.x && 32cb93a386Sopenharmony_ci mix(colorGreen.xy, colorRed.xy, bool2(true)) == colorRed.xy && 33cb93a386Sopenharmony_ci mix(colorGreen.xyz, colorRed.xyz, bool3(true)) == colorRed.xyz && 34cb93a386Sopenharmony_ci mix(colorGreen.xyzw, colorRed.xyzw, bool4(true)) == colorRed.xyzw && 35cb93a386Sopenharmony_ci mix(constGreen.x, constRed.x, false) == colorGreen.x && 36cb93a386Sopenharmony_ci mix(constGreen.xy, constRed.xy, bool2(false)) == colorGreen.xy && 37cb93a386Sopenharmony_ci mix(constGreen.xyz, constRed.xyz, bool3(false)) == colorGreen.xyz && 38cb93a386Sopenharmony_ci mix(constGreen.xyzw, constRed.xyzw, bool4(false)) == colorGreen.xyzw && 39cb93a386Sopenharmony_ci mix(constGreen.x, constRed.x, true) == colorRed.x && 40cb93a386Sopenharmony_ci mix(constGreen.xy, constRed.xy, bool2(true)) == colorRed.xy && 41cb93a386Sopenharmony_ci mix(constGreen.xyz, constRed.xyz, bool3(true)) == colorRed.xyz && 42cb93a386Sopenharmony_ci mix(constGreen.xyzw, constRed.xyzw, bool4(true)) == colorRed.xyzw) ? colorGreen 43cb93a386Sopenharmony_ci : colorRed; 44cb93a386Sopenharmony_ci} 45cb93a386Sopenharmony_ci 46