123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- #version 300 es
- uniform mat4x3 m43;
- uniform mat3x3 m33;
- uniform mat4x4 m44;
- in vec3 v3;
- varying vec2 v2; // ERROR, varying reserved
- in vec4 bad[10]; // ERROR, no arrayed inputs
- highp in vec4 badorder; // ERROR, incorrect qualifier order
- out invariant vec4 badorder2; // ERROR, incorrect qualifier order
- in centroid vec4 badorder4; // ERROR, incorrect qualifier order
- out flat vec4 badorder3; // ERROR, incorrect qualifier order
- void bar(in const float a); // ERROR, incorrect qualifier order
- void bar2(highp in float b); // ERROR, incorrect qualifier order
- smooth flat out vec4 rep; // ERROR, replicating interpolation qualification
- centroid sample out vec4 rep2; // ERROR, replicating auxiliary qualification
- in uniform vec4 rep3; // ERROR, replicating storage qualification
- struct S {
- vec3 c;
- float f;
- };
- out S s;
- void main()
- {
- int id = gl_VertexID + gl_InstanceID;
- int c0 = gl_MaxVertexAttribs;
- int c1 = gl_MaxVertexUniformVectors;
- int c2 = gl_MaxVertexOutputVectors;
- int c3 = gl_MaxFragmentInputVectors;
- int c4 = gl_MaxVertexTextureImageUnits;
- int c5 = gl_MaxCombinedTextureImageUnits;
- int c6 = gl_MaxTextureImageUnits;
- int c7 = gl_MaxFragmentUniformVectors;
- int c8 = gl_MaxDrawBuffers;
- int c9 = gl_MinProgramTexelOffset;
- int c10 = gl_MaxProgramTexelOffset;
- mat3x4 tm = transpose(m43);
- highp float dm = determinant(m44);
- mat3x3 im = inverse(m33);
- mat3x2 op = outerProduct(v2, v3);
- gl_Position = m44[2];
- gl_PointSize = v2.y;
- s.c = v3;
- s.f = dm;
- #ifdef GL_ES
- #error GL_ES is set
- #else
- #error GL_ES is not set
- #endif
- }
- float badsize[]; // ERROR
- float[] badsize2; // ERROR
- uniform ub {
- int a[]; // ERROR
- } ubInst[]; // ERROR
- void foo(int a[]); // ERROR
- float okayA[] = float[](3.0f, 4.0F); // Okay
- out vec3 newV;
- void newVFun()
- {
- newV = v3;
- }
- invariant newV; // ERROR, variable already used
- in vec4 invIn;
- invariant invIn; // ERROR, in v300
- out S s2;
- invariant s2;
- invariant out S s3;
- flat out int;
- uniform ub2 {
- float f;
- } a;
- uniform ub2 { // ERROR redeclaration of block name (same instance name)
- float g;
- } a;
- uniform ub2 { // ERROR redeclaration of block name (different instance name)
- float f;
- } c;
- uniform ub2 { // ERROR redeclaration of block name (no instance name)
- float f123;
- };
- uniform ub3 {
- bool b23;
- };
- uniform ub3 { // ERROR redeclaration of block name (no instance name in first or declared)
- bool b234;
- };
- precision lowp sampler3D;
- precision lowp sampler2DShadow;
- precision lowp sampler2DArrayShadow;
- uniform sampler2D s2D;
- uniform sampler3D s3D;
- uniform sampler2DShadow s2DS;
- uniform sampler2DArrayShadow s2DAS;
- in vec2 c2D;
- void foo23()
- {
- ivec2 x1 = textureSize(s2D, 2);
- textureSize(s2D); // ERROR, no lod
- ivec3 x3 = textureSize(s2DAS, -1);
- textureSize(s2DAS); // ERROR, no lod
- vec4 x4 = texture(s2D, c2D);
- texture(s2D, c2D, 0.2); // ERROR, bias
- vec4 x5 = textureProjOffset(s3D, vec4(0.2), ivec3(1));
- textureProjOffset(s3D, vec4(0.2), ivec3(1), .03); // ERROR, bias
- float x6 = textureProjGradOffset(s2DS, invIn, vec2(4.2), vec2(5.3), ivec2(1));
- }
- int fgfg(float f, mediump int i);
- int fgfg(float f, highp int i); // ERROR, precision qualifier difference
- int fgfgh(float f, const in mediump int i);
- int fgfgh(float f, in mediump int i); // ERROR, precision qualifier difference
- void foo2349()
- {
- float[] x = float[] (1.0, 2.0, 3.0);
- float[] y = x;
- float[3] z = x;
- float[3] w;
- w = y;
- }
- int[] foo213234(); // ERROR
- int foo234234(float[]); // ERROR
- int foo234235(vec2[] v); // ERROR
- precision highp float[2]; // ERROR
- int fffg(float f);
- int fffg(float f);
- int gggf(float f);
- int gggf(float f) { return 2; }
- int gggf(float f);
- int agggf(float f) { return 2; }
- int agggf(float f);
- out struct Ssss { float f; } ssss;
- uniform Bblock {
- int a;
- } Binst;
- int Bfoo;
- layout(std140) Binst; // ERROR
- layout(std140) Bblock; // ERROR
- layout(std140) Bfoo; // ERROR
- layout(std430) uniform B430 { int a; } B430i; // ERROR
- struct SNA {
- int a[]; // ERROR
- };
- void fooDeeparray()
- {
- float[] x = float[] (1.0, 2.0, 3.0),
- y = float[] (1.0, 2.0, 3.0, 4.0);
- float xp[3], yp[4];
- xp = x;
- yp = y;
- xp = y; // ERROR, wrong size
- yp = x; // ERROR, wrong size
- }
- layout(num_views = 2) in; // ERROR, no extension
- void mwErr()
- {
- gl_ViewID_OVR; // ERROR, no extension
- }
- #extension GL_OVR_multiview : enable
- layout(num_views = 2) uniform float mwUniform; // ERROR, must be global
- layout(num_views = 2) in; // OK
- void mwOk()
- {
- gl_ViewID_OVR;
- }
|