First Commit
This commit is contained in:
215
externals/glslang/Test/120.vert
vendored
Normal file
215
externals/glslang/Test/120.vert
vendored
Normal file
@@ -0,0 +1,215 @@
|
||||
#version 120
|
||||
|
||||
in vec4 i; // ERROR
|
||||
out vec4 o; // ERROR
|
||||
|
||||
attribute vec2 attv2;
|
||||
attribute vec4 attv4;
|
||||
uniform sampler2D s2D;
|
||||
invariant varying vec2 centTexCoord;
|
||||
invariant gl_Position;
|
||||
centroid gl_Position; // ERROR
|
||||
centroid centroid foo; // ERROR
|
||||
invariant gl_Position, gl_PointSize;
|
||||
|
||||
void main()
|
||||
{
|
||||
centTexCoord = attv2;
|
||||
gl_Position = attv4;
|
||||
|
||||
gl_ClipVertex = attv4;
|
||||
gl_ClipDistance[1] = 0.2; // ERROR
|
||||
|
||||
vec3[12] a;
|
||||
vec4[a.length()] b;
|
||||
gl_Position = b[b.length()-1];
|
||||
|
||||
float f[];
|
||||
int a1 = f.length(); // ERROR
|
||||
float f[7];
|
||||
int aa = f.length();
|
||||
int a2 = f.length; // ERROR
|
||||
int a3 = f.length(a); // ERROR
|
||||
int a4 = f.flizbit; // ERROR
|
||||
int a4 = f.flizbit(); // ERROR
|
||||
float md[2][4]; // ERROR
|
||||
float[2] md2[4]; // ERROR
|
||||
float[2][4] md3; // ERROR
|
||||
float md5, md6[2][3]; // ERROR
|
||||
float[2] md4, md7[4]; // ERROR
|
||||
float md9[2][3] = float[2][3](1, 2, 3, 4, 5, 6); // ERROR
|
||||
float md10, md11[2][3] = float[2][3](1, 2, 3, 4, 5, 6); // ERROR
|
||||
|
||||
gl_PointSize = 3.8;
|
||||
}
|
||||
|
||||
uniform float initted = 3.4; // okay
|
||||
|
||||
const float concall = sin(0.3);
|
||||
|
||||
int[2][3] foo( // ERROR
|
||||
float[2][3] a, // ERROR
|
||||
float[2] b[3], // ERROR
|
||||
float c[2][3]); // ERROR
|
||||
|
||||
int overloadA(in float f);
|
||||
int overloadA(out float f); // ERROR, different qualifiers
|
||||
float overloadA(float); // ERROR, different return value for same signature
|
||||
float overloadA(out float f, int);
|
||||
float overloadA(int i);
|
||||
|
||||
void overloadB(float, const in float) { }
|
||||
|
||||
vec2 overloadC(int, int);
|
||||
vec2 overloadC(const in int, float);
|
||||
vec2 overloadC(float, int);
|
||||
vec2 overloadC(vec2, vec2);
|
||||
|
||||
vec3 overloadD(int, float);
|
||||
vec3 overloadD(float, in int);
|
||||
|
||||
vec3 overloadE(float[2]);
|
||||
vec3 overloadE(mat2 m);
|
||||
vec3 overloadE(vec2 v);
|
||||
|
||||
vec3 overloadF(int);
|
||||
vec3 overloadF(float);
|
||||
|
||||
void foo()
|
||||
{
|
||||
float f;
|
||||
int i;
|
||||
|
||||
overloadB(f, f);
|
||||
overloadB(f, 2);
|
||||
overloadB(1, i);
|
||||
|
||||
overloadC(1); // ERROR
|
||||
overloadC(1, i);
|
||||
overloadC(vec2(1), vec2(2));
|
||||
overloadC(f, 3.0); // ERROR, no way
|
||||
overloadC(ivec2(1), vec2(2));
|
||||
|
||||
overloadD(i, f);
|
||||
overloadD(f, i);
|
||||
overloadD(i, i); // ERROR, ambiguous
|
||||
|
||||
int overloadB; // hiding
|
||||
overloadB(1, i); // ERROR
|
||||
|
||||
sin(1);
|
||||
texture2D(s2D, ivec2(0));
|
||||
clamp(attv4, 0, 1);
|
||||
clamp(ivec4(attv4), 0, 1);
|
||||
|
||||
int a[2];
|
||||
overloadC(a, 3); // ERROR
|
||||
overloadE(a); // ERROR
|
||||
overloadE(3.3); // ERROR
|
||||
overloadE(vec2(3.3));
|
||||
overloadE(mat2(0.5));
|
||||
overloadE(ivec4(1)); // ERROR
|
||||
overloadE(ivec2(1));
|
||||
|
||||
float b[2];
|
||||
overloadE(b);
|
||||
|
||||
overloadF(1, 1); // ERROR
|
||||
overloadF(1);
|
||||
}
|
||||
|
||||
varying vec4 gl_TexCoord[35]; // ERROR, size too big
|
||||
|
||||
// tests for output conversions
|
||||
void outFun(in float, out ivec2, in int, out float);
|
||||
int outFunRet(in float, out int, const in int, out ivec4);
|
||||
ivec2 outFunRet(in float, out ivec4, in int, out ivec4);
|
||||
|
||||
void foo2()
|
||||
{
|
||||
vec2 v2;
|
||||
vec4 v4;
|
||||
float f;
|
||||
int i;
|
||||
|
||||
outFun(i, v2, i, f);
|
||||
outFunRet(i, f, i, v4);
|
||||
float ret = outFunRet(i, f, i, v4);
|
||||
vec2 ret2 = outFunRet(i, v4, i, v4);
|
||||
bool b = any(lessThan(v4, attv4)); // tests aggregate arg to unary built-in
|
||||
}
|
||||
|
||||
void noise()
|
||||
{
|
||||
float f1 = noise1(1.0);
|
||||
vec2 f2 = noise2(vec2(1.0));
|
||||
vec3 f3 = noise3(vec3(1.0));
|
||||
vec4 f4 = noise4(vec4(1.0));
|
||||
}
|
||||
|
||||
// version 130 features
|
||||
|
||||
uniform int c;
|
||||
|
||||
attribute ivec2 x;
|
||||
attribute vec2 v2a;
|
||||
attribute float c1D;
|
||||
attribute vec2 c2D;
|
||||
attribute vec3 c3D;
|
||||
|
||||
uniform vec4 v4;
|
||||
|
||||
void foo213()
|
||||
{
|
||||
float f = 3;
|
||||
switch (c) { // ERRORs...
|
||||
case 1:
|
||||
f = sin(f);
|
||||
break;
|
||||
case 2:
|
||||
f = f * f;
|
||||
default:
|
||||
f = 3.0;
|
||||
}
|
||||
|
||||
int i;
|
||||
i << 3 | 0x8A >> 1 & 0xFF; // ERRORs...
|
||||
|
||||
vec3 modfOut, modfIn;
|
||||
vec3 v11 = modf(modfIn, modfOut); // ERRORS...
|
||||
float t = trunc(f);
|
||||
vec2 v12 = round(v2a);
|
||||
vec2 v13 = roundEven(v2a);
|
||||
bvec2 b10 = isnan(v2a);
|
||||
bvec4 b11 = isinf(v4);
|
||||
|
||||
sinh(c1D) + // ERRORS...
|
||||
cosh(c1D) * tanh(c2D);
|
||||
asinh(c4D) + acosh(c4D);
|
||||
atanh(c3D);
|
||||
|
||||
int id = gl_VertexID; // ERROR
|
||||
gl_ClipDistance[1] = 0.3; // ERROR
|
||||
}
|
||||
|
||||
int gl_ModelViewMatrix[] = 0;
|
||||
|
||||
// token pasting (ERRORS...)
|
||||
|
||||
#define mac abc##def
|
||||
int mac;
|
||||
|
||||
#define macr(A,B) A ## B
|
||||
int macr(qrs,tuv);
|
||||
|
||||
layout(std140) uniform BlockName // ERROR
|
||||
{
|
||||
int test;
|
||||
};
|
||||
|
||||
#extension GL_ARB_uniform_buffer_object : enable
|
||||
|
||||
layout(std140) uniform BlockName
|
||||
{
|
||||
int test;
|
||||
};
|
||||
Reference in New Issue
Block a user