spv.coopvecloadstore.comp // Module Version 10300 // Generated by (magic number): 8000b // Id's are bound by 79 Capability Shader Capability Float16 Capability Int64 Capability StorageUniformBufferBlock16 Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability CooperativeVectorNV Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_vulkan_memory_model" Extension "SPV_NV_cooperative_vector" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT VulkanKHR EntryPoint GLCompute 4 "main" ExecutionMode 4 LocalSize 64 1 1 Source GLSL 450 SourceExtension "GL_EXT_buffer_reference" SourceExtension "GL_EXT_nonuniform_qualifier" SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_KHR_memory_scope_semantics" SourceExtension "GL_NV_cooperative_vector" Name 4 "main" Name 11 "tempArg" Name 15 "MatrixBuf" MemberName 15(MatrixBuf) 0 "matrixData" Name 17 "matrixBuf" Name 24 "v" Name 29 "tempArg" Name 32 "MatrixBuf2" MemberName 32(MatrixBuf2) 0 "matrixData" Name 34 "matrixBuf2" Name 41 "tempArg" Name 43 "MatrixBuf3" MemberName 43(MatrixBuf3) 0 "matrixData" Name 45 "matrixBuf3" Name 52 "tempArg" Name 55 "MatrixBuf4" MemberName 55(MatrixBuf4) 0 "matrixData" Name 57 "matrixBuf4" Name 66 "tempArg" Name 70 "matrixShmem" Decorate 14 ArrayStride 32 Decorate 15(MatrixBuf) Block MemberDecorate 15(MatrixBuf) 0 Offset 0 Decorate 17(matrixBuf) Binding 0 Decorate 17(matrixBuf) DescriptorSet 0 Decorate 31 ArrayStride 2 Decorate 32(MatrixBuf2) Block MemberDecorate 32(MatrixBuf2) 0 Offset 0 Decorate 34(matrixBuf2) Binding 0 Decorate 34(matrixBuf2) DescriptorSet 0 Decorate 42 ArrayStride 4 Decorate 43(MatrixBuf3) Block MemberDecorate 43(MatrixBuf3) 0 Offset 0 Decorate 45(matrixBuf3) Binding 0 Decorate 45(matrixBuf3) DescriptorSet 0 Decorate 54 ArrayStride 2 Decorate 55(MatrixBuf4) Block MemberDecorate 55(MatrixBuf4) 0 Offset 0 Decorate 57(matrixBuf4) DecorationAliasedPointerEXT Decorate 78 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeInt 32 0 8: 7(int) Constant 5 9: TypeCooperativeVectorNV 6(float) 8 10: TypePointer Function 9 12: TypeInt 64 0 13: TypeVector 12(int64_t) 3 14: TypeRuntimeArray 13(i64vec3) 15(MatrixBuf): TypeStruct 14 16: TypePointer StorageBuffer 15(MatrixBuf) 17(matrixBuf): 16(ptr) Variable StorageBuffer 18: TypeInt 32 1 19: 18(int) Constant 0 20: TypePointer StorageBuffer 14 22: 7(int) Constant 128 28: 7(int) Constant 144 30: TypeFloat 16 31: TypeRuntimeArray 30(float16_t) 32(MatrixBuf2): TypeStruct 31 33: TypePointer StorageBuffer 32(MatrixBuf2) 34(matrixBuf2): 33(ptr) Variable StorageBuffer 35: TypePointer StorageBuffer 31 42: TypeRuntimeArray 6(float) 43(MatrixBuf3): TypeStruct 42 44: TypePointer StorageBuffer 43(MatrixBuf3) 45(matrixBuf3): 44(ptr) Variable StorageBuffer 46: TypePointer StorageBuffer 42 TypeForwardPointer 53 PhysicalStorageBufferEXT 54: TypeRuntimeArray 30(float16_t) 55(MatrixBuf4): TypeStruct 54 53: TypePointer PhysicalStorageBufferEXT 55(MatrixBuf4) 56: TypePointer Function 53(ptr) 59: TypePointer PhysicalStorageBufferEXT 54 67: 7(int) Constant 100 68: TypeArray 7(int) 67 69: TypePointer Workgroup 68 70(matrixShmem): 69(ptr) Variable Workgroup 71: 7(int) Constant 2 75: TypeVector 7(int) 3 76: 7(int) Constant 64 77: 7(int) Constant 1 78: 75(ivec3) ConstantComposite 76 77 77 4(main): 2 Function None 3 5: Label 11(tempArg): 10(ptr) Variable Function 24(v): 10(ptr) Variable Function 29(tempArg): 10(ptr) Variable Function 41(tempArg): 10(ptr) Variable Function 52(tempArg): 10(ptr) Variable Function 57(matrixBuf4): 56(ptr) Variable Function 66(tempArg): 10(ptr) Variable Function 21: 20(ptr) AccessChain 17(matrixBuf) 19 23: 9 CooperativeVectorLoadNV 21 22 None Store 11(tempArg) 23 25: 9 Load 11(tempArg) Store 24(v) 25 26: 9 Load 24(v) 27: 20(ptr) AccessChain 17(matrixBuf) 19 CooperativeVectorStoreNV 27 28 26 None 36: 35(ptr) AccessChain 34(matrixBuf2) 19 37: 9 CooperativeVectorLoadNV 36 22 MakePointerVisibleKHR NonPrivatePointerKHR 8 Store 29(tempArg) 37 38: 9 Load 29(tempArg) Store 24(v) 38 39: 9 Load 24(v) 40: 35(ptr) AccessChain 34(matrixBuf2) 19 CooperativeVectorStoreNV 40 28 39 MakePointerAvailableKHR NonPrivatePointerKHR 8 47: 46(ptr) AccessChain 45(matrixBuf3) 19 48: 9 CooperativeVectorLoadNV 47 22 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 8 Store 41(tempArg) 48 49: 9 Load 41(tempArg) Store 24(v) 49 50: 9 Load 24(v) 51: 46(ptr) AccessChain 45(matrixBuf3) 19 CooperativeVectorStoreNV 51 28 50 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 8 58: 53(ptr) Load 57(matrixBuf4) 60: 59(ptr) AccessChain 58 19 61: 9 CooperativeVectorLoadNV 60 22 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 8 Store 52(tempArg) 61 62: 9 Load 52(tempArg) Store 24(v) 62 63: 9 Load 24(v) 64: 53(ptr) Load 57(matrixBuf4) 65: 59(ptr) AccessChain 64 19 CooperativeVectorStoreNV 65 28 63 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 8 72: 9 CooperativeVectorLoadNV 70(matrixShmem) 22 MakePointerVisibleKHR NonPrivatePointerKHR 71 Store 66(tempArg) 72 73: 9 Load 66(tempArg) Store 24(v) 73 74: 9 Load 24(v) CooperativeVectorStoreNV 70(matrixShmem) 28 74 MakePointerAvailableKHR NonPrivatePointerKHR 71 Return FunctionEnd