yum-mirror/glslang

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

Jeff BolzImplement GL_EXT_long_vector (#4132)b937eae5

main
969 B29 linesraw
1#version 450 core
2#extension GL_KHR_memory_scope_semantics : enable
3#extension GL_EXT_long_vector : enable
4#extension GL_NV_cooperative_vector : enable
5#extension GL_EXT_shader_explicit_arithmetic_types : enable
6#extension GL_EXT_buffer_reference : enable
7#extension GL_EXT_nonuniform_qualifier : enable
8
9layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
10
11layout(set = 0, binding = 0) buffer MatrixBuf {
12    float16_t matrixData[];
13} matrixBuf;
14
15layout(set = 0, binding = 0) buffer MatrixBuf2 {
16    int8_t matrixData[];
17} matrixBuf2;
18
19void main()
20{
21    vector<float, 20> v7 = vector<float, 20>(1);
22    vector<float, 100> v8;
23
24    coopvecNV<float, 20> cv7 = coopvecNV<float, 20>(v7);
25    coopvecNV<float, 100> cv8;
26
27    coopVecMatMulNV(cv8, cv7, gl_ComponentTypeFloat16NV, matrixBuf.matrixData, 11, gl_ComponentTypeFloat16NV, 100, 20, gl_CooperativeVectorMatrixLayoutRowMajorNV, false, 300);
28    v8 = vector<float, 100>(cv8);
29}