// 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 s.eval(xy); } half4 parameter(shader s) { return s.eval(xy); } shader returned() { return s1; } half4 constructed() { return shader(s1).eval(xy); } half4 expression(bool b) { return (b ? s1 : s2).eval(xy); }