blob: 272233eccb31b033cb98c7cd0b10f8e663da7999 [file] [log] [blame]
spv.intOps.vert
// Module Version 10000
// Generated by (magic number): 80008
// 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