spv.matrix2.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 221

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 12 16 37 38 65 87 147 158 181 218 219 220
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 150
                              Name 4  "main"
                              Name 10  "m34"
                              Name 12  "v"
                              Name 16  "u"
                              Name 37  "FragColor"
                              Name 38  "Color"
                              Name 63  "m44"
                              Name 65  "un34"
                              Name 87  "um43"
                              Name 147  "um4"
                              Name 156  "inv"
                              Name 158  "um2"
                              Name 179  "inv3"
                              Name 181  "um3"
                              Name 190  "inv4"
                              Name 218  "colorTransform"
                              Name 219  "m"
                              Name 220  "n"
                              Decorate 12(v) Location 28
                              Decorate 16(u) Location 29
                              Decorate 37(FragColor) Location 0
                              Decorate 38(Color) Location 3
                              Decorate 65(un34) Location 16
                              Decorate 87(um43) Location 12
                              Decorate 147(um4) Location 24
                              Decorate 158(um2) Location 19
                              Decorate 181(um3) Location 21
                              Decorate 218(colorTransform) Location 0
                              Decorate 219(m) Location 4
                              Decorate 220(n) Location 8
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeMatrix 7(fvec4) 3
               9:             TypePointer Function 8
              11:             TypePointer Input 7(fvec4)
           12(v):     11(ptr) Variable Input
              14:             TypeVector 6(float) 3
              15:             TypePointer Input 14(fvec3)
           16(u):     15(ptr) Variable Input
              19:    6(float) Constant 1082759578
              20:    6(float) Constant 0
              21:    7(fvec4) ConstantComposite 19 20 20 20
              22:    7(fvec4) ConstantComposite 20 19 20 20
              23:    7(fvec4) ConstantComposite 20 20 19 20
              24:           8 ConstantComposite 21 22 23
              36:             TypePointer Output 7(fvec4)
   37(FragColor):     36(ptr) Variable Output
       38(Color):     15(ptr) Variable Input
              40:    6(float) Constant 1065353216
              54:             TypeInt 32 0
              55:     54(int) Constant 0
              56:             TypePointer Input 6(float)
              61:             TypeMatrix 7(fvec4) 4
              62:             TypePointer Function 61
              64:             TypePointer Input 8
        65(un34):     64(ptr) Variable Input
              85:             TypeMatrix 14(fvec3) 4
              86:             TypePointer Input 85
        87(um43):     86(ptr) Variable Input
             146:             TypePointer Input 61
        147(um4):    146(ptr) Variable Input
             153:             TypeVector 6(float) 2
             154:             TypeMatrix 153(fvec2) 2
             155:             TypePointer Function 154
             157:             TypePointer Input 154
        158(um2):    157(ptr) Variable Input
             161:             TypeInt 32 1
             162:    161(int) Constant 0
             163:             TypePointer Function 6(float)
             166:    161(int) Constant 1
             169:     54(int) Constant 1
             177:             TypeMatrix 14(fvec3) 3
             178:             TypePointer Function 177
             180:             TypePointer Input 177
        181(um3):    180(ptr) Variable Input
             184:    161(int) Constant 2
             210:     54(int) Constant 3
             211:             TypePointer Output 6(float)
