1#version 300 es 2 3precision mediump float; 4 5struct S { 6 vec4 u; 7 uvec4 v; 8 lowp isampler3D sampler; 9 vec3 w; 10 struct T1 { // ERROR 11 int a; 12 } t; 13}; 14 15uniform S s; 16 17uniform fooBlock { 18 uvec4 bv; 19 uniform mat2 bm2; 20 lowp isampler2D sampler; // ERROR 21 struct T2 { // ERROR 22 int a; 23 } t; 24 S fbs; // ERROR, contains a sampler 25}; 26 27uniform barBlock { 28 uvec4 nbv; 29 int ni; 30} inst; 31 32uniform barBlockArray { 33 uvec4 nbv; 34 int ni; 35} insts[4]; 36 37uniform unreferenced { 38 float f; 39 uint u; 40}; 41 42void main() 43{ 44 texture(s.sampler, vec3(inst.ni, bv.y, insts[2].nbv.z)); 45 insts[s.v.x]; // ERROR 46 fooBlock; // ERROR 47 mat4(s); // ERROR 48 int insts; 49 float barBlock; 50 mat4(barBlock); 51 mat4(unreferenced); // ERROR, bad type 52 ++s; // ERROR 53 inst - 1; // ERROR 54 ++barBlock; 55 2 * barBlockArray; // ERROR 56} 57 58int fooBlock; // ERROR, redef. 59