yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
b937eae5
main
1#version 450 core 2#extension GL_KHR_memory_scope_semantics : enable 3#extension GL_EXT_long_vector : enable 4#extension GL_EXT_shader_explicit_arithmetic_types : enable 5#extension GL_EXT_buffer_reference : enable 6#extension GL_EXT_expect_assume : enable 7 8layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in; 9 10layout(constant_id = 0) const uint32_t c0 = 0; 11 12void main() 13{ 14 vector<float, c0> vf; 15 float f; 16 vector<uint32_t, c0> vu; 17 uint32_t u; 18 vector<int32_t, c0> vi; 19 int32_t i; 20 vector<float16_t, c0> vf16; 21 float16_t f16; 22 vector<bool, c0> vb; 23 bool b; 24 25 vf = max(vf, vf); 26 vf = smoothstep(f, f, vf); 27 vf = smoothstep(vf, vf, vf); 28 29 vf16 = smoothstep(vf16, vf16, vf16); 30 31 // 8.1 32 vf = radians(vf); 33 vf = degrees(vf); 34 vf = sin(vf); 35 vf = cos(vf); 36 vf = tan(vf); 37 vf = asin(vf); 38 vf = acos(vf); 39 vf = atan(vf); 40 vf = atan(vf, vf); 41 vf = sinh(vf); 42 vf = cosh(vf); 43 vf = tanh(vf); 44 vf = asinh(vf); 45 vf = acosh(vf); 46 vf = atanh(vf); 47 48 // 8.2 49 vf = pow(vf, vf); 50 vf = exp(vf); 51 vf = log(vf); 52 vf = exp2(vf); 53 vf = log2(vf); 54 vf = sqrt(vf); 55 vf = inversesqrt(vf); 56 57 // 8.3 58 vf = abs(vf); 59 vf = sign(vf); 60 vf = floor(vf); 61 vf = trunc(vf); 62 vf = round(vf); 63 vf = roundEven(vf); 64 vf = ceil(vf); 65 vf = fract(vf); 66 vf = mod(vf, f); 67 vf = mod(vf, vf); 68 vf = modf(vf, vf); 69 vf = min(vf, f); 70 vf = min(vf, vf); 71 vf = max(vf, f); 72 vf = max(vf, vf); 73 vf = clamp(vf, f, f); 74 vf = clamp(vf, vf, vf); 75 vf = mix(vf, vf, f); 76 vf = mix(vf, vf, vf); 77 vf = mix(vf, vf, vb); 78 vf = step(vf, vf); 79 vf = step(f, vf); 80 vf = smoothstep(vf, vf, vf); 81 vf = smoothstep(f, f, vf); 82 vb = isnan(vf); 83 vb = isinf(vf); 84 vi = floatBitsToInt(vf); 85 vu = floatBitsToUint(vf); 86 vf = intBitsToFloat(vi); 87 vf = uintBitsToFloat(vu); 88 vf = fma(vf, vf, vf); 89 vf = frexp(vf, vi); 90 vf = ldexp(vf, vi); 91 92 // 8.5 93 f = length(vf); 94 f = distance(vf, vf); 95 f = dot(vf, vf); 96 vf = normalize(vf); 97 vf = faceforward(vf, vf, vf); 98 vf = reflect(vf, vf); 99 vf = refract(vf, vf, f); 100 101 // 8.7 102 vb = lessThan(vf, vf); 103 vb = lessThanEqual(vf, vf); 104 vb = greaterThan(vf, vf); 105 vb = greaterThanEqual(vf, vf); 106 vb = equal(vf, vf); 107 vb = notEqual(vf, vf); 108 b = any(vb); 109 b = all(vb); 110 vb = not(vb); 111 112 // 8.8 113 vu = uaddCarry(vu, vu, vu); 114 vu = usubBorrow(vu, vu, vu); 115 umulExtended(vu, vu, vu, vu); 116 imulExtended(vi, vi, vi, vi); 117 vu = bitfieldExtract(vu, i, i); 118 vu = bitfieldInsert(vu, vu, i, i); 119 vu = bitfieldReverse(vu); 120 vi = bitCount(vu); 121 vi = findLSB(vu); 122 vi = findMSB(vu); 123 124 // GL_EXT_shader_integer_mix 125 vu = mix(vu, vu, vb); 126 vb = mix(vb, vb, vb); 127 128 // GL_EXT_expect_assume 129 vu = expectEXT(vu, vu); 130}