218(colorTransform):    180(ptr) Variable Input
          219(m):    146(ptr) Variable Input
          220(n):    146(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
         10(m34):      9(ptr) Variable Function
         63(m44):     62(ptr) Variable Function
        156(inv):    155(ptr) Variable Function
       179(inv3):    178(ptr) Variable Function
       190(inv4):     62(ptr) Variable Function
              13:    7(fvec4) Load 12(v)
              17:   14(fvec3) Load 16(u)
              18:           8 OuterProduct 13 17
                              Store 10(m34) 18
              25:           8 Load 10(m34)
              26:    7(fvec4) CompositeExtract 25 0
              27:    7(fvec4) CompositeExtract 24 0
              28:    7(fvec4) FAdd 26 27
              29:    7(fvec4) CompositeExtract 25 1
              30:    7(fvec4) CompositeExtract 24 1
              31:    7(fvec4) FAdd 29 30
              32:    7(fvec4) CompositeExtract 25 2
              33:    7(fvec4) CompositeExtract 24 2
              34:    7(fvec4) FAdd 32 33
              35:           8 CompositeConstruct 28 31 34
                              Store 10(m34) 35
              39:   14(fvec3) Load 38(Color)
              41:    6(float) CompositeExtract 39 0
              42:    6(float) CompositeExtract 39 1
              43:    6(float) CompositeExtract 39 2
              44:    7(fvec4) CompositeConstruct 41 42 43 40
                              Store 37(FragColor) 44
              45:    7(fvec4) Load 37(FragColor)
              46:           8 Load 10(m34)
              47:   14(fvec3) VectorTimesMatrix 45 46
              48:    6(float) CompositeExtract 47 0
              49:    6(float) CompositeExtract 47 1
              50:    6(float) CompositeExtract 47 2
              51:    7(fvec4) CompositeConstruct 48 49 50 40
              52:    7(fvec4) Load 37(FragColor)
              53:    7(fvec4) FMul 52 51
                              Store 37(FragColor) 53
              57:     56(ptr) AccessChain 12(v) 55
              58:    6(float) Load 57
              59:           8 Load 10(m34)
              60:           8 MatrixTimesScalar 59 58
                              Store 10(m34) 60
              66:           8 Load 65(un34)
              67:    6(float) CompositeExtract 66 0 0
              68:    6(float) CompositeExtract 66 0 1
              69:    6(float) CompositeExtract 66 0 2
              70:    6(float) CompositeExtract 66 0 3
              71:    6(float) CompositeExtract 66 1 0
              72:    6(float) CompositeExtract 66 1 1
              73:    6(float) CompositeExtract 66 1 2
              74:    6(float) CompositeExtract 66 1 3
              75:    6(float) CompositeExtract 66 2 0
              76:    6(float) CompositeExtract 66 2 1
              77:    6(float) CompositeExtract 66 2 2
              78:    6(float) CompositeExtract 66 2 3
              79:    7(fvec4) CompositeConstruct 67 68 69 70
              80:    7(fvec4) CompositeConstruct 71 72 73 74
              81:    7(fvec4) CompositeConstruct 75 76 77 78
              82:    7(fvec4) CompositeConstruct 20 20 20 40
              83:          61 CompositeConstruct 79 80 81 82
                              Store 63(m44) 83
              84:           8 Load 10(m34)
              88:          85 Load 87(um43)
              89:          61 MatrixTimesMatrix 84 88
              90:          61 Load 63(m44)
              91:    7(fvec4) CompositeExtract 90 0
              92:    7(fvec4) CompositeExtract 89 0
              93:    7(fvec4) FAdd 91 92
              94:    7(fvec4) CompositeExtract 90 1
              95:    7(fvec4) CompositeExtract 89 1
              96:    7(fvec4) FAdd 94 95
              97:    7(fvec4) CompositeExtract 90 2
              98:    7(fvec4) CompositeExtract 89 2
              99:    7(fvec4) FAdd 97 98
             100:    7(fvec4) CompositeExtract 90 3
             101:    7(fvec4) CompositeExtract 89 3
             102:    7(fvec4) FAdd 100 101
             103:          61 CompositeConstruct 93 96 99 102
                              Store 63(m44) 103
             104:          61 Load 63(m44)
             105:    7(fvec4) CompositeExtract 104 0
             106:    7(fvec4) FNegate 105
             107:    7(fvec4) CompositeExtract 104 1
             108:    7(fvec4) FNegate 107
             109:    7(fvec4) CompositeExtract 104 2
             110:    7(fvec4) FNegate 109
             111:    7(fvec4) CompositeExtract 104 3
             112:    7(fvec4) FNegate 111
             113:          61 CompositeConstruct 106 108 110 112
             114:    7(fvec4) Load 12(v)
             115:    7(fvec4) MatrixTimesVector 113 114
             116:    7(fvec4) Load 37(FragColor)
             117:    7(fvec4) FAdd 116 115
                              Store 37(FragColor) 117
             118:          61 Load 63(m44)
             119:          61 Load 63(m44)
             120:    7(fvec4) CompositeExtract 118 0
             121:    7(fvec4) CompositeExtract 119 0
             122:    7(fvec4) FMul 120 121
             123:    7(fvec4) CompositeExtract 118 1
             124:    7(fvec4) CompositeExtract 119 1
             125:    7(fvec4) FMul 123 124
             126:    7(fvec4) CompositeExtract 118 2
             127:    7(fvec4) CompositeExtract 119 2
             128:    7(fvec4) FMul 126 127
             129:    7(fvec4) CompositeExtract 118 3
             130:    7(fvec4) CompositeExtract 119 3
             131:    7(fvec4) FMul 129 130
             132:          61 CompositeConstruct 122 125 128 131
             133:    7(fvec4) Load 37(FragColor)
             134:    7(fvec4) VectorTimesMatrix 133 132
                              Store 37(FragColor) 134
             135:          85 Load 87(um43)
             136:           8 Transpose 135
                              Store 10(m34) 136
             137:    7(fvec4) Load 37(FragColor)
             138:           8 Load 10(m34)
             139:   14(fvec3) VectorTimesMatrix 137 138
             140:    6(float) CompositeExtract 139 0
             141:    6(float) CompositeExtract 139 1
             142:    6(float) CompositeExtract 139 2
             143:    7(fvec4) CompositeConstruct 140 141 142 40
             144:    7(fvec4) Load 37(FragColor)
             145:    7(fvec4) FMul 144 143
                              Store 37(FragColor) 145
             148:          61 Load 147(um4)
             149:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 148
             150:    7(fvec4) CompositeConstruct 149 149 149 149
             151:    7(fvec4) Load 37(FragColor)
             152:    7(fvec4) FMul 151 150
                              Store 37(FragColor) 152
             159:         154 Load 158(um2)
             160:         154 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 159
                              Store 156(inv) 160
             164:    163(ptr) AccessChain 156(inv) 162 55
             165:    6(float) Load 164
             167:    163(ptr) AccessChain 156(inv) 166 55
             168:    6(float) Load 167
             170:    163(ptr) AccessChain 156(inv) 162 169
             171:    6(float) Load 170
             172:    163(ptr) AccessChain 156(inv) 166 169
             173:    6(float) Load 172
             174:    7(fvec4) CompositeConstruct 165 168 171 173
             175:    7(fvec4) Load 37(FragColor)
             176:    7(fvec4) FMul 175 174
                              Store 37(FragColor) 176
             182:         177 Load 181(um3)
             183:         177 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 182
                              Store 179(inv3) 183
             185:    163(ptr) AccessChain 179(inv3) 184 169
             186:    6(float) Load 185
             187:    7(fvec4) CompositeConstruct 186 186 186 186
             188:    7(fvec4) Load 37(FragColor)
             189:    7(fvec4) FMul 188 187
                              Store 37(FragColor) 189
             191:          61 Load 147(um4)
             192:          61 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 191
                              Store 190(inv4) 192
             193:          61 Load 190(inv4)
             194:    7(fvec4) Load 37(FragColor)
             195:    7(fvec4) VectorTimesMatrix 194 193
                              Store 37(FragColor) 195
             196:    7(fvec4) Load 37(FragColor)
             197:           8 Load 65(un34)
             198:           8 Load 65(un34)
             199:    7(fvec4) CompositeExtract 197 0
             200:    7(fvec4) CompositeExtract 198 0
             201:    7(fvec4) FMul 199 200
             202:    7(fvec4) CompositeExtract 197 1
             203:    7(fvec4) CompositeExtract 198 1
             204:    7(fvec4) FMul 202 203
             205:    7(fvec4) CompositeExtract 197 2
             206:    7(fvec4) CompositeExtract 198 2
             207:    7(fvec4) FMul 205 206
             208:           8 CompositeConstruct 201 204 207
             209:   14(fvec3) VectorTimesMatrix 196 208
             212:    211(ptr) AccessChain 37(FragColor) 210
             213:    6(float) Load 212
             214:    6(float) CompositeExtract 209 0
             215:    6(float) CompositeExtract 209 1
             216:    6(float) CompositeExtract 209 2
             217:    7(fvec4) CompositeConstruct 214 215 216 213
                              Store 37(FragColor) 217
                              Return
                              FunctionEnd
