yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
55e7d11c
main
1#version 330 2 3uniform sampler2D samp2D ; 4 5vec4 v1 = vec4 (2.0 ,3.0 ,5.0 ,7.0 ); 6vec4 v2 = vec4 (11.0 ,13.0 ,17.0 ,19.0 ); 7vec4 v3 = vec4 (23.0 ,29.0 ,31.0 ,37.0 ); 8vec4 v4 = vec4 (41.0 ,43.0 ,47.0 ,53.0 ); 9 10struct str { 11int a ; 12vec2 b [3 ]; 13bool c ; 14}; 15 16void main () 17{ 18mat4 m = mat4 (v1 ,v2 ,v3 ,v4 ); 19 20mat4 mm = matrixCompMult (m ,m ); 21float f = mm [1 ].w ;// should be 19 * 19 = 361 22 23// do a deep access to a spontaneous r-value 24float g = matrixCompMult (m ,m )[2 ].y ;// should be 29 * 29 = 841 25 26float h = str (1 ,vec2 [3 ](vec2 (2.0 ,3.0 ),vec2 (4.0 ,5.0 ),vec2 (6.0 ,7.0 )), true).b [1 ][1 ];// should be 5.0 27 28float i = texture (samp2D ,vec2 (0.5 ,0.5 )).y ; 29 30i += (i > 0.1 ?v1 :v2 )[3 ]; 31 32str t ; 33i += (t = str (1 ,vec2 [3 ](vec2 (2.0 ,3.0 ),vec2 (4.0 ,5.0 ),vec2 (6.0 ,7.0 )), true)).b [2 ].y ;// should be 7.0 34 35gl_FragColor = vec4 (f ,g ,h ,i ); 36}