yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
eb77189a
main
1#version 450 core 2 3#extension GL_EXT_bfloat16 : require 4#extension GL_EXT_float_e4m3 : require 5#extension GL_KHR_cooperative_matrix : enable 6#extension GL_KHR_memory_scope_semantics : enable 7#extension GL_EXT_shader_explicit_arithmetic_types : enable 8#extension GL_EXT_scalar_block_layout : enable 9#extension GL_NV_cooperative_matrix2 : enable 10layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; 11 12floate4m3_t funcfp8(floate4m3_t x) 13{ 14 return x; 15} 16 17void main() 18{ 19 floate4m3_t b; 20 uint8_t u8 = uint8_t(5); 21 uint16_t u16 = uint16_t(5); 22 uint32_t u32 = 5; 23 uint64_t u64 = 5; 24 int8_t i8 = int8_t(6); 25 int16_t i16 = int16_t(6); 26 int32_t i32 = 6; 27 int64_t i64 = 6; 28 floate4m3_t fp8 = floate4m3_t(7); 29 float16_t f16 = float16_t(7); 30 float32_t f32 = 7; 31 float64_t f64 = 7; 32 b = (u8); 33 b = (u16); 34 b = (u32); 35 b = (u64); 36 b = (i8); 37 b = (i16); 38 b = (i32); 39 b = (i64); 40 b = (fp8); // not an error 41 b = (f16); 42 b = (f32); 43 b = (f64); 44 u8 = (b); 45 u16 = (b); 46 u32 = (b); 47 u64 = (b); 48 i8 = (b); 49 i16 = (b); 50 i32 = (b); 51 i64 = (b); 52 fp8 = (b); // not an error 53 f16 = (b); // not an error 54 f32 = (b); // not an error 55 f64 = (b); // not an error 56 57 dot(b2, f16vec2(0)); 58 59 funcfp8(f16); 60 funcfp8(f32); 61 funcfp8(f64); 62 63 bool bl = bool(b); 64 b = floate4m3_t(bl); 65 66 b++; 67 b--; 68 -b; 69 70 bfloat16_t bf16 = bfloat16_t(7); 71 b = (bf16); 72 bf16 = b; 73 74 saturatedConvertEXT(b, b); 75 saturatedConvertEXT(b, f16, f16); 76 saturatedConvertEXT(b, f16vec2(f16)); 77 saturatedConvertEXT(u8, u8); 78 79 b+b; 80 coopmat<floate4m3_t, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> cmA; 81 cmA+cmA; 82} 83