yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

Jeff BolzAdd error for coopmat *= scalar with bf16/fp8.98beacdb

main
1.5 KiB79 linesraw
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