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