// Expect >= 7 errors (currently 9, due to double-reporting) // Correct declaration (used in some test functions) uniform shader s1; uniform shader s2; uniform float2 xy; // Incorrect shader declarations (they must be uniform) shader s3; in shader s4; // Various places that shaders should not be allowed: half4 local() { shader s; return sample(s, xy); } half4 parameter(shader s) { return sample(s, xy); } shader returned() { return s1; } half4 constructed() { return sample(shader(s1), xy); } half4 expression(bool b) { return sample(b ? s1 : s2, xy); }