git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22145 e7fa87d3-cd2b-0410-9028-fcbf551c1848
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 300 es
 | |
| 
 | |
| uniform mat4x3 m43;
 | |
| uniform mat3x3 m33;
 | |
| uniform mat4x4 m44;
 | |
| 
 | |
| in vec3 v3;
 | |
| varying vec2 v2;               // ERROR, varying reserved
 | |
| in vec4 bad[10];               // ERROR, no arrayed inputs
 | |
| highp in vec4 badorder;        // ERROR, incorrect qualifier order
 | |
| out invariant vec4 badorder2;  // ERROR, incorrect qualifier order
 | |
| in centroid vec4 badorder4;    // ERROR, incorrect qualifier order
 | |
| out flat vec4 badorder3;       // ERROR, incorrect qualifier order
 | |
| void bar(in const float a);    // ERROR, incorrect qualifier order
 | |
| void bar2(highp in float b);   // ERROR, incorrect qualifier order
 | |
| smooth flat out vec4 rep;      // ERROR, replicating interpolation qualification
 | |
| centroid sample out vec4 rep2; // ERROR, replicating auxiliary qualification
 | |
| in uniform vec4 rep3;          // ERROR, replicating storage qualification
 | |
| 
 | |
| struct S {
 | |
|     vec3 c;
 | |
|     float f;
 | |
| };
 | |
| 
 | |
| out S s;
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     int id = gl_VertexID + gl_InstanceID;
 | |
| 
 | |
|     int c0 = gl_MaxVertexAttribs;
 | |
|     int c1 = gl_MaxVertexUniformVectors;
 | |
|     int c2 = gl_MaxVertexOutputVectors;
 | |
|     int c3 = gl_MaxFragmentInputVectors;
 | |
|     int c4 = gl_MaxVertexTextureImageUnits;
 | |
|     int c5 = gl_MaxCombinedTextureImageUnits;
 | |
|     int c6 = gl_MaxTextureImageUnits;
 | |
|     int c7 = gl_MaxFragmentUniformVectors;
 | |
|     int c8 = gl_MaxDrawBuffers;
 | |
|     int c9 = gl_MinProgramTexelOffset;
 | |
|     int c10 = gl_MaxProgramTexelOffset;
 | |
| 
 | |
|     mat3x4 tm = transpose(m43);
 | |
|     highp float dm = determinant(m44);
 | |
|     mat3x3 im = inverse(m33);
 | |
| 
 | |
|     mat3x2 op = outerProduct(v2, v3);
 | |
| 
 | |
|     gl_Position = m44[2];
 | |
|     gl_PointSize = v2.y;
 | |
| 
 | |
|      s.c = v3;
 | |
|      s.f = dm;
 | |
| 
 | |
| #ifdef GL_ES
 | |
| #error GL_ES is set
 | |
| #else
 | |
| #error GL_ES is not set
 | |
| #endif
 | |
| }
 | |
| 
 | |
| float badsize[];    // ERROR
 | |
| float[] badsize2;   // ERROR
 | |
| uniform ub {
 | |
|     int a[];        // ERROR
 | |
| } ubInst[];         // ERROR
 | |
| void foo(int a[]);  // ERROR
 | |
| float okayA[] = float[](3.0, 4.0);  // Okay
 |