spv.intOps.vert
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.


Linked vertex stage:


// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 268

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 9 15 21 26 47 67 83 100 121 142 146 156 173 182 247
                              Source ESSL 310
                              Name 4  "main"
                              Name 9  "iout"
                              Name 15  "uout"
                              Name 21  "fout"
                              Name 26  "u2"
                              Name 30  "u2out"
                              Name 31  "ResType"
                              Name 47  "u1"
                              Name 51  "u1out"
                              Name 52  "ResType"
                              Name 67  "u4"
                              Name 71  "u4outHi"
                              Name 72  "u4outLow"
                              Name 73  "ResType"
                              Name 83  "i4"
                              Name 87  "i4outHi"
                              Name 88  "i4outLow"
                              Name 89  "ResType"
                              Name 100  "v3"
                              Name 104  "i3out"
                              Name 105  "ResType"
                              Name 121  "v1"
                              Name 124  "i1out"
                              Name 125  "ResType"
                              Name 142  "v2"
                              Name 146  "i2"
                              Name 156  "i1"
                              Name 173  "u3"
                              Name 182  "i3"
                              Name 247  "v4"
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeVector 6(int) 4
               8:             TypePointer Output 7(ivec4)
         9(iout):      8(ptr) Variable Output
              10:      6(int) Constant 0
              11:    7(ivec4) ConstantComposite 10 10 10 10
              12:             TypeInt 32 0
              13:             TypeVector 12(int) 4
              14:             TypePointer Output 13(ivec4)
        15(uout):     14(ptr) Variable Output
              16:     12(int) Constant 0
              17:   13(ivec4) ConstantComposite 16 16 16 16
              18:             TypeFloat 32
              19:             TypeVector 18(float) 4
              20:             TypePointer Output 19(fvec4)
        21(fout):     20(ptr) Variable Output
              22:   18(float) Constant 0
              23:   19(fvec4) ConstantComposite 22 22 22 22
              24:             TypeVector 12(int) 2
              25:             TypePointer Input 24(ivec2)
          26(u2):     25(ptr) Variable Input
              29:             TypePointer Function 24(ivec2)
     31(ResType):             TypeStruct 24(ivec2) 24(ivec2)
              46:             TypePointer Input 12(int)
          47(u1):     46(ptr) Variable Input
              50:             TypePointer Function 12(int)
     52(ResType):             TypeStruct 12(int) 12(int)
              56:             TypePointer Output 12(int)
              66:             TypePointer Input 13(ivec4)
          67(u4):     66(ptr) Variable Input
              70:             TypePointer Function 13(ivec4)
     73(ResType):             TypeStruct 13(ivec4) 13(ivec4)
              82:             TypePointer Input 7(ivec4)
          83(i4):     82(ptr) Variable Input
              86:             TypePointer Function 7(ivec4)
     89(ResType):             TypeStruct 7(ivec4) 7(ivec4)
              98:             TypeVector 18(float) 3
              99:             TypePointer Input 98(fvec3)
         100(v3):     99(ptr) Variable Input
             102:             TypeVector 6(int) 3
             103:             TypePointer Function 102(ivec3)
    105(ResType):             TypeStruct 98(fvec3) 102(ivec3)
             120:             TypePointer Input 18(float)
         121(v1):    120(ptr) Variable Input
             123:             TypePointer Function 6(int)
    125(ResType):             TypeStruct 18(float) 6(int)
             129:             TypePointer Output 18(float)
             135:             TypePointer Output 6(int)
             140:             TypeVector 18(float) 2
             141:             TypePointer Input 140(fvec2)
         142(v2):    141(ptr) Variable Input
             144:             TypeVector 6(int) 2
             145:             TypePointer Input 144(ivec2)
         146(i2):    145(ptr) Variable Input
             155:             TypePointer Input 6(int)
         156(i1):    155(ptr) Variable Input
             164:      6(int) Constant 4
             165:      6(int) Constant 5
             171:             TypeVector 12(int) 3
             172:             TypePointer Input 171(ivec3)
         173(u3):    172(ptr) Variable Input
             181:             TypePointer Input 102(ivec3)
         182(i3):    181(ptr) Variable Input
             246:             TypePointer Input 19(fvec4)
         247(v4):    246(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
       30(u2out):     29(ptr) Variable Function
       51(u1out):     50(ptr) Variable Function
     71(u4outHi):     70(ptr) Variable Function
    72(u4outLow):     70(ptr) Variable Function
     87(i4outHi):     86(ptr) Variable Function
    88(i4outLow):     86(ptr) Variable Function
      104(i3out):    103(ptr) Variable Function
      124(i1out):    123(ptr) Variable Function
                              Store 9(iout) 11
                              Store 15(uout) 17
                              Store 21(fout) 23
              27:   24(ivec2) Load 26(u2)
              28:   24(ivec2) Load 26(u2)
              32: 31(ResType) IAddCarry 27 28
              33:   24(ivec2) CompositeExtract 32 1
                              Store 30(u2out) 33
              34:   24(ivec2) CompositeExtract 32 0
              35:   13(ivec4) Load 15(uout)
              36:   24(ivec2) VectorShuffle 35 35 0 1
              37:   24(ivec2) IAdd 36 34
              38:   13(ivec4) Load 15(uout)
              39:   13(ivec4) VectorShuffle 38 37 4 5 2 3
                              Store 15(uout) 39
              40:   24(ivec2) Load 30(u2out)
              41:   13(ivec4) Load 15(uout)
              42:   24(ivec2) VectorShuffle 41 41 0 1
              43:   24(ivec2) IAdd 42 40
              44:   13(ivec4) Load 15(uout)
              45:   13(ivec4) VectorShuffle 44 43 4 5 2 3
                              Store 15(uout) 45
              48:     12(int) Load 47(u1)
              49:     12(int) Load 47(u1)
              53: 52(ResType) ISubBorrow 48 49
              54:     12(int) CompositeExtract 53 1
                              Store 51(u1out) 54
              55:     12(int) CompositeExtract 53 0
              57:     56(ptr) AccessChain 15(uout) 16
              58:     12(int) Load 57
              59:     12(int) IAdd 58 55
              60:     56(ptr) AccessChain 15(uout) 16
                              Store 60 59
              61:     12(int) Load 51(u1out)
              62:     56(ptr) AccessChain 15(uout) 16
              63:     12(int) Load 62
              64:     12(int) IAdd 63 61
              65:     56(ptr) AccessChain 15(uout) 16
                              Store 65 64
              68:   13(ivec4) Load 67(u4)
              69:   13(ivec4) Load 67(u4)
              74: 73(ResType) UMulExtended 68 69
              75:   13(ivec4) CompositeExtract 74 0
                              Store 72(u4outLow) 75
              76:   13(ivec4) CompositeExtract 74 1
                              Store 71(u4outHi) 76
              77:   13(ivec4) Load 71(u4outHi)
              78:   13(ivec4) Load 72(u4outLow)
              79:   13(ivec4) IAdd 77 78
              80:   13(ivec4) Load 15(uout)
              81:   13(ivec4) IAdd 80 79
                              Store 15(uout) 81
              84:    7(ivec4) Load 83(i4)
              85:    7(ivec4) Load 83(i4)
              90: 89(ResType) SMulExtended 84 85
              91:    7(ivec4) CompositeExtract 90 0
                              Store 88(i4outLow) 91
              92:    7(ivec4) CompositeExtract 90 1
                              Store 87(i4outHi) 92
              93:    7(ivec4) Load 88(i4outLow)
              94:    7(ivec4) Load 87(i4outHi)
              95:    7(ivec4) IAdd 93 94
              96:    7(ivec4) Load 9(iout)
              97:    7(ivec4) IAdd 96 95
                              Store 9(iout) 97
             101:   98(fvec3) Load 100(v3)
             106:105(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 101
             107:  102(ivec3) CompositeExtract 106 1
                              Store 104(i3out) 107
             108:   98(fvec3) CompositeExtract 106 0
             109:   19(fvec4) Load 21(fout)
             110:   98(fvec3) VectorShuffle 109 109 0 1 2
             111:   98(fvec3) FAdd 110 108
             112:   19(fvec4) Load 21(fout)
             113:   19(fvec4) VectorShuffle 112 111 4 5 6 3
                              Store 21(fout) 113
             114:  102(ivec3) Load 104(i3out)
             115:    7(ivec4) Load 9(iout)
             116:  102(ivec3) VectorShuffle 115 115 0 1 2
             117:  102(ivec3) IAdd 116 114
             118:    7(ivec4) Load 9(iout)
             119:    7(ivec4) VectorShuffle 118 117 4 5 6 3
                              Store 9(iout) 119
             122:   18(float) Load 121(v1)
             126:125(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 122
             127:      6(int) CompositeExtract 126 1
                              Store 124(i1out) 127
             128:   18(float) CompositeExtract 126 0
             130:    129(ptr) AccessChain 21(fout) 16
             131:   18(float) Load 130
             132:   18(float) FAdd 131 128
             133:    129(ptr) AccessChain 21(fout) 16
                              Store 133 132
             134:      6(int) Load 124(i1out)
             136:    135(ptr) AccessChain 9(iout) 16
             137:      6(int) Load 136
             138:      6(int) IAdd 137 134
             139:    135(ptr) AccessChain 9(iout) 16
                              Store 139 138
             143:  140(fvec2) Load 142(v2)
             147:  144(ivec2) Load 146(i2)
             148:  140(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 143 147
             149:   19(fvec4) Load 21(fout)
             150:  140(fvec2) VectorShuffle 149 149 0 1
             151:  140(fvec2) FAdd 150 148
             152:   19(fvec4) Load 21(fout)
             153:   19(fvec4) VectorShuffle 152 151 4 5 2 3
                              Store 21(fout) 153
             154:   18(float) Load 121(v1)
             157:      6(int) Load 156(i1)
             158:   18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 154 157
             159:    129(ptr) AccessChain 21(fout) 16
             160:   18(float) Load 159
             161:   18(float) FAdd 160 158
             162:    129(ptr) AccessChain 21(fout) 16
                              Store 162 161
             163:      6(int) Load 156(i1)
             166:      6(int) BitFieldSExtract 163 164 165
             167:    135(ptr) AccessChain 9(iout) 16
             168:      6(int) Load 167
             169:      6(int) IAdd 168 166
             170:    135(ptr) AccessChain 9(iout) 16
                              Store 170 169
             174:  171(ivec3) Load 173(u3)
             175:  171(ivec3) BitFieldUExtract 174 164 165
             176:   13(ivec4) Load 15(uout)
             177:  171(ivec3) VectorShuffle 176 176 0 1 2
             178:  171(ivec3) IAdd 177 175
             179:   13(ivec4) Load 15(uout)
             180:   13(ivec4) VectorShuffle 179 178 4 5 6 3
                              Store 15(uout) 180
             183:  102(ivec3) Load 182(i3)
             184:  102(ivec3) Load 182(i3)
             185:  102(ivec3) BitFieldInsert 183 184 164 165
             186:    7(ivec4) Load 9(iout)
             187:  102(ivec3) VectorShuffle 186 186 0 1 2
             188:  102(ivec3) IAdd 187 185
             189:    7(ivec4) Load 9(iout)
             190:    7(ivec4) VectorShuffle 189 188 4 5 6 3
                              Store 9(iout) 190
             191:     12(int) Load 47(u1)
             192:     12(int) Load 47(u1)
             193:     12(int) BitFieldInsert 191 192 164 165
             194:     56(ptr) AccessChain 15(uout) 16
             195:     12(int) Load 194
             196:     12(int) IAdd 195 193
             197:     56(ptr) AccessChain 15(uout) 16
                              Store 197 196
             198:  144(ivec2) Load 146(i2)
             199:  144(ivec2) BitReverse 198
             200:    7(ivec4) Load 9(iout)
             201:  144(ivec2) VectorShuffle 200 200 0 1
             202:  144(ivec2) IAdd 201 199
             203:    7(ivec4) Load 9(iout)
             204:    7(ivec4) VectorShuffle 203 202 4 5 2 3
                              Store 9(iout) 204
             205:   13(ivec4) Load 67(u4)
             206:   13(ivec4) BitReverse 205
             207:   13(ivec4) Load 15(uout)
             208:   13(ivec4) IAdd 207 206
                              Store 15(uout) 208
             209:      6(int) Load 156(i1)
             210:      6(int) BitCount 209
             211:    135(ptr) AccessChain 9(iout) 16
             212:      6(int) Load 211
             213:      6(int) IAdd 212 210
             214:    135(ptr) AccessChain 9(iout) 16
                              Store 214 213
             215:  171(ivec3) Load 173(u3)
             216:  102(ivec3) BitCount 215
             217:    7(ivec4) Load 9(iout)
             218:  102(ivec3) VectorShuffle 217 217 0 1 2
             219:  102(ivec3) IAdd 218 216
             220:    7(ivec4) Load 9(iout)
             221:    7(ivec4) VectorShuffle 220 219 4 5 6 3
                              Store 9(iout) 221
             222:  144(ivec2) Load 146(i2)
             223:  144(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 222
             224:    7(ivec4) Load 9(iout)
             225:  144(ivec2) VectorShuffle 224 224 0 1
             226:  144(ivec2) IAdd 225 223
             227:    7(ivec4) Load 9(iout)
             228:    7(ivec4) VectorShuffle 227 226 4 5 2 3
                              Store 9(iout) 228
             229:   13(ivec4) Load 67(u4)
             230:    7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 229
             231:    7(ivec4) Load 9(iout)
             232:    7(ivec4) IAdd 231 230
                              Store 9(iout) 232
             233:      6(int) Load 156(i1)
             234:      6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 233
             235:    135(ptr) AccessChain 9(iout) 16
             236:      6(int) Load 235
             237:      6(int) IAdd 236 234
             238:    135(ptr) AccessChain 9(iout) 16
                              Store 238 237
             239:   24(ivec2) Load 26(u2)
             240:  144(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 239
             241:    7(ivec4) Load 9(iout)
             242:  144(ivec2) VectorShuffle 241 241 0 1
             243:  144(ivec2) IAdd 242 240
             244:    7(ivec4) Load 9(iout)
             245:    7(ivec4) VectorShuffle 244 243 4 5 2 3
                              Store 9(iout) 245
             248:   19(fvec4) Load 247(v4)
             249:     12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 248
             250:     56(ptr) AccessChain 15(uout) 16
             251:     12(int) Load 250
             252:     12(int) IAdd 251 249
             253:     56(ptr) AccessChain 15(uout) 16
                              Store 253 252
             254:   19(fvec4) Load 247(v4)
             255:     12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 254
             256:     56(ptr) AccessChain 15(uout) 16
             257:     12(int) Load 256
             258:     12(int) IAdd 257 255
             259:     56(ptr) AccessChain 15(uout) 16
                              Store 259 258
             260:     12(int) Load 47(u1)
             261:   19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 260
             262:   19(fvec4) Load 21(fout)
             263:   19(fvec4) FAdd 262 261
                              Store 21(fout) 263
             264:     12(int) Load 47(u1)
             265:   19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 264
             266:   19(fvec4) Load 21(fout)
             267:   19(fvec4) FAdd 266 265
                              Store 21(fout) 267
                              Return
                              FunctionEnd
