 7c908d2543
			
		
	
	
		7c908d2543
		
	
	
	
	
		
			
			- non-arrayed geometry inputs and tessellation-control outputs - include user blocks in i/o array resizing based on primitive type - things belonging only to 'in' or 'out' are verified only on 'in' or 'out' - invocation number changing - move shader-scoped qualifier checking into its class - remove an incidental union of two levels of the node hierarchy in the yacc stack - remove layout(location=) default tracking when setting on a variable git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24551 e7fa87d3-cd2b-0410-9028-fcbf551c1848
		
			
				
	
	
		
			30 lines
		
	
	
		
			661 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			661 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 400 core
 | |
| 
 | |
| #extension GL_ARB_separate_shader_objects : enable
 | |
| 
 | |
| layout(vertices = 4) out;
 | |
| 
 | |
| out gl_PerVertex {
 | |
|     vec4 gl_Position;
 | |
| } gl_out[3];                 // ERROR, wrong size
 | |
| 
 | |
| out int a[gl_out.length()];
 | |
| out int outb[5];             // ERROR, wrong size
 | |
| out int outc[];
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     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;
 | |
|     int iid = gl_InvocationID;
 | |
| 
 | |
|     gl_out[1].gl_Position = p;
 | |
|     gl_out[1].gl_PointSize = ps;        // ERROR
 | |
| }
 | |
| 
 | |
| out float outf;  // ERROR, no array
 |