spv.coopvec.comp // Module Version 10300 // Generated by (magic number): 8000b // Id's are bound by 250 Capability Shader Capability Float16 Capability Int8 Capability StorageUniformBufferBlock16 Capability StorageBuffer8BitAccess Capability VulkanMemoryModelKHR Capability CooperativeVectorNV Capability ReplicatedCompositesEXT Extension "SPV_EXT_replicated_composites" 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_nonuniform_qualifier" SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_KHR_memory_scope_semantics" SourceExtension "GL_NV_cooperative_vector" Name 4 "main" Name 13 "foo(coopvecf161<1>;" Name 12 "x" Name 20 "foo(coopvecf161<2>;" Name 19 "x" Name 26 "v" Name 31 "x" Name 34 "y" Name 37 "v2" Name 46 "v3" Name 48 "x3" Name 53 "y3" Name 58 "v4" Name 71 "v5" Name 74 "v6" Name 100 "f" Name 108 "len" Name 125 "tempArg" Name 129 "v7" Name 132 "MatrixBuf" MemberName 132(MatrixBuf) 0 "matrixData" Name 134 "matrixBuf" Name 142 "v8" Name 145 "matrixOffset" Name 148 "tempArg" Name 152 "v9" Name 156 "MatrixBuf2" MemberName 156(MatrixBuf2) 0 "matrixData" Name 158 "matrixBuf2" Name 165 "v10" Name 167 "f162" Name 171 "f161" Name 173 "f16" Name 179 "v11" Name 181 "v12" Name 192 "v13" Name 207 "tempArg" Name 214 "biasOffset" Name 215 "tempArg" Name 223 "tempArg" Name 226 "v14" Name 231 "matrixLayout" Decorate 131 ArrayStride 2 Decorate 132(MatrixBuf) Block MemberDecorate 132(MatrixBuf) 0 Offset 0 Decorate 134(matrixBuf) Binding 0 Decorate 134(matrixBuf) DescriptorSet 0 Decorate 155 ArrayStride 1 Decorate 156(MatrixBuf2) Block MemberDecorate 156(MatrixBuf2) 0 Offset 0 Decorate 158(matrixBuf2) Binding 0 Decorate 158(matrixBuf2) DescriptorSet 0 Decorate 231(matrixLayout) SpecId 0 Decorate 249 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 7: TypeInt 32 0 8: 7(int) Constant 1 9: TypeCooperativeVectorNV 6(float16_t) 8 10: TypePointer Function 9 11: TypeFunction 9 10(ptr) 15: 7(int) Constant 2 16: TypeCooperativeVectorNV 6(float16_t) 15 17: TypePointer Function 16 18: TypeFunction 16 17(ptr) 22: TypeFloat 32 23: 7(int) Constant 5 24: TypeCooperativeVectorNV 22(float) 23 25: TypePointer Function 24 27: 22(float) Constant 0 28: 24 ConstantCompositeReplicateEXT 27 29: TypeVector 22(float) 3 30: TypePointer Function 29(fvec3) 32: 22(float) Constant 1065353216 33: 29(fvec3) ConstantComposite 32 32 32 35: 22(float) Constant 1073741824 36: 29(fvec3) ConstantComposite 35 35 35 47: 24 ConstantComposite 32 32 32 35 35 49: 22(float) Constant 1082130432 50: 22(float) Constant 1084227584 51: 22(float) Constant 1086324736 52: 29(fvec3) ConstantComposite 49 50 51 54: 22(float) Constant 1088421888 55: 22(float) Constant 1090519040 56: 22(float) Constant 1091567616 57: 29(fvec3) ConstantComposite 54 55 56 69: TypeCooperativeVectorNV 6(float16_t) 23 70: TypePointer Function 69 99: TypePointer Function 22(float) 106: TypeInt 32 1 107: TypePointer Function 106(int) 110: 106(int) Constant 0 113: 106(int) Constant 4 122: 7(int) Constant 100 123: TypeCooperativeVectorNV 22(float) 122 124: TypePointer Function 123 126: 7(int) Constant 20 127: TypeCooperativeVectorNV 22(float) 126 128: TypePointer Function 127 131: TypeRuntimeArray 6(float16_t) 132(MatrixBuf): TypeStruct 131 133: TypePointer StorageBuffer 132(MatrixBuf) 134(matrixBuf): 133(ptr) Variable StorageBuffer 135: TypePointer StorageBuffer 131 137: 7(int) Constant 11 138: TypeBool 139: 138(bool) ConstantFalse 140: 7(int) Constant 300 144: TypePointer Function 7(int) 146: TypeCooperativeVectorNV 106(int) 122 147: TypePointer Function 146 149: TypeInt 8 1 150: TypeCooperativeVectorNV 149(int8_t) 126 151: TypePointer Function 150 154: 106(int) Constant 3 155: TypeRuntimeArray 149(int8_t) 156(MatrixBuf2): TypeStruct 155 157: TypePointer StorageBuffer 156(MatrixBuf2) 158(matrixBuf2): 157(ptr) Variable StorageBuffer 159: TypePointer StorageBuffer 155 162: 106(int) Constant 1 163: 138(bool) ConstantTrue 172: TypePointer Function 6(float16_t) 176: 7(int) Constant 7 177: TypeCooperativeVectorNV 6(float16_t) 176 178: TypePointer Function 177 211: 7(int) Constant 50 224: TypeCooperativeVectorNV 7(int) 126 225: TypePointer Function 224 228: 106(int) Constant 1000491000 231(matrixLayout): 106(int) SpecConstant 1 247: TypeVector 7(int) 3 248: 7(int) Constant 64 249: 247(ivec3) ConstantComposite 248 8 8 4(main): 2 Function None 3 5: Label 26(v): 25(ptr) Variable Function 31(x): 30(ptr) Variable Function 34(y): 30(ptr) Variable Function 37(v2): 25(ptr) Variable Function 46(v3): 25(ptr) Variable Function 48(x3): 30(ptr) Variable Function 53(y3): 30(ptr) Variable Function 58(v4): 25(ptr) Variable Function 71(v5): 70(ptr) Variable Function 74(v6): 25(ptr) Variable Function 100(f): 99(ptr) Variable Function 108(len): 107(ptr) Variable Function 125(tempArg): 124(ptr) Variable Function 129(v7): 128(ptr) Variable Function 142(v8): 124(ptr) Variable Function 145(matrixOffset): 144(ptr) Variable Function 148(tempArg): 147(ptr) Variable Function 152(v9): 151(ptr) Variable Function 165(v10): 147(ptr) Variable Function 167(f162): 17(ptr) Variable Function 171(f161): 10(ptr) Variable Function 173(f16): 172(ptr) Variable Function 179(v11): 178(ptr) Variable Function 181(v12): 178(ptr) Variable Function 192(v13): 178(ptr) Variable Function 207(tempArg): 124(ptr) Variable Function 214(biasOffset): 144(ptr) Variable Function 215(tempArg): 147(ptr) Variable Function 223(tempArg): 147(ptr) Variable Function 226(v14): 225(ptr) Variable Function Store 26(v) 28 Store 31(x) 33 Store 34(y) 36 38: 29(fvec3) Load 31(x) 39: 29(fvec3) Load 34(y) 40: 22(float) CompositeExtract 38 0 41: 22(float) CompositeExtract 38 1 42: 22(float) CompositeExtract 38 2 43: 22(float) CompositeExtract 39 0 44: 22(float) CompositeExtract 39 1 45: 24 CompositeConstruct 40 41 42 43 44 Store 37(v2) 45 Store 46(v3) 47 Store 48(x3) 52 Store 53(y3) 57 59: 29(fvec3) Load 48(x3) 60: 29(fvec3) VectorShuffle 59 59 2 1 0 61: 29(fvec3) Load 53(y3) 62: 29(fvec3) VectorShuffle 61 61 2 2 1 63: 22(float) CompositeExtract 60 0 64: 22(float) CompositeExtract 60 1 65: 22(float) CompositeExtract 60 2 66: 22(float) CompositeExtract 62 0 67: 22(float) CompositeExtract 62 1 68: 24 CompositeConstruct 63 64 65 66 67 Store 58(v4) 68 72: 24 Load 58(v4) 73: 69 FConvert 72 Store 71(v5) 73 75: 24 Load 26(v) 76: 24 Load 37(v2) 77: 24 FAdd 75 76 Store 74(v6) 77 78: 24 Load 26(v) 79: 24 Load 37(v2) 80: 24 FSub 78 79 Store 74(v6) 80 81: 24 Load 26(v) 82: 24 Load 37(v2) 83: 24 FMul 81 82 Store 74(v6) 83 84: 24 Load 26(v) 85: 24 Load 37(v2) 86: 24 FDiv 84 85 Store 74(v6) 86 87: 24 Load 26(v) 88: 24 Load 74(v6) 89: 24 FAdd 88 87 Store 74(v6) 89 90: 24 Load 26(v) 91: 24 Load 74(v6) 92: 24 FSub 91 90 Store 74(v6) 92 93: 24 Load 26(v) 94: 24 Load 74(v6) 95: 24 FMul 94 93 Store 74(v6) 95 96: 24 Load 26(v) 97: 24 Load 74(v6) 98: 24 FDiv 97 96 Store 74(v6) 98 101: 22(float) Load 100(f) 102: 24 Load 74(v6) 103: 24 VectorTimesScalar 102 101 Store 74(v6) 103 104: 24 Load 74(v6) 105: 24 VectorTimesScalar 104 50 Store 74(v6) 105 109: 106(int) Bitcast 23 Store 108(len) 109 111: 22(float) Load 100(f) 112: 99(ptr) AccessChain 74(v6) 110 Store 112 111 114: 99(ptr) AccessChain 74(v6) 113 Store 114 50 115: 24 Load 26(v) 116: 24 Load 26(v) 117: 24 FAdd 116 115 Store 26(v) 117 118: 22(float) CompositeExtract 117 4 119: 22(float) Load 100(f) 120: 22(float) FAdd 119 118 Store 100(f) 120 121: 24 Load 26(v) Store 74(v6) 121 130: 127 Load 129(v7) 136: 135(ptr) AccessChain 134(matrixBuf) 110 141: 123 CooperativeVectorMatrixMulNV 130 110 136 137 110 122 126 110 139 140 Store 125(tempArg) 141 143: 123 Load 125(tempArg) Store 142(v8) 143 Store 145(matrixOffset) 137 153: 150 Load 152(v9) 160: 159(ptr) AccessChain 158(matrixBuf2) 110 161: 7(int) Load 145(matrixOffset) 164: 146 CooperativeVectorMatrixMulNV 153 154 160 161 154 122 126 162 163 140 BSignedComponentsKHR ResultSignedComponentsKHR Store 148(tempArg) 164 166: 146 Load 148(tempArg) Store 165(v10) 166 168: 106(int) Bitcast 126 169:6(float16_t) ConvertSToF 168 170: 16 CompositeConstructReplicateEXT 169 Store 167(f162) 170 174:6(float16_t) Load 173(f16) 175: 9 CompositeConstructReplicateEXT 174 Store 171(f161) 175 180: 177 Load 179(v11) 182: 177 Load 181(v12) 183: 177 ExtInst 1(GLSL.std.450) 40(FMax) 180 182 Store 179(v11) 183 184: 177 Load 179(v11) 185: 177 Load 181(v12) 186: 177 ExtInst 1(GLSL.std.450) 37(FMin) 184 185 Store 179(v11) 186 187: 177 Load 179(v11) 188: 177 Load 181(v12) 189: 177 ExtInst 1(GLSL.std.450) 48(Step) 187 188 Store 179(v11) 189 190: 177 Load 179(v11) 191: 177 Load 181(v12) 193: 177 Load 192(v13) 194: 177 ExtInst 1(GLSL.std.450) 43(FClamp) 190 191 193 Store 179(v11) 194 195: 177 Load 179(v11) 196: 177 ExtInst 1(GLSL.std.450) 27(Exp) 195 Store 179(v11) 196 197: 177 Load 179(v11) 198: 177 ExtInst 1(GLSL.std.450) 28(Log) 197 Store 179(v11) 198 199: 177 Load 179(v11) 200: 177 ExtInst 1(GLSL.std.450) 21(Tanh) 199 Store 179(v11) 200 201: 177 Load 179(v11) 202: 177 ExtInst 1(GLSL.std.450) 18(Atan) 201 Store 179(v11) 202 203: 177 Load 179(v11) 204: 177 Load 181(v12) 205: 177 Load 192(v13) 206: 177 ExtInst 1(GLSL.std.450) 50(Fma) 203 204 205 Store 179(v11) 206 208: 127 Load 129(v7) 209: 135(ptr) AccessChain 134(matrixBuf) 110 210: 135(ptr) AccessChain 134(matrixBuf) 110 212: 123 CooperativeVectorMatrixMulAddNV 208 110 209 137 110 210 211 110 122 126 110 139 140 Store 207(tempArg) 212 213: 123 Load 207(tempArg) Store 142(v8) 213 Store 214(biasOffset) 137 216: 150 Load 152(v9) 217: 159(ptr) AccessChain 158(matrixBuf2) 110 218: 7(int) Load 145(matrixOffset) 219: 159(ptr) AccessChain 158(matrixBuf2) 110 220: 7(int) Load 214(biasOffset) 221: 146 CooperativeVectorMatrixMulAddNV 216 154 217 218 154 219 220 154 122 126 162 163 140 BSignedComponentsKHR ResultSignedComponentsKHR Store 215(tempArg) 221 222: 146 Load 215(tempArg) Store 165(v10) 222 227: 224 Load 226(v14) 229: 159(ptr) AccessChain 158(matrixBuf2) 110 230: 7(int) Load 145(matrixOffset) 232: 146 CooperativeVectorMatrixMulNV 227 228 229 230 154 122 126 231(matrixLayout) 163 140 ResultSignedComponentsKHR Store 223(tempArg) 232 233: 146 Load 223(tempArg) Store 165(v10) 233 234: 24 Load 26(v) 235: 24 Load 26(v) 236: 24 FAdd 235 234 Store 26(v) 236 237: 106(int) Load 108(len) 238: 22(float) VectorExtractDynamic 236 237 239: 22(float) Load 100(f) 240: 22(float) FAdd 239 238 Store 100(f) 240 Return FunctionEnd 13(foo(coopvecf161<1>;): 9 Function None 11 12(x): 10(ptr) FunctionParameter 14: Label 241: 9 Load 12(x) ReturnValue 241 FunctionEnd 20(foo(coopvecf161<2>;): 16 Function None 18 19(x): 17(ptr) FunctionParameter 21: Label 244: 16 Load 19(x) ReturnValue 244 FunctionEnd