59 lines
1.0 KiB
GLSL
59 lines
1.0 KiB
GLSL
|
#version 300 es
|
||
|
|
||
|
precision mediump float;
|
||
|
|
||
|
struct S {
|
||
|
vec4 u;
|
||
|
uvec4 v;
|
||
|
lowp isampler3D sampler;
|
||
|
vec3 w;
|
||
|
struct T1 { // ERROR
|
||
|
int a;
|
||
|
} t;
|
||
|
};
|
||
|
|
||
|
uniform S s;
|
||
|
|
||
|
uniform fooBlock {
|
||
|
uvec4 bv;
|
||
|
uniform mat2 bm2;
|
||
|
lowp isampler2D sampler; // ERROR
|
||
|
struct T2 { // ERROR
|
||
|
int a;
|
||
|
} t;
|
||
|
S fbs; // ERROR, contains a sampler
|
||
|
};
|
||
|
|
||
|
uniform barBlock {
|
||
|
uvec4 nbv;
|
||
|
int ni;
|
||
|
} inst;
|
||
|
|
||
|
uniform barBlockArray {
|
||
|
uvec4 nbv;
|
||
|
int ni;
|
||
|
} insts[4];
|
||
|
|
||
|
uniform unreferenced {
|
||
|
float f;
|
||
|
uint u;
|
||
|
};
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
texture(s.sampler, vec3(inst.ni, bv.y, insts[2].nbv.z));
|
||
|
insts[s.v.x]; // ERROR
|
||
|
fooBlock; // ERROR
|
||
|
mat4(s); // ERROR
|
||
|
int insts;
|
||
|
float barBlock;
|
||
|
mat4(barBlock);
|
||
|
mat4(unreferenced); // ERROR, bad type
|
||
|
++s; // ERROR
|
||
|
inst - 1; // ERROR
|
||
|
++barBlock;
|
||
|
2 * barBlockArray; // ERROR
|
||
|
}
|
||
|
|
||
|
int fooBlock; // ERROR, redef.
|