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