yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
4d2298bf
main
1#version 450 2 3flat in ivec4 uiv4 ; 4in vec4 uv4 ; 5bool ub ; 6bvec4 ub41 ,ub42 ; 7in float uf ; 8flat in int ui ; 9flat in uvec4 uuv4 ; 10flat in uint uui ; 11 12out vec4 FragColor ; 13 14void main () 15{ 16vec4 v ; 17float f ; 18bool b ; 19bvec4 bv4 ; 20int i ; 21uint u ; 22 23// floating point 24v = radians (uv4 ); 25v += degrees (v ); 26v += (i = ui * ui ,sin (v )); 27v += cos (v ); 28v += tan (v ); 29v += asin (v ); 30v += acos (v ); 31 32v += atan (v ); 33v += sinh (v ); 34v += cosh (v ); 35v += tanh (v ); 36v += asinh (v ); 37v += acosh (v ); 38v += atanh (v ); 39 40v += pow (v ,v ); 41v += exp (v ); 42v += log (v ); 43v += exp2 (v ); 44v += log2 (v ); 45v += sqrt (v ); 46v += inversesqrt (v ); 47v += abs (v ); 48v += sign (v ); 49v += floor (v ); 50 51v += trunc (v ); 52v += round (v ); 53v += roundEven (v ); 54 55v += ceil (v ); 56v += fract (v ); 57v += mod (v ,v ); 58v += mod (v ,v .x ); 59 60v += modf (v ,v ); 61v += modf (v ,v .yzxw ); 62 63v += min (v ,uv4 ); 64v += max (v ,uv4 ); 65v += clamp (v ,uv4 ,uv4 ); 66v += mix (v ,v ,v ); 67 68v += mix (v ,v ,ub41 ); 69v += mix (v ,v ,f ); 70//spv v += intBitsToFloat(ui); 71// v += uintBitsToFloat(uui); 72// i += floatBitsToInt(f); 73// u += floatBitsToUint(f); 74v += fma (v ,uv4 ,v ); 75 76v += step (v ,v ); 77v += smoothstep (v ,v ,v ); 78v += step (uf ,v ); 79v += smoothstep (uf ,uf ,v ); 80v += normalize (v ); 81v += faceforward (v ,v ,v ); 82v += reflect (v ,v ); 83v += refract (v ,v ,uf ); 84v += dFdx (v ); 85v += dFdy (v ); 86v += fwidth (v ); 87 88// signed integer 89i += abs (ui ); 90i += sign (i ); 91i += min (i ,ui ); 92i += max (i ,ui ); 93i += clamp (i ,ui ,ui ); 94 95// unsigned integer 96u += min (u ,uui ); 97u += max (u ,uui ); 98u += clamp (u ,uui ,uui ); 99 100// multiple out operands 101uvec4 msb ; 102uvec4 lsb ; 103umulExtended (uuv4 .xyz ,uuv4 .xyz ,msb .xyz ,lsb .xyz ); 104u += msb .x + msb .y + msb .z ; 105u += lsb .x + lsb .y + lsb .z ; 106 107//// bool 108b = isnan (uf ); 109b = isinf (f ); 110b = any (lessThan (v ,uv4 )); 111b = (b && any (lessThanEqual (v ,uv4 ))); 112b = (b && any (greaterThan (v ,uv4 ))); 113b = (b && any (greaterThanEqual (v ,uv4 ))); 114b = (b && any (equal (ub41 ,ub42 ))); 115b = (b && any (notEqual (ub41 ,ub42 ))); 116b = (b && any (ub41 )); 117b = (b && all (ub41 )); 118b = (b && any (not (ub41 ))); 119 120i = ((i + ui )* i - ui ) /i ; 121i = i %ui ; 122if (i == ui || i != ui && i == ui ^^i != 2 ) 123++ i ; 124 125f = ((uf + uf )* uf - uf ) /uf ; 126 127f += length (v ); 128f += distance (v ,v ); 129f += dot (v ,v ); 130f += dot (f ,uf ); 131f += cross (v .xyz ,v .xyz ).x ; 132 133if (f == uf || f != uf && f != 2.0 ) 134++ f ; 135 136i &=ui ; 137i |=0x42 ; 138i ^=ui ; 139i %=17 ; 140i >>=2 ; 141i <<=ui ; 142i = ~i ; 143b = !b ; 144 145FragColor = b ?vec4 (i )+ vec4 (f )+ v :v ; 146 147mat4 m1 = mat4 (1.0 ),m2 = mat4 (0.0 ); 148FragColor += (b ?m1 :m2 )[1 ]; 149}