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#extension GL_EXT_bfloat16 : enable 8#extension GL_EXT_float_e5m2 : enable 9#extension GL_EXT_float_e4m3 : enable 10 11layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in; 12 13void main() 14{ 15 vector<bfloat16_t, 5> vbf16; 16 vector<float16_t, 5> vf16; 17 vector<float, 5> vf32; 18 vector<float64_t, 5> vf64; 19 vector<uint16_t, 5> vu16; 20 vector<int16_t, 5> vi16; 21 vector<uint32_t, 5> vu32; 22 vector<int32_t, 5> vi32; 23 vector<uint64_t, 5> vu64; 24 vector<int64_t, 5> vi64; 25 vector<floate5m2_t, 5> vfe5m2; 26 vector<floate4m3_t, 5> vfe4m3; 27 vector<int8_t, 5> vi8; 28 vector<uint8_t, 5> vu8; 29 30 vi16 = halfBitsToInt16(vf16); 31 vu16 = halfBitsToUint16(vf16); 32 vf16 = int16BitsToHalf(vi16); 33 vf16 = uint16BitsToHalf(vu16); 34 35 vi16 = float16BitsToInt16(vf16); 36 vu16 = float16BitsToUint16(vf16); 37 vf16 = int16BitsToFloat16(vi16); 38 vf16 = uint16BitsToFloat16(vu16); 39 40 vi16 = bfloat16BitsToIntEXT(vbf16); 41 vu16 = bfloat16BitsToUintEXT(vbf16); 42 vbf16 = intBitsToBFloat16EXT(vi16); 43 vbf16 = uintBitsToBFloat16EXT(vu16); 44 45 vi32 = floatBitsToInt(vf32); 46 vu32 = floatBitsToUint(vf32); 47 vf32 = intBitsToFloat(vi32); 48 vf32 = uintBitsToFloat(vu32); 49 50 vi64 = doubleBitsToInt64(vf64); 51 vu64 = doubleBitsToUint64(vf64); 52 vf64 = int64BitsToDouble(vi64); 53 vf64 = uint64BitsToDouble(vu64); 54 55 vi8 = floate5m2BitsToIntEXT(vfe5m2); 56 vu8 = floate5m2BitsToUintEXT(vfe5m2); 57 vfe5m2 = intBitsToFloate5m2EXT(vi8); 58 vfe5m2 = uintBitsToFloate5m2EXT(vu8); 59 60 vi8 = floate4m3BitsToIntEXT(vfe4m3); 61 vu8 = floate4m3BitsToUintEXT(vfe4m3); 62 vfe4m3 = intBitsToFloate4m3EXT(vi8); 63 vfe4m3 = uintBitsToFloate4m3EXT(vu8); 64 65 saturatedConvertEXT(vfe5m2, vf16); 66 saturatedConvertEXT(vfe4m3, vf32); 67}