xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/spv.intrinsicsInteractWithCoopMat.comp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 450 core
2#pragma use_vulkan_memory_model
3
4#extension GL_KHR_memory_scope_semantics : enable
5#extension GL_KHR_cooperative_matrix : enable
6#extension GL_EXT_spirv_intrinsics : enable
7
8layout(local_size_x = 32, local_size_y = 1, local_size_z = 1) in;
9
10layout(set=0, binding=0, std430) buffer Buf { uvec4 x[]; } buf;
11
12#define ELT_SIZE 16
13#define half spirv_type(capabilities=[9], id = 22, 16)
14
15coopmat<half, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> A;
16
17void main() {
18  coopMatLoad(A, buf.x, 0, ELT_SIZE / 8, 0);
19  coopMatStore(A, buf.x, 64, 4, 0);
20}
21