1cb93a386Sopenharmony_ci/*#pragma settings NoInline*/ 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_ciuniform half4 colorRed, colorGreen, colorWhite, colorBlack; 4cb93a386Sopenharmony_ci 5cb93a386Sopenharmony_civoid setToColorBlack(out half4 x) { 6cb93a386Sopenharmony_ci x = colorBlack; 7cb93a386Sopenharmony_ci} 8cb93a386Sopenharmony_ci 9cb93a386Sopenharmony_cihalf4 main(float2 coords) { 10cb93a386Sopenharmony_ci half4 a, b, c, d; 11cb93a386Sopenharmony_ci 12cb93a386Sopenharmony_ci (b = colorRed), (c = colorGreen); 13cb93a386Sopenharmony_ci a = (setToColorBlack(d), colorWhite); 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ci // These uniforms only contain 1s and 0s so these multiplies should be no-ops. 16cb93a386Sopenharmony_ci a *= a; 17cb93a386Sopenharmony_ci b *= b; 18cb93a386Sopenharmony_ci c *= c; 19cb93a386Sopenharmony_ci d *= d; 20cb93a386Sopenharmony_ci 21cb93a386Sopenharmony_ci return (a == colorWhite && 22cb93a386Sopenharmony_ci b == colorRed && 23cb93a386Sopenharmony_ci c == colorGreen && 24cb93a386Sopenharmony_ci d == colorBlack) ? colorGreen : colorRed; 25cb93a386Sopenharmony_ci} 26