| spv.longVectorMatMul.comp |
| // Module Version 10300 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 54 |
| |
| Capability Shader |
| Capability Float16 |
| Capability StorageUniformBufferBlock16 |
| Capability StorageBuffer8BitAccess |
| Capability VulkanMemoryModelKHR |
| Capability CooperativeVectorNV |
| Capability LongVectorEXT |
| Extension "SPV_EXT_long_vector" |
| Extension "SPV_KHR_8bit_storage" |
| Extension "SPV_KHR_vulkan_memory_model" |
| Extension "SPV_NV_cooperative_vector" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical VulkanKHR |
| EntryPoint GLCompute 4 "main" |
| ExecutionMode 4 LocalSize 64 1 1 |
| Source GLSL 450 |
| SourceExtension "GL_EXT_buffer_reference" |
| SourceExtension "GL_EXT_long_vector" |
| 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 9 "v7" |
| Name 16 "cv7" |
| Name 22 "tempArg" |
| Name 28 "MatrixBuf" |
| MemberName 28(MatrixBuf) 0 "matrixData" |
| Name 30 "matrixBuf" |
| Name 38 "cv8" |
| Name 42 "v8" |
| Name 51 "MatrixBuf2" |
| MemberName 51(MatrixBuf2) 0 "matrixData" |
| Name 53 "matrixBuf2" |
| Decorate 27 ArrayStride 2 |
| Decorate 28(MatrixBuf) Block |
| MemberDecorate 28(MatrixBuf) 0 Offset 0 |
| Decorate 30(matrixBuf) Binding 0 |
| Decorate 30(matrixBuf) DescriptorSet 0 |
| Decorate 48 BuiltIn WorkgroupSize |
| Decorate 50 ArrayStride 1 |
| Decorate 51(MatrixBuf2) Block |
| MemberDecorate 51(MatrixBuf2) 0 Offset 0 |
| Decorate 53(matrixBuf2) Binding 0 |
| Decorate 53(matrixBuf2) DescriptorSet 0 |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 32 |
| 7: TypeVector 6(float) 20 |
| 8: TypePointer Function 7(fvec) |
| 10: 6(float) Constant 1065353216 |
| 11: 7(fvec) ConstantComposite 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 |
| 12: TypeInt 32 0 |
| 13: 12(int) Constant 20 |
| 14: TypeCooperativeVectorNV 6(float) 13 |
| 15: TypePointer Function 14 |
| 19: 12(int) Constant 100 |
| 20: TypeCooperativeVectorNV 6(float) 19 |
| 21: TypePointer Function 20 |
| 24: TypeInt 32 1 |
| 25: 24(int) Constant 0 |
| 26: TypeFloat 16 |
| 27: TypeRuntimeArray 26(float16_t) |
| 28(MatrixBuf): TypeStruct 27 |
| 29: TypePointer StorageBuffer 28(MatrixBuf) |
| 30(matrixBuf): 29(ptr) Variable StorageBuffer |
| 31: TypePointer StorageBuffer 27 |
| 33: 12(int) Constant 11 |
| 34: TypeBool |
| 35: 34(bool) ConstantFalse |
| 36: 12(int) Constant 300 |
| 40: TypeVector 6(float) 100 |
| 41: TypePointer Function 40(fvec) |
| 45: TypeVector 12(int) 3 |
| 46: 12(int) Constant 64 |
| 47: 12(int) Constant 1 |
| 48: 45(ivec3) ConstantComposite 46 47 47 |
| 49: TypeInt 8 1 |
| 50: TypeRuntimeArray 49(int8_t) |
| 51(MatrixBuf2): TypeStruct 50 |
| 52: TypePointer StorageBuffer 51(MatrixBuf2) |
| 53(matrixBuf2): 52(ptr) Variable StorageBuffer |
| 4(main): 2 Function None 3 |
| 5: Label |
| 9(v7): 8(ptr) Variable Function |
| 16(cv7): 15(ptr) Variable Function |
| 22(tempArg): 21(ptr) Variable Function |
| 38(cv8): 21(ptr) Variable Function |
| 42(v8): 41(ptr) Variable Function |
| Store 9(v7) 11 |
| 17: 7(fvec) Load 9(v7) |
| 18: 14 Bitcast 17 |
| Store 16(cv7) 18 |
| 23: 14 Load 16(cv7) |
| 32: 31(ptr) AccessChain 30(matrixBuf) 25 |
| 37: 20 CooperativeVectorMatrixMulNV 23 25 32 33 25 19 13 25 35 36 |
| Store 22(tempArg) 37 |
| 39: 20 Load 22(tempArg) |
| Store 38(cv8) 39 |
| 43: 20 Load 38(cv8) |
| 44: 40(fvec) Bitcast 43 |
| Store 42(v8) 44 |
| Return |
| FunctionEnd |