 e46b087760
			
		
	
	
		e46b087760
		
	
	
	
	
		
			
			git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23566 e7fa87d3-cd2b-0410-9028-fcbf551c1848
		
			
				
	
	
		
			36 lines
		
	
	
		
			816 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			816 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 330
 | |
| 
 | |
| in vec4 inVar;
 | |
| out vec4 outVar;
 | |
| 
 | |
| const int constInt = 3;
 | |
| 
 | |
| uniform int uniformInt;
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     const int a1 = 2;          // okay
 | |
|     const int a2 = constInt;   // okay
 | |
|     const int a3 = uniformInt; // error
 | |
| 
 | |
|     vec4 c[constInt];              // okay
 | |
|     vec4 d[uniformInt];            // error
 | |
|     vec4 e[constInt + uniformInt]; // error
 | |
|     vec4 f[uniformInt + constInt]; // error
 | |
| 
 | |
|     vec4 g[int(sin(0.3)) + 1];     // okay
 | |
| }
 | |
| 
 | |
| const struct S {
 | |
|     vec3 v3;
 | |
|     ivec2 iv2;
 | |
| } s = S(vec3(3.0), ivec2(3, constInt + uniformInt));  // ERROR, non-const y componenent
 | |
| 
 | |
| const struct S2 {
 | |
|     vec3 v3;
 | |
|     ivec2 iv2;
 | |
|     mat2x4 m;
 | |
| } s2 = S2(vec3(3.0), ivec2(3, constInt), mat2x4(1.0, 2.0, 3.0, inVar.x, 5.0, 6.0, 7.0, 8.0));  // ERROR, non-constant matrix
 | |
| 
 | |
| const float f = 3; // okay, type conversion
 |