79 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			GLSL
		
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			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);
 |