blob: 58e85e503a68800762eae72f92d63b86d9d03bce [file] [log] [blame]
// Expect >= 8 errors (currently 12, 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); }
half4 dangling_eval() { s1.eval; }
/*%%*
variables of type 'shader' must be uniform
'in' variables not permitted in runtime effects
variables of type 'shader' must be uniform
variables of type 'shader' must be global
variables of type 'shader' must be uniform
parameters of type 'shader' not allowed
unknown identifier 's'
functions may not return opaque type 'shader'
cannot construct 'shader'
ternary expression of opaque type 'shader' not allowed
expected '(' to begin method call
function 'dangling_eval' can exit without returning a value
*%%*/