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