yum-mirror/glslang

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

Jeff BolzImplement GL_NV_cooperative_vector1b65bd60

main
1013 B35 linesraw
1#version 450 core
2#extension GL_KHR_memory_scope_semantics : enable
3#extension GL_NV_cooperative_vector : enable
4#extension GL_EXT_shader_explicit_arithmetic_types : enable
5#extension GL_EXT_buffer_reference : enable
6
7layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
8
9coopvecNV<float16_t, 1> foo(coopvecNV<float16_t, 1> x) { return x; }
10coopvecNV<float16_t, 1> foo2(coopvecNV<float16_t, 1> x) { return -x; }
11
12layout(set = 0, binding = 0) buffer MatrixBuf {
13    float16_t matrixData[];
14} matrixBuf;
15
16void main()
17{
18
19    uint M=1, K=1;
20    bool transpose = false;
21    int interp = gl_ComponentTypeFloat16NV;
22    int matrixlayout = 0;
23    coopvecNV<float, 8> v7;
24    coopvecNV<float, 8> v8;
25    coopVecMatMulNV(v8, v7, interp, matrixBuf.matrixData, 11, interp, M, K, matrixlayout, transpose, 300);
26
27    coopvecNV<float, 5> v;
28    v.x;
29    v[5] = 0.0;
30
31    coopvecNV<float> v2;
32    coopvecNV<float, 0> v3;
33    coopvecNV<float, -1> v4;
34    coopvecNV<float, float> v5;
35}