yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
e46b0877
main
1#version 330 2 3in vec4 inVar ; 4out vec4 outVar ; 5 6const int constInt = 3 ; 7 8uniform int uniformInt ; 9 10void main () 11{ 12const int a1 = 2 ;// okay 13const int a2 = constInt ;// okay 14const int a3 = uniformInt ;// error 15 16vec4 c [constInt ];// okay 17vec4 d [uniformInt ];// error 18vec4 e [constInt + uniformInt ];// error 19vec4 f [uniformInt + constInt ];// error 20 21vec4 g [int (sin (0.3 ))+ 1 ];// okay 22} 23 24const struct S { 25vec3 v3 ; 26ivec2 iv2 ; 27}s = S (vec3 (3.0 ),ivec2 (3 ,constInt + uniformInt ));// ERROR, non-const y componenent 28 29const struct S2 { 30vec3 v3 ; 31ivec2 iv2 ; 32mat2x4 m ; 33}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 34 35const float f = 3 ;// okay, type conversion