First Commit
This commit is contained in:
243
externals/glslang/Test/100.frag
vendored
Normal file
243
externals/glslang/Test/100.frag
vendored
Normal file
@@ -0,0 +1,243 @@
|
||||
// okay
|
||||
#version 100
|
||||
int a[3] = { 2, 3, 4, }; // ERROR (lots)
|
||||
#version 100
|
||||
int uint;
|
||||
|
||||
attribute vec4 v[3]; // ERROR
|
||||
|
||||
float f = 2; // ERROR
|
||||
|
||||
uniform block { // ERROR
|
||||
int x;
|
||||
};
|
||||
|
||||
void foo(float);
|
||||
|
||||
void main()
|
||||
{
|
||||
foo(3); // ERROR
|
||||
int s = 1 << 4; // ERROR
|
||||
s = 16 >> 2; // ERROR
|
||||
if (a == a); // ERROR
|
||||
int b, c;
|
||||
b = c & 4; // ERROR
|
||||
b = c % 4; // ERROR
|
||||
b = c | 4; // ERROR
|
||||
b >>= 2; // ERROR
|
||||
b <<= 2; // ERROR
|
||||
b %= 3; // ERROR
|
||||
|
||||
struct S {
|
||||
float f;
|
||||
float a[10];
|
||||
} s1, s2;
|
||||
|
||||
s1 = s2; // ERROR
|
||||
if (s1 == s2); // ERROR
|
||||
if (s1 != s2); // ERROR
|
||||
|
||||
switch(b) { // ERROR
|
||||
}
|
||||
}
|
||||
|
||||
invariant gl_FragColor;
|
||||
float fa[]; // ERROR
|
||||
float f13;
|
||||
invariant f13; // ERROR
|
||||
struct S { int a; };
|
||||
invariant S; // ERROR, not an input or output
|
||||
invariant float fi; // ERROR
|
||||
varying vec4 av;
|
||||
invariant av; // okay in v100
|
||||
|
||||
void foo10()
|
||||
{
|
||||
invariant f; // ERROR
|
||||
invariant float f2; // ERROR
|
||||
float f3;
|
||||
invariant f3; // ERROR
|
||||
}
|
||||
|
||||
uniform vec2 uv2;
|
||||
invariant uv2; // ERROR
|
||||
invariant uniform vec3 uv3; // ERROR
|
||||
|
||||
sampler2D glob2D; // ERROR
|
||||
void f11(sampler2D p2d)
|
||||
{
|
||||
sampler2D v2D; // ERROR
|
||||
}
|
||||
varying sampler2D vary2D; // ERROR
|
||||
|
||||
struct sp {
|
||||
highp float f;
|
||||
in float g; // ERROR
|
||||
uniform float h; // ERROR
|
||||
invariant float i; // ERROR
|
||||
};
|
||||
|
||||
uniform sampler3D s3D; // ERROR
|
||||
|
||||
#extension GL_OES_texture_3D : enable
|
||||
|
||||
precision highp sampler3D;
|
||||
uniform sampler3D s3D2;
|
||||
|
||||
void foo234()
|
||||
{
|
||||
texture3D(s3D2, vec3(0.2), 0.2);
|
||||
texture3DProj(s3D2, v[1], 0.4);
|
||||
dFdx(v[0]); // ERROR
|
||||
dFdy(3.2); // ERROR
|
||||
fwidth(f13); // ERROR
|
||||
}
|
||||
|
||||
#extension GL_OES_standard_derivatives : enable
|
||||
|
||||
void foo236()
|
||||
{
|
||||
dFdx(v[0]);
|
||||
dFdy(3.2);
|
||||
fwidth(f13);
|
||||
gl_FragDepth = f13; // ERROR
|
||||
gl_FragDepthEXT = f13; // ERROR
|
||||
}
|
||||
|
||||
#extension GL_EXT_frag_depth : enable
|
||||
|
||||
void foo239()
|
||||
{
|
||||
gl_FragDepth = f13; // ERROR
|
||||
gl_FragDepthEXT = f13;
|
||||
}
|
||||
|
||||
#extension GL_OES_EGL_image_external : enable
|
||||
|
||||
uniform samplerExternalOES sExt;
|
||||
|
||||
void foo245()
|
||||
{
|
||||
texture2D(sExt, vec2(0.2));
|
||||
texture2DProj(sExt, vec3(f13));
|
||||
texture2DProj(sExt, v[2]);
|
||||
}
|
||||
|
||||
precision mediump samplerExternalOES;
|
||||
uniform samplerExternalOES mediumExt;
|
||||
uniform highp samplerExternalOES highExt;
|
||||
|
||||
void foo246()
|
||||
{
|
||||
texture2D(mediumExt, vec2(0.2));
|
||||
texture2DProj(highExt, v[2]);
|
||||
texture3D(sExt, vec3(f13)); // ERROR
|
||||
texture2DProjLod(sExt, vec3(f13), f13); // ERROR
|
||||
int a;
|
||||
~a; // ERROR
|
||||
a | a; // ERROR
|
||||
a & a; // ERROR
|
||||
}
|
||||
|
||||
#extension GL_OES_EGL_image_external : disable
|
||||
uniform sampler2D s2Dg;
|
||||
|
||||
int foo203940(int a, float b, float a) // ERROR, a redefined
|
||||
{
|
||||
texture2DProjGradEXT(s2Dg, vec3(f13), uv2, uv2); // ERROR, extension not enabled
|
||||
return a;
|
||||
}
|
||||
|
||||
float f123 = 4.0f; // ERROR
|
||||
float f124 = 5e10F; // ERROR
|
||||
|
||||
#extension GL_EXT_shader_texture_lod : enable
|
||||
|
||||
uniform samplerCube sCube;
|
||||
|
||||
void foo323433()
|
||||
{
|
||||
texture2DLodEXT(s2Dg, uv2, f13);
|
||||
texture2DProjGradEXT(s2Dg, vec3(f13), uv2, uv2);
|
||||
texture2DGradEXT(s2Dg, uv2, uv2, uv2);
|
||||
textureCubeGradEXT(sCube, vec3(f13), vec3(f13), vec3(f13));
|
||||
}
|
||||
|
||||
int fgfg(float f, mediump int i);
|
||||
int fgfg(float f, highp int i) { return 2; } // ERROR, precision qualifier difference
|
||||
|
||||
int fffg(float f);
|
||||
int fffg(float f); // ERROR, can't have multiple prototypes
|
||||
|
||||
int gggf(float f);
|
||||
int gggf(float f) { return 2; }
|
||||
|
||||
int agggf(float f) { return 2; }
|
||||
int agggf(float f);
|
||||
int agggf(float f); // ERROR, second prototype
|
||||
|
||||
varying struct SSS { float f; } s; // ERROR
|
||||
|
||||
int vf(void);
|
||||
int vf2();
|
||||
int vf3(void v); // ERROR
|
||||
int vf4(int, void); // ERROR
|
||||
int vf5(int, void v); // ERROR
|
||||
|
||||
void badswizzle()
|
||||
{
|
||||
vec3 a[5];
|
||||
a.y; // ERROR, no array swizzle
|
||||
a.zy; // ERROR, no array swizzle
|
||||
a.nothing; // ERROR
|
||||
a.length(); // ERROR, not this version
|
||||
a.method(); // ERROR
|
||||
}
|
||||
|
||||
float fooinit();
|
||||
|
||||
float fooinittest()
|
||||
{
|
||||
return fooinit();
|
||||
}
|
||||
|
||||
// Test extension GL_EXT_blend_func_extended
|
||||
void blendFuncFail() // Error since extension GL_EXT_blend_func_extended is disabled
|
||||
{
|
||||
gl_SecondaryFragColorEXT = vec4(1.0);
|
||||
gl_SecondaryFragDataEXT[gl_MaxDualSourceDrawBuffersEXT - 1] = vec4(0.1);
|
||||
}
|
||||
#extension GL_EXT_blend_func_extended : enable
|
||||
void blendFunc()
|
||||
{
|
||||
gl_SecondaryFragColorEXT = vec4(1.0);
|
||||
gl_SecondaryFragDataEXT[gl_MaxDualSourceDrawBuffersEXT - 1] = vec4(0.1);
|
||||
}
|
||||
|
||||
// Test extra-function initializers
|
||||
const float fi1 = 3.0;
|
||||
const float fi2 = 4.0;
|
||||
const float fi3 = 5.0;
|
||||
|
||||
float fooinit()
|
||||
{
|
||||
return fi1 + fi2 + fi3; // should make a constant of 12.0
|
||||
}
|
||||
|
||||
int init1 = gl_FrontFacing ? 1 : 2; // ERROR, non-const initializer
|
||||
|
||||
#ifdef GL_EXT_shader_non_constant_global_initializers
|
||||
#extension GL_EXT_shader_non_constant_global_initializers : enable
|
||||
#endif
|
||||
|
||||
int init2 = gl_FrontFacing ? 1 : 2;
|
||||
|
||||
#define A__B // error
|
||||
int a__b; // error
|
||||
|
||||
#pragma STDGL invariant(all)
|
||||
|
||||
#line 3000
|
||||
#error line of this error should be 3000
|
||||
|
||||
uniform samplerExternalOES badExt; // syntax ERROR
|
||||
Reference in New Issue
Block a user