1cb93a386Sopenharmony_ci// Expect >= 8 errors (currently 12, due to double-reporting)
2cb93a386Sopenharmony_ci
3cb93a386Sopenharmony_ci// Correct declaration (used in some test functions)
4cb93a386Sopenharmony_ciuniform shader s1;
5cb93a386Sopenharmony_ciuniform shader s2;
6cb93a386Sopenharmony_ci
7cb93a386Sopenharmony_ciuniform float2 xy;
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_ci// Incorrect shader declarations (they must be uniform)
10cb93a386Sopenharmony_cishader s3;
11cb93a386Sopenharmony_ciin shader s4;
12cb93a386Sopenharmony_ci
13cb93a386Sopenharmony_ci// Various places that shaders should not be allowed:
14cb93a386Sopenharmony_cihalf4  local()             { shader s; return s.eval(xy); }
15cb93a386Sopenharmony_cihalf4  parameter(shader s) { return s.eval(xy); }
16cb93a386Sopenharmony_cishader returned()          { return s1; }
17cb93a386Sopenharmony_cihalf4  constructed()       { return shader(s1).eval(xy); }
18cb93a386Sopenharmony_cihalf4  expression(bool b)  { return (b ? s1 : s2).eval(xy); }
19cb93a386Sopenharmony_cihalf4  dangling_eval()     { s1.eval; }
20