35 lines
1.1 KiB
Plaintext
35 lines
1.1 KiB
Plaintext
// 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
|
|
*%%*/
|