yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
6c292d3b
main
1#version 310 es 2precision mediump float ; 3flat in int c, d; 4in float x; 5out float color; 6in vec4 v; 7 8vec4 foo1( vec4 v1, vec4 v2, int i1) 9{ 10switch (i1) 11{ 12case 0 : 13return v1; 14case 2 : 15case 1 : 16return v2; 17case 3 : 18return v1 * v2; 19} 20 21return vec4( 0.0 ); 22} 23 24vec4 foo2( vec4 v1, vec4 v2, int i1) 25{ 26switch (i1) 27{ 28case 0 : 29return v1; 30case 2 : 31return vec4( 1.0 ); 32case 1 : 33return v2; 34case 3 : 35return v1 * v2; 36} 37 38return vec4( 0.0 ); 39} 40 41void main() 42{ 43float f; 44int a[ 2 ]; 45int local = c; 46 47switch ( ++ local) 48{ 49} 50 51switch (c) { 52case 1 : 53f = sin(x); 54break ; 55case 2 : 56f = cos(x); 57break ; 58default : 59f = tan(x); 60} 61 62switch (c) { 63case 1 : 64f += sin(x); 65case 2 : 66f += cos(x); 67break ; 68default : 69f += tan(x); 70} 71 72switch (c) { 73case 1 : 74f += sin(x); 75break ; 76case 2 : 77f += cos(x); 78break ; 79} 80 81switch (c) { 82case 1 : 83f += sin(x); 84break ; 85case 2 : 86switch (d) { 87case 1 : 88f += x * x * x; 89break ; 90case 2 : 91f += x * x; 92break ; 93} 94break ; 95default : 96f += tan(x); 97} 98 99for ( int i = 0 ; i < 10 ; ++ i) { 100switch (c) { 101case 1 : 102f += sin(x); 103for ( int j = 20 ; j < 30 ; ++ j) { 104++ f; 105if (f < 100.2 ) 106break ; 107} 108break ; 109case 2 : 110f += cos(x); 111break ; 112break ; 113default : 114f += tan(x); 115} 116 117if (f < 3.43 ) 118break ; 119} 120 121switch (c) { 122case 1 : 123f += sin(x); 124break ; 125case 2 : 126// test no statements at end 127} 128 129color = f + float(local); 130 131color += foo1(v,v,c). y ; 132color += foo2(v,v,c). z ; 133 134switch (c) { 135case 0 : break ; 136default : 137} 138 139switch (c) { 140default : 141 } 142}