126 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 400 core
 | |
| 
 | |
| layout(vertices = 4) out; // ERROR
 | |
| layout(quads, cw) in;
 | |
| layout(triangles) in;     // ERROR
 | |
| layout(isolines) in;      // ERROR
 | |
| 
 | |
| layout(ccw) in;           // ERROR
 | |
| layout(cw) in;
 | |
| 
 | |
| layout(fractional_odd_spacing) in;    
 | |
| layout(equal_spacing) in;              // ERROR
 | |
| layout(fractional_even_spacing) in;    // ERROR
 | |
| 
 | |
| layout(point_mode) in;
 | |
| 
 | |
| patch in vec4 patchIn;
 | |
| patch out vec4 patchOut;  // ERROR
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     barrier(); // ERROR
 | |
| 
 | |
|     int a = gl_MaxTessEvaluationInputComponents +
 | |
|             gl_MaxTessEvaluationOutputComponents +
 | |
|             gl_MaxTessEvaluationTextureImageUnits +
 | |
|             gl_MaxTessEvaluationUniformComponents +
 | |
|             gl_MaxTessPatchComponents +
 | |
|             gl_MaxPatchVertices +
 | |
|             gl_MaxTessGenLevel;
 | |
| 
 | |
|     vec4 p = gl_in[1].gl_Position;
 | |
|     float ps = gl_in[1].gl_PointSize;
 | |
|     float cd = gl_in[1].gl_ClipDistance[2];
 | |
| 
 | |
|     int pvi = gl_PatchVerticesIn;
 | |
|     int pid = gl_PrimitiveID;
 | |
|     vec3 tc = gl_TessCoord;
 | |
|     float tlo = gl_TessLevelOuter[3];
 | |
|     float tli = gl_TessLevelInner[1];
 | |
| 
 | |
|     gl_Position = p;
 | |
|     gl_PointSize = ps;
 | |
|     gl_ClipDistance[2] = cd;
 | |
| }
 | |
| 
 | |
| smooth patch in vec4 badp1;         // ERROR
 | |
| flat patch in vec4 badp2;           // ERROR
 | |
| noperspective patch in vec4 badp3;  // ERROR
 | |
| patch sample in vec3 badp4;         // ERROR
 | |
| 
 | |
| #extension GL_ARB_separate_shader_objects : enable
 | |
| 
 | |
| in gl_PerVertex
 | |
| {
 | |
|     float gl_ClipDistance[1];
 | |
| } gl_in[];
 | |
| 
 | |
| in gl_PerVertex            // ERROR, second redeclaration of gl_in
 | |
| {
 | |
|     float gl_ClipDistance[1];
 | |
| } gl_in[];
 | |
| 
 | |
| layout(quads, cw) out;     // ERROR
 | |
| layout(triangles) out;     // ERROR
 | |
| layout(isolines) out;      // ERROR
 | |
| layout(cw) out;            // ERROR
 | |
| layout(fractional_odd_spacing) out;    // ERROR
 | |
| layout(equal_spacing) out;             // ERROR
 | |
| layout(fractional_even_spacing) out;   // ERROR
 | |
| layout(point_mode) out;                // ERROR
 | |
| 
 | |
| in vec2 ina;   // ERROR, not array
 | |
| in vec2 inb[];
 | |
| in vec2 inc[18];  // ERROR, wrong size
 | |
| in vec2 ind[gl_MaxPatchVertices];
 | |
| 
 | |
| in testbla {
 | |
|     int f;
 | |
| } bla;        // ERROR, not array
 | |
| 
 | |
| in testblb {
 | |
|     int f;
 | |
| } blb[];
 | |
| 
 | |
| in testblc {
 | |
|     int f;
 | |
| } blc[18]; // ERROR wrong size
 | |
| 
 | |
| in testbld {
 | |
|     int f;
 | |
| } bld[gl_MaxPatchVertices];
 | |
| 
 | |
| layout(location = 23) in vec4 ivla[];
 | |
| layout(location = 24) in vec4 ivlb[];
 | |
| layout(location = 24) in vec4 ivlc[];  // ERROR
 | |
| 
 | |
| layout(location = 23) out vec4 ovla[2];
 | |
| layout(location = 24) out vec4 ovlb[2];  // ERROR
 | |
| 
 | |
| in float gl_TessLevelOuter[4];           // ERROR, can't redeclare
 | |
| 
 | |
| patch in pinbn {
 | |
|     int a;
 | |
| } pinbi;
 | |
| 
 | |
| void devi()
 | |
| {
 | |
|     gl_DeviceIndex; // ERROR, no extension
 | |
|     gl_ViewIndex;   // ERROR, no extension
 | |
| }
 | |
| 
 | |
| #ifdef GL_EXT_device_group
 | |
| #extension GL_EXT_device_group : enable
 | |
| #endif
 | |
| 
 | |
| #ifdef GL_EXT_multiview
 | |
| #extension GL_EXT_multiview : enable
 | |
| #endif
 | |
| 
 | |
| void devie()
 | |
| {
 | |
|     gl_DeviceIndex;
 | |
|     gl_ViewIndex;
 | |
| }
 | 
