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