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 10void main() 11{ 12 vector<float64_t, 5> vf; 13 float64_t f; 14 vector<uint64_t, 5> vu; 15 vector<int64_t, 5> vi; 16 vector<int32_t, 5> vi32; 17 vector<bool, 5> vb; 18 bool b; 19 20 // 8.1 21 22 // 8.2 23 vf = sqrt(vf); 24 vf = inversesqrt(vf); 25 26 // 8.3 27 vf = abs(vf); 28 vf = sign(vf); 29 vf = floor(vf); 30 vf = trunc(vf); 31 vf = round(vf); 32 vf = roundEven(vf); 33 vf = ceil(vf); 34 vf = fract(vf); 35 vf = mod(vf, f); 36 vf = mod(vf, vf); 37 vf = modf(vf, vf); 38 vf = min(vf, f); 39 vf = min(vf, vf); 40 vf = max(vf, f); 41 vf = max(vf, vf); 42 vf = clamp(vf, f, f); 43 vf = clamp(vf, vf, vf); 44 vf = mix(vf, vf, f); 45 vf = mix(vf, vf, vf); 46 vf = mix(vf, vf, vb); 47 vf = step(vf, vf); 48 vf = step(f, vf); 49 vf = smoothstep(vf, vf, vf); 50 vf = smoothstep(f, f, vf); 51 vb = isnan(vf); 52 vb = isinf(vf); 53 vi = doubleBitsToInt64(vf); 54 vu = doubleBitsToUint64(vf); 55 vf = int64BitsToDouble(vi); 56 vf = uint64BitsToDouble(vu); 57 vf = fma(vf, vf, vf); 58 vf = frexp(vf, vi32); 59 vf = ldexp(vf, vi32); 60 61 // 8.5 62 f = length(vf); 63 f = distance(vf, vf); 64 f = dot(vf, vf); 65 vf = normalize(vf); 66 vf = faceforward(vf, vf, vf); 67 vf = reflect(vf, vf); 68 vf = refract(vf, vf, f); 69 70 // 8.7 71 vb = lessThan(vf, vf); 72 vb = lessThanEqual(vf, vf); 73 vb = greaterThan(vf, vf); 74 vb = greaterThanEqual(vf, vf); 75 vb = equal(vf, vf); 76 vb = notEqual(vf, vf); 77}