yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
62f5430e
main
1#version 450 core 2 3#extension GL_EXT_float_e2m3 : require 4#extension GL_KHR_memory_scope_semantics : enable 5#extension GL_EXT_shader_explicit_arithmetic_types : enable 6#extension GL_EXT_scalar_block_layout : enable 7#extension GL_EXT_long_vector : enable 8 9layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; 10 11const floate2m3_t bc10 = floate2m3_t(10); 12const fe2m3vec2 b2c20 = fe2m3vec2(20); 13layout(constant_id = 1) const floate2m3_t bsc10 = floate2m3_t(10); 14 15struct S { floate2m3_t b; }; 16const S sc = S(bc10); 17 18const floate2m3_t bca[2] = {bc10, bc10}; 19 20floate2m3_t funcfe2m3(floate2m3_t x) 21{ 22 return x; 23} 24 25void main() 26{ 27 float f = 2.0; 28 floate2m3_t b = floate2m3_t(1.0fe2m3); 29 30 float16_t f16 = float16_t(7); 31 float32_t f32 = 7; 32 float64_t f64 = 7; 33 f16 = float16_t(b); 34 f32 = float32_t(b); 35 f64 = float64_t(b); 36 37 f16 = b; 38 f32 = b; 39 f64 = b; 40 41 b = funcfe2m3(b); 42 43 44 fe2m3vec4 v4; 45 vector<floate2m3_t, 8> v8; 46 vector<floate2m3_t, 16> v16; 47 48 u8vec3 u8 = packFloat4xfe2m3EXT(v4); 49 u16vec3 u16 = packFloat8xfe2m3EXT(v8); 50 u32vec3 u32 = packFloat16xfe2m3EXT(v16); 51 52 v4 = unpackFloat4xfe2m3EXT(u8); 53 v8 = unpackFloat8xfe2m3EXT(u16); 54 v16 = unpackFloat16xfe2m3EXT(u32); 55 56 b = bitcastExtractfe2m3EXT(uint8_t(1), 2); 57 fe2m3vec4 v4_2 = bitcastExtractfe2m3EXT(u8vec4(1), 2); 58 vector<floate2m3_t, 7> v7 = bitcastExtractfe2m3EXT(vector<uint8_t, 7>(1), 3); 59}