uniform float uf;
uniform int ui;
const float cf = 1;
const int ci = 1;
int i = 1;

// OK
void switch_test_uniorm_int_var()  { switch (ui) { case 1: break; } }
void switch_test_const_int_var()   { switch (ci) { case 1: break; } }
void switch_case_const_int_var()   { switch (1)  { case ci: break; } }

// Disallowed
void switch_test_float2()          { switch (float2(1)) { case 1: break; } }
void switch_case_float2()          { switch (1) { case float2(1): break; } }
void switch_test_const_float_var() { switch (cf) { case 1: break; } }
void switch_case_float()           { switch (1) { case 0.5: break; } }
void switch_case_integral_float()  { switch (1) { case 1.0: break; } }
void switch_case_uniform_float()   { switch (1) { case uf: break; } }
void switch_case_uniform_int()     { switch (1) { case ui: break; } }
void switch_case_const_float_var() { switch (1) { case cf: break; } }
void switch_case_int_var()         { switch (1) { case i: break; } }
