зеркало из https://github.com/stride3d/xkslang.git
79 строки
1.4 KiB
GLSL
79 строки
1.4 KiB
GLSL
#version 130
|
|
|
|
uniform int c;
|
|
uniform usampler2D us2D;
|
|
|
|
in ivec2 x;
|
|
in vec2 v2a;
|
|
in float c1D;
|
|
in vec2 c2D;
|
|
in vec3 c3D;
|
|
smooth vec4 c4D; // ??
|
|
|
|
uniform vec4 v4;
|
|
|
|
void main()
|
|
{
|
|
float f = 3;
|
|
switch (c) { // full switch testing in switch.frag
|
|
case 1:
|
|
f = sin(f);
|
|
break;
|
|
case 2:
|
|
f = f * f;
|
|
default:
|
|
f = 3.0;
|
|
}
|
|
|
|
uint i;
|
|
i = texture(us2D, x).w; // full uint testing in uint.frag
|
|
i << 3u | 0x8Au >> 1u & 0xFFu;
|
|
|
|
vec3 modfOut, modfIn;
|
|
vec3 v11 = modf(modfIn, modfOut);
|
|
float t = trunc(f);
|
|
vec2 v12 = round(v2a);
|
|
vec2 v13 = roundEven(v2a);
|
|
bvec2 b10 = isnan(v2a);
|
|
bvec4 b11 = isinf(v4);
|
|
|
|
sinh(c1D) +
|
|
cosh(c1D) * tanh(c2D);
|
|
asinh(c4D) + acosh(c4D);
|
|
atanh(c3D);
|
|
|
|
int id = gl_VertexID;
|
|
gl_ClipDistance[1] = 0.3;
|
|
}
|
|
|
|
// version 140 features
|
|
|
|
//uniform isamplerBuffer sbuf;
|
|
|
|
//layout(std140) uniform blockName {
|
|
// int anonMem;
|
|
//};
|
|
|
|
void foo88()
|
|
{
|
|
int id = gl_InstanceID; // ERROR
|
|
//id += anonMem;
|
|
id += texelFetch(id, 8);
|
|
|
|
gl_ClipVertex; // these are all present...
|
|
gl_Color;
|
|
gl_LightSource[0];
|
|
gl_DepthRange.far;
|
|
gl_TexCoord;
|
|
gl_FogFragCoord;
|
|
gl_FrontColor;
|
|
}
|
|
|
|
// token pasting
|
|
|
|
#define mac abc##def
|
|
int mac;
|
|
|
|
#define macr(A,B) A##B
|
|
int macr(qrs,tuv);
|