Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / spv.1.3.coopmat.comp
1 #version 450 core
2 #extension GL_KHR_memory_scope_semantics : enable\r
3 #extension GL_NV_cooperative_matrix : enable\r
4 #extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable\r
5 \r
6 #pragma use_variable_pointers\r
7 \r
8 layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
9 \r
10 layout(set = 0, binding = 0) coherent buffer Block {\r
11     float y[1024*1024];\r
12     float x[];\r
13 } block;\r
14 \r
15 \r
16 void main()
17 {
18     fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> m = fcoopmatNV<32, gl_ScopeSubgroup, 16, 8>(0.0);\r
19 \r
20     m = m + m;\r
21     m = m - m;\r
22     m = -m;\r
23     m = 2.0*m;\r
24     m = m*2.0;\r
25 \r
26     coopMatLoadNV(m, block.x, 16, 128, false);\r
27     coopMatStoreNV(m, block.x, 16, 128, false);\r
28 }