1cb93a386Sopenharmony_ci 2cb93a386Sopenharmony_ciout vec4 sk_FragColor; 3cb93a386Sopenharmony_ciuniform vec4 colorGreen; 4cb93a386Sopenharmony_ciuniform vec4 colorRed; 5cb93a386Sopenharmony_cibool switch_fallthrough_twice_bi(int value) { 6cb93a386Sopenharmony_ci bool ok = false; 7cb93a386Sopenharmony_ci switch (value) { 8cb93a386Sopenharmony_ci case 0: 9cb93a386Sopenharmony_ci break; 10cb93a386Sopenharmony_ci case 1: 11cb93a386Sopenharmony_ci case 2: 12cb93a386Sopenharmony_ci case 3: 13cb93a386Sopenharmony_ci ok = true; 14cb93a386Sopenharmony_ci break; 15cb93a386Sopenharmony_ci default: 16cb93a386Sopenharmony_ci break; 17cb93a386Sopenharmony_ci } 18cb93a386Sopenharmony_ci return ok; 19cb93a386Sopenharmony_ci} 20cb93a386Sopenharmony_civec4 main() { 21cb93a386Sopenharmony_ci int x = int(colorGreen.y); 22cb93a386Sopenharmony_ci bool _0_ok = false; 23cb93a386Sopenharmony_ci switch (x) { 24cb93a386Sopenharmony_ci case 2: 25cb93a386Sopenharmony_ci break; 26cb93a386Sopenharmony_ci case 1: 27cb93a386Sopenharmony_ci case 0: 28cb93a386Sopenharmony_ci _0_ok = true; 29cb93a386Sopenharmony_ci break; 30cb93a386Sopenharmony_ci default: 31cb93a386Sopenharmony_ci break; 32cb93a386Sopenharmony_ci } 33cb93a386Sopenharmony_ci return _0_ok && switch_fallthrough_twice_bi(x) ? colorGreen : colorRed; 34cb93a386Sopenharmony_ci} 35