SPV tests: Turn on some more tests related to currently pending issues.

This commit is contained in:
John Kessenich 2015-12-11 15:08:26 -07:00
parent cc16fa0720
commit 3c24a06c8c
6 changed files with 491 additions and 440 deletions

View File

@ -1,31 +1,36 @@
spv.Operations.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 418
// Id's are bound by 503
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
EntryPoint Fragment 4 "main" 479
ExecutionMode 4 OriginLowerLeft
Source GLSL 130
Source GLSL 450
Name 4 "main"
Name 9 "v"
Name 11 "uv4"
Name 20 "i"
Name 22 "ui"
Name 172 "uf"
Name 219 "b"
Name 253 "ub41"
Name 255 "ub42"
Name 318 "f"
Name 397 "gl_FragColor"
Name 415 "uiv4"
Name 417 "ub"
Name 181 "ub41"
Name 188 "f"
Name 211 "uf"
Name 281 "u"
Name 284 "uui"
Name 301 "b"
Name 338 "ub42"
Name 479 "FragColor"
Name 497 "uiv4"
Name 499 "ub"
Name 502 "uuv4"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -37,38 +42,45 @@ Linked fragment stage:
19: TypePointer Function 18(int)
21: TypePointer UniformConstant 18(int)
22(ui): 21(ptr) Variable UniformConstant
129: TypeInt 32 0
130: 129(int) Constant 0
131: TypePointer Function 6(float)
171: TypePointer UniformConstant 6(float)
172(uf): 171(ptr) Variable UniformConstant
217: TypeBool
218: TypePointer Function 217(bool)
222: TypeVector 217(bool) 4
252: TypePointer UniformConstant 222(bvec4)
253(ub41): 252(ptr) Variable UniformConstant
255(ub42): 252(ptr) Variable UniformConstant
309: 18(int) Constant 2
316: 18(int) Constant 1
347: TypeVector 6(float) 3
366: 6(float) Constant 1073741824
373: 6(float) Constant 1065353216
378: 18(int) Constant 66
384: 18(int) Constant 17
396: TypePointer Output 7(fvec4)
397(gl_FragColor): 396(ptr) Variable Output
413: TypeVector 18(int) 4
414: TypePointer UniformConstant 413(ivec4)
415(uiv4): 414(ptr) Variable UniformConstant
416: TypePointer UniformConstant 217(bool)
417(ub): 416(ptr) Variable UniformConstant
141: TypeInt 32 0
142: 141(int) Constant 0
143: TypePointer Function 6(float)
178: TypeBool
179: TypeVector 178(bool) 4
180: TypePointer UniformConstant 179(bvec4)
181(ub41): 180(ptr) Variable UniformConstant
210: TypePointer UniformConstant 6(float)
211(uf): 210(ptr) Variable UniformConstant
280: TypePointer Function 141(int)
283: TypePointer UniformConstant 141(int)
284(uui): 283(ptr) Variable UniformConstant
300: TypePointer Function 178(bool)
338(ub42): 180(ptr) Variable UniformConstant
392: 18(int) Constant 2
399: 18(int) Constant 1
429: TypeVector 6(float) 3
448: 6(float) Constant 1073741824
455: 6(float) Constant 1065353216
460: 18(int) Constant 66
466: 18(int) Constant 17
478: TypePointer Output 7(fvec4)
479(FragColor): 478(ptr) Variable Output
495: TypeVector 18(int) 4
496: TypePointer UniformConstant 495(ivec4)
497(uiv4): 496(ptr) Variable UniformConstant
498: TypePointer UniformConstant 178(bool)
499(ub): 498(ptr) Variable UniformConstant
500: TypeVector 141(int) 4
501: TypePointer UniformConstant 500(ivec4)
502(uuv4): 501(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(v): 8(ptr) Variable Function
20(i): 19(ptr) Variable Function
219(b): 218(ptr) Variable Function
318(f): 131(ptr) Variable Function
398: 8(ptr) Variable Function
188(f): 143(ptr) Variable Function
281(u): 280(ptr) Variable Function
301(b): 300(ptr) Variable Function
480: 8(ptr) Variable Function
12: 7(fvec4) Load 11(uv4)
13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
Store 9(v) 13
@ -193,362 +205,457 @@ Linked fragment stage:
114: 7(fvec4) FAdd 113 112
Store 9(v) 114
115: 7(fvec4) Load 9(v)
116: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 115
116: 7(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 115
117: 7(fvec4) Load 9(v)
118: 7(fvec4) FAdd 117 116
Store 9(v) 118
119: 7(fvec4) Load 9(v)
120: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 119
120: 7(fvec4) ExtInst 1(GLSL.std.450) 1(Round) 119
121: 7(fvec4) Load 9(v)
122: 7(fvec4) FAdd 121 120
Store 9(v) 122
123: 7(fvec4) Load 9(v)
124: 7(fvec4) Load 9(v)
125: 7(fvec4) FMod 123 124
126: 7(fvec4) Load 9(v)
127: 7(fvec4) FAdd 126 125
Store 9(v) 127
128: 7(fvec4) Load 9(v)
132: 131(ptr) AccessChain 9(v) 130
133: 6(float) Load 132
134: 7(fvec4) CompositeConstruct 133 133 133 133
135: 7(fvec4) FMod 128 134
124: 7(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 123
125: 7(fvec4) Load 9(v)
126: 7(fvec4) FAdd 125 124
Store 9(v) 126
127: 7(fvec4) Load 9(v)
128: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 127
129: 7(fvec4) Load 9(v)
130: 7(fvec4) FAdd 129 128
Store 9(v) 130
131: 7(fvec4) Load 9(v)
132: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 131
133: 7(fvec4) Load 9(v)
134: 7(fvec4) FAdd 133 132
Store 9(v) 134
135: 7(fvec4) Load 9(v)
136: 7(fvec4) Load 9(v)
137: 7(fvec4) FAdd 136 135
Store 9(v) 137
137: 7(fvec4) FMod 135 136
138: 7(fvec4) Load 9(v)
139: 7(fvec4) Load 11(uv4)
140: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 138 139
141: 7(fvec4) Load 9(v)
142: 7(fvec4) FAdd 141 140
Store 9(v) 142
143: 7(fvec4) Load 9(v)
144: 7(fvec4) Load 11(uv4)
145: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 143 144
146: 7(fvec4) Load 9(v)
147: 7(fvec4) FAdd 146 145
Store 9(v) 147
139: 7(fvec4) FAdd 138 137
Store 9(v) 139
140: 7(fvec4) Load 9(v)
144: 143(ptr) AccessChain 9(v) 142
145: 6(float) Load 144
146: 7(fvec4) CompositeConstruct 145 145 145 145
147: 7(fvec4) FMod 140 146
148: 7(fvec4) Load 9(v)
149: 7(fvec4) Load 11(uv4)
150: 7(fvec4) Load 11(uv4)
151: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 148 149 150
149: 7(fvec4) FAdd 148 147
Store 9(v) 149
150: 7(fvec4) Load 9(v)
151: 7(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 150 9(v)
152: 7(fvec4) Load 9(v)
153: 7(fvec4) FAdd 152 151
Store 9(v) 153
154: 7(fvec4) Load 9(v)
155: 7(fvec4) Load 9(v)
156: 7(fvec4) Load 9(v)
157: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 154 155 156
158: 7(fvec4) Load 9(v)
159: 7(fvec4) FAdd 158 157
Store 9(v) 159
160: 7(fvec4) Load 9(v)
161: 7(fvec4) Load 9(v)
162: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 160 161
163: 7(fvec4) Load 9(v)
164: 7(fvec4) FAdd 163 162
Store 9(v) 164
165: 7(fvec4) Load 9(v)
166: 7(fvec4) Load 9(v)
167: 7(fvec4) Load 9(v)
168: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 165 166 167
169: 7(fvec4) Load 9(v)
170: 7(fvec4) FAdd 169 168
Store 9(v) 170
173: 6(float) Load 172(uf)
155: 7(fvec4) Load 11(uv4)
156: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 154 155
157: 7(fvec4) Load 9(v)
158: 7(fvec4) FAdd 157 156
Store 9(v) 158
159: 7(fvec4) Load 9(v)
160: 7(fvec4) Load 11(uv4)
161: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 159 160
162: 7(fvec4) Load 9(v)
163: 7(fvec4) FAdd 162 161
Store 9(v) 163
164: 7(fvec4) Load 9(v)
165: 7(fvec4) Load 11(uv4)
166: 7(fvec4) Load 11(uv4)
167: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 164 165 166
168: 7(fvec4) Load 9(v)
169: 7(fvec4) FAdd 168 167
Store 9(v) 169
170: 7(fvec4) Load 9(v)
171: 7(fvec4) Load 9(v)
172: 7(fvec4) Load 9(v)
173: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 170 171 172
174: 7(fvec4) Load 9(v)
175: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 173 174
175: 7(fvec4) FAdd 174 173
Store 9(v) 175
176: 7(fvec4) Load 9(v)
177: 7(fvec4) FAdd 176 175
Store 9(v) 177
178: 6(float) Load 172(uf)
179: 6(float) Load 172(uf)
180: 7(fvec4) Load 9(v)
181: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 178 179 180
182: 7(fvec4) Load 9(v)
183: 7(fvec4) FAdd 182 181
Store 9(v) 183
177: 7(fvec4) Load 9(v)
182: 179(bvec4) Load 181(ub41)
183: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 176 177 182
184: 7(fvec4) Load 9(v)
185: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 184
185: 7(fvec4) FAdd 184 183
Store 9(v) 185
186: 7(fvec4) Load 9(v)
187: 7(fvec4) FAdd 186 185
Store 9(v) 187
188: 7(fvec4) Load 9(v)
189: 7(fvec4) Load 9(v)
190: 7(fvec4) Load 9(v)
191: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 188 189 190
192: 7(fvec4) Load 9(v)
193: 7(fvec4) FAdd 192 191
Store 9(v) 193
194: 7(fvec4) Load 9(v)
187: 7(fvec4) Load 9(v)
189: 6(float) Load 188(f)
190: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 186 187 189
191: 7(fvec4) Load 9(v)
192: 7(fvec4) FAdd 191 190
Store 9(v) 192
193: 7(fvec4) Load 9(v)
194: 7(fvec4) Load 11(uv4)
195: 7(fvec4) Load 9(v)
196: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 194 195
196: 7(fvec4) ExtInst 1(GLSL.std.450) 50(Fma) 193 194 195
197: 7(fvec4) Load 9(v)
198: 7(fvec4) FAdd 197 196
Store 9(v) 198
199: 7(fvec4) Load 9(v)
200: 7(fvec4) Load 9(v)
201: 6(float) Load 172(uf)
202: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 199 200 201
203: 7(fvec4) Load 9(v)
204: 7(fvec4) FAdd 203 202
Store 9(v) 204
201: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 199 200
202: 7(fvec4) Load 9(v)
203: 7(fvec4) FAdd 202 201
Store 9(v) 203
204: 7(fvec4) Load 9(v)
205: 7(fvec4) Load 9(v)
206: 7(fvec4) DPdx 205
207: 7(fvec4) Load 9(v)
208: 7(fvec4) FAdd 207 206
Store 9(v) 208
209: 7(fvec4) Load 9(v)
210: 7(fvec4) DPdy 209
211: 7(fvec4) Load 9(v)
212: 7(fvec4) FAdd 211 210
Store 9(v) 212
206: 7(fvec4) Load 9(v)
207: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 204 205 206
208: 7(fvec4) Load 9(v)
209: 7(fvec4) FAdd 208 207
Store 9(v) 209
212: 6(float) Load 211(uf)
213: 7(fvec4) Load 9(v)
214: 7(fvec4) Fwidth 213
214: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 212 213
215: 7(fvec4) Load 9(v)
216: 7(fvec4) FAdd 215 214
Store 9(v) 216
220: 7(fvec4) Load 9(v)
221: 7(fvec4) Load 11(uv4)
223: 222(bvec4) FOrdLessThan 220 221
224: 217(bool) Any 223
Store 219(b) 224
225: 217(bool) Load 219(b)
SelectionMerge 227 None
BranchConditional 225 226 227
226: Label
228: 7(fvec4) Load 9(v)
229: 7(fvec4) Load 11(uv4)
230: 222(bvec4) FOrdLessThanEqual 228 229
231: 217(bool) Any 230
Branch 227
227: Label
232: 217(bool) Phi 225 5 231 226
Store 219(b) 232
233: 217(bool) Load 219(b)
SelectionMerge 235 None
BranchConditional 233 234 235
234: Label
236: 7(fvec4) Load 9(v)
237: 7(fvec4) Load 11(uv4)
238: 222(bvec4) FOrdGreaterThan 236 237
239: 217(bool) Any 238
Branch 235
235: Label
240: 217(bool) Phi 233 227 239 234
Store 219(b) 240
241: 217(bool) Load 219(b)
SelectionMerge 243 None
BranchConditional 241 242 243
242: Label
244: 7(fvec4) Load 9(v)
245: 7(fvec4) Load 11(uv4)
246: 222(bvec4) FOrdGreaterThanEqual 244 245
247: 217(bool) Any 246
Branch 243
243: Label
248: 217(bool) Phi 241 235 247 242
Store 219(b) 248
249: 217(bool) Load 219(b)
SelectionMerge 251 None
BranchConditional 249 250 251
250: Label
254: 222(bvec4) Load 253(ub41)
256: 222(bvec4) Load 255(ub42)
257: 222(bvec4) IEqual 254 256
258: 217(bool) Any 257
Branch 251
251: Label
259: 217(bool) Phi 249 243 258 250
Store 219(b) 259
260: 217(bool) Load 219(b)
SelectionMerge 262 None
BranchConditional 260 261 262
261: Label
263: 222(bvec4) Load 253(ub41)
264: 222(bvec4) Load 255(ub42)
265: 222(bvec4) INotEqual 263 264
266: 217(bool) Any 265
Branch 262
262: Label
267: 217(bool) Phi 260 251 266 261
Store 219(b) 267
268: 217(bool) Load 219(b)
269: 222(bvec4) Load 253(ub41)
270: 217(bool) Any 269
271: 217(bool) LogicalAnd 268 270
Store 219(b) 271
272: 217(bool) Load 219(b)
273: 222(bvec4) Load 253(ub41)
274: 217(bool) All 273
275: 217(bool) LogicalAnd 272 274
Store 219(b) 275
276: 217(bool) Load 219(b)
SelectionMerge 278 None
BranchConditional 276 277 278
277: Label
279: 222(bvec4) Load 253(ub41)
280: 222(bvec4) LogicalNot 279
281: 217(bool) Any 280
Branch 278
278: Label
282: 217(bool) Phi 276 262 281 277
Store 219(b) 282
283: 18(int) Load 20(i)
284: 18(int) Load 22(ui)
285: 18(int) IAdd 283 284
286: 18(int) Load 20(i)
287: 18(int) IMul 285 286
288: 18(int) Load 22(ui)
289: 18(int) ISub 287 288
290: 18(int) Load 20(i)
291: 18(int) SDiv 289 290
Store 20(i) 291
292: 18(int) Load 20(i)
293: 18(int) Load 22(ui)
294: 18(int) SMod 292 293
Store 20(i) 294
295: 18(int) Load 20(i)
296: 18(int) Load 22(ui)
297: 217(bool) IEqual 295 296
298: 217(bool) LogicalNot 297
SelectionMerge 300 None
BranchConditional 298 299 300
299: Label
301: 18(int) Load 20(i)
302: 18(int) Load 22(ui)
303: 217(bool) INotEqual 301 302
304: 18(int) Load 20(i)
305: 18(int) Load 22(ui)
306: 217(bool) IEqual 304 305
307: 217(bool) LogicalAnd 303 306
308: 18(int) Load 20(i)
310: 217(bool) INotEqual 308 309
311: 217(bool) LogicalNotEqual 307 310
Branch 300
300: Label
312: 217(bool) Phi 297 278 311 299
SelectionMerge 314 None
BranchConditional 312 313 314
313: Label
315: 18(int) Load 20(i)
317: 18(int) IAdd 315 316
Store 20(i) 317
Branch 314
314: Label
319: 6(float) Load 172(uf)
320: 6(float) Load 172(uf)
321: 6(float) FAdd 319 320
322: 6(float) Load 172(uf)
323: 6(float) FMul 321 322
324: 6(float) Load 172(uf)
325: 6(float) FSub 323 324
326: 6(float) Load 172(uf)
327: 6(float) FDiv 325 326
Store 318(f) 327
328: 7(fvec4) Load 9(v)
329: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 328
330: 6(float) Load 318(f)
331: 6(float) FAdd 330 329
Store 318(f) 331
332: 7(fvec4) Load 9(v)
333: 7(fvec4) Load 9(v)
334: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 332 333
335: 6(float) Load 318(f)
336: 6(float) FAdd 335 334
Store 318(f) 336
337: 7(fvec4) Load 9(v)
338: 7(fvec4) Load 9(v)
339: 6(float) Dot 337 338
340: 6(float) Load 318(f)
341: 6(float) FAdd 340 339
Store 318(f) 341
342: 6(float) Load 318(f)
343: 6(float) Load 172(uf)
344: 6(float) FMul 342 343
345: 6(float) Load 318(f)
346: 6(float) FAdd 345 344
Store 318(f) 346
348: 7(fvec4) Load 9(v)
349: 347(fvec3) VectorShuffle 348 348 0 1 2
350: 7(fvec4) Load 9(v)
351: 347(fvec3) VectorShuffle 350 350 0 1 2
352: 347(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 349 351
353: 6(float) CompositeExtract 352 0
354: 6(float) Load 318(f)
355: 6(float) FAdd 354 353
Store 318(f) 355
356: 6(float) Load 318(f)
357: 6(float) Load 172(uf)
358: 217(bool) FOrdEqual 356 357
359: 217(bool) LogicalNot 358
217: 6(float) Load 211(uf)
218: 6(float) Load 211(uf)
219: 7(fvec4) Load 9(v)
220: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 217 218 219
221: 7(fvec4) Load 9(v)
222: 7(fvec4) FAdd 221 220
Store 9(v) 222
223: 7(fvec4) Load 9(v)
224: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 223
225: 7(fvec4) Load 9(v)
226: 7(fvec4) FAdd 225 224
Store 9(v) 226
227: 7(fvec4) Load 9(v)
228: 7(fvec4) Load 9(v)
229: 7(fvec4) Load 9(v)
230: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 227 228 229
231: 7(fvec4) Load 9(v)
232: 7(fvec4) FAdd 231 230
Store 9(v) 232
233: 7(fvec4) Load 9(v)
234: 7(fvec4) Load 9(v)
235: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 233 234
236: 7(fvec4) Load 9(v)
237: 7(fvec4) FAdd 236 235
Store 9(v) 237
238: 7(fvec4) Load 9(v)
239: 7(fvec4) Load 9(v)
240: 6(float) Load 211(uf)
241: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 238 239 240
242: 7(fvec4) Load 9(v)
243: 7(fvec4) FAdd 242 241
Store 9(v) 243
244: 7(fvec4) Load 9(v)
245: 7(fvec4) DPdx 244
246: 7(fvec4) Load 9(v)
247: 7(fvec4) FAdd 246 245
Store 9(v) 247
248: 7(fvec4) Load 9(v)
249: 7(fvec4) DPdy 248
250: 7(fvec4) Load 9(v)
251: 7(fvec4) FAdd 250 249
Store 9(v) 251
252: 7(fvec4) Load 9(v)
253: 7(fvec4) Fwidth 252
254: 7(fvec4) Load 9(v)
255: 7(fvec4) FAdd 254 253
Store 9(v) 255
256: 18(int) Load 22(ui)
257: 18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 256
258: 18(int) Load 20(i)
259: 18(int) IAdd 258 257
Store 20(i) 259
260: 18(int) Load 20(i)
261: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 260
262: 18(int) Load 20(i)
263: 18(int) IAdd 262 261
Store 20(i) 263
264: 18(int) Load 20(i)
265: 18(int) Load 22(ui)
266: 18(int) ExtInst 1(GLSL.std.450) 39(SMin) 264 265
267: 18(int) Load 20(i)
268: 18(int) IAdd 267 266
Store 20(i) 268
269: 18(int) Load 20(i)
270: 18(int) Load 22(ui)
271: 18(int) ExtInst 1(GLSL.std.450) 42(SMax) 269 270
272: 18(int) Load 20(i)
273: 18(int) IAdd 272 271
Store 20(i) 273
274: 18(int) Load 20(i)
275: 18(int) Load 22(ui)
276: 18(int) Load 22(ui)
277: 18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 274 275 276
278: 18(int) Load 20(i)
279: 18(int) IAdd 278 277
Store 20(i) 279
282: 141(int) Load 281(u)
285: 141(int) Load 284(uui)
286: 141(int) ExtInst 1(GLSL.std.450) 38(UMin) 282 285
287: 141(int) Load 281(u)
288: 141(int) IAdd 287 286
Store 281(u) 288
289: 141(int) Load 281(u)
290: 141(int) Load 284(uui)
291: 141(int) ExtInst 1(GLSL.std.450) 41(UMax) 289 290
292: 141(int) Load 281(u)
293: 141(int) IAdd 292 291
Store 281(u) 293
294: 141(int) Load 281(u)
295: 141(int) Load 284(uui)
296: 141(int) Load 284(uui)
297: 141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 294 295 296
298: 141(int) Load 281(u)
299: 141(int) IAdd 298 297
Store 281(u) 299
302: 6(float) Load 211(uf)
303: 178(bool) IsNan 302
Store 301(b) 303
304: 6(float) Load 188(f)
305: 178(bool) IsInf 304
Store 301(b) 305
306: 7(fvec4) Load 9(v)
307: 7(fvec4) Load 11(uv4)
308: 179(bvec4) FOrdLessThan 306 307
309: 178(bool) Any 308
Store 301(b) 309
310: 178(bool) Load 301(b)
SelectionMerge 312 None
BranchConditional 310 311 312
311: Label
313: 7(fvec4) Load 9(v)
314: 7(fvec4) Load 11(uv4)
315: 179(bvec4) FOrdLessThanEqual 313 314
316: 178(bool) Any 315
Branch 312
312: Label
317: 178(bool) Phi 310 5 316 311
Store 301(b) 317
318: 178(bool) Load 301(b)
SelectionMerge 320 None
BranchConditional 318 319 320
319: Label
321: 7(fvec4) Load 9(v)
322: 7(fvec4) Load 11(uv4)
323: 179(bvec4) FOrdGreaterThan 321 322
324: 178(bool) Any 323
Branch 320
320: Label
325: 178(bool) Phi 318 312 324 319
Store 301(b) 325
326: 178(bool) Load 301(b)
SelectionMerge 328 None
BranchConditional 326 327 328
327: Label
329: 7(fvec4) Load 9(v)
330: 7(fvec4) Load 11(uv4)
331: 179(bvec4) FOrdGreaterThanEqual 329 330
332: 178(bool) Any 331
Branch 328
328: Label
333: 178(bool) Phi 326 320 332 327
Store 301(b) 333
334: 178(bool) Load 301(b)
SelectionMerge 336 None
BranchConditional 334 335 336
335: Label
337: 179(bvec4) Load 181(ub41)
339: 179(bvec4) Load 338(ub42)
340: 179(bvec4) IEqual 337 339
341: 178(bool) Any 340
Branch 336
336: Label
342: 178(bool) Phi 334 328 341 335
Store 301(b) 342
343: 178(bool) Load 301(b)
SelectionMerge 345 None
BranchConditional 343 344 345
344: Label
346: 179(bvec4) Load 181(ub41)
347: 179(bvec4) Load 338(ub42)
348: 179(bvec4) INotEqual 346 347
349: 178(bool) Any 348
Branch 345
345: Label
350: 178(bool) Phi 343 336 349 344
Store 301(b) 350
351: 178(bool) Load 301(b)
352: 179(bvec4) Load 181(ub41)
353: 178(bool) Any 352
354: 178(bool) LogicalAnd 351 353
Store 301(b) 354
355: 178(bool) Load 301(b)
356: 179(bvec4) Load 181(ub41)
357: 178(bool) All 356
358: 178(bool) LogicalAnd 355 357
Store 301(b) 358
359: 178(bool) Load 301(b)
SelectionMerge 361 None
BranchConditional 359 360 361
360: Label
362: 6(float) Load 318(f)
363: 6(float) Load 172(uf)
364: 217(bool) FOrdNotEqual 362 363
365: 6(float) Load 318(f)
367: 217(bool) FOrdNotEqual 365 366
368: 217(bool) LogicalAnd 364 367
362: 179(bvec4) Load 181(ub41)
363: 179(bvec4) LogicalNot 362
364: 178(bool) Any 363
Branch 361
361: Label
369: 217(bool) Phi 358 314 368 360
SelectionMerge 371 None
BranchConditional 369 370 371
370: Label
372: 6(float) Load 318(f)
374: 6(float) FAdd 372 373
Store 318(f) 374
Branch 371
371: Label
375: 18(int) Load 22(ui)
376: 18(int) Load 20(i)
377: 18(int) BitwiseAnd 376 375
365: 178(bool) Phi 359 345 364 360
Store 301(b) 365
366: 18(int) Load 20(i)
367: 18(int) Load 22(ui)
368: 18(int) IAdd 366 367
369: 18(int) Load 20(i)
370: 18(int) IMul 368 369
371: 18(int) Load 22(ui)
372: 18(int) ISub 370 371
373: 18(int) Load 20(i)
374: 18(int) SDiv 372 373
Store 20(i) 374
375: 18(int) Load 20(i)
376: 18(int) Load 22(ui)
377: 18(int) SMod 375 376
Store 20(i) 377
379: 18(int) Load 20(i)
380: 18(int) BitwiseOr 379 378
Store 20(i) 380
381: 18(int) Load 22(ui)
382: 18(int) Load 20(i)
383: 18(int) BitwiseXor 382 381
Store 20(i) 383
385: 18(int) Load 20(i)
386: 18(int) SMod 385 384
Store 20(i) 386
387: 18(int) Load 20(i)
388: 18(int) ShiftRightArithmetic 387 309
Store 20(i) 388
389: 18(int) Load 22(ui)
390: 18(int) Load 20(i)
391: 18(int) ShiftLeftLogical 390 389
Store 20(i) 391
392: 18(int) Load 20(i)
393: 18(int) Not 392
Store 20(i) 393
394: 217(bool) Load 219(b)
395: 217(bool) LogicalNot 394
Store 219(b) 395
399: 217(bool) Load 219(b)
SelectionMerge 401 None
BranchConditional 399 400 410
400: Label
402: 18(int) Load 20(i)
403: 6(float) ConvertSToF 402
404: 7(fvec4) CompositeConstruct 403 403 403 403
405: 6(float) Load 318(f)
406: 7(fvec4) CompositeConstruct 405 405 405 405
407: 7(fvec4) FAdd 404 406
408: 7(fvec4) Load 9(v)
409: 7(fvec4) FAdd 407 408
Store 398 409
Branch 401
410: Label
411: 7(fvec4) Load 9(v)
Store 398 411
Branch 401
401: Label
412: 7(fvec4) Load 398
Store 397(gl_FragColor) 412
378: 18(int) Load 20(i)
379: 18(int) Load 22(ui)
380: 178(bool) IEqual 378 379
381: 178(bool) LogicalNot 380
SelectionMerge 383 None
BranchConditional 381 382 383
382: Label
384: 18(int) Load 20(i)
385: 18(int) Load 22(ui)
386: 178(bool) INotEqual 384 385
387: 18(int) Load 20(i)
388: 18(int) Load 22(ui)
389: 178(bool) IEqual 387 388
390: 178(bool) LogicalAnd 386 389
391: 18(int) Load 20(i)
393: 178(bool) INotEqual 391 392
394: 178(bool) LogicalNotEqual 390 393
Branch 383
383: Label
395: 178(bool) Phi 380 361 394 382
SelectionMerge 397 None
BranchConditional 395 396 397
396: Label
398: 18(int) Load 20(i)
400: 18(int) IAdd 398 399
Store 20(i) 400
Branch 397
397: Label
401: 6(float) Load 211(uf)
402: 6(float) Load 211(uf)
403: 6(float) FAdd 401 402
404: 6(float) Load 211(uf)
405: 6(float) FMul 403 404
406: 6(float) Load 211(uf)
407: 6(float) FSub 405 406
408: 6(float) Load 211(uf)
409: 6(float) FDiv 407 408
Store 188(f) 409
410: 7(fvec4) Load 9(v)
411: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 410
412: 6(float) Load 188(f)
413: 6(float) FAdd 412 411
Store 188(f) 413
414: 7(fvec4) Load 9(v)
415: 7(fvec4) Load 9(v)
416: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 414 415
417: 6(float) Load 188(f)
418: 6(float) FAdd 417 416
Store 188(f) 418
419: 7(fvec4) Load 9(v)
420: 7(fvec4) Load 9(v)
421: 6(float) Dot 419 420
422: 6(float) Load 188(f)
423: 6(float) FAdd 422 421
Store 188(f) 423
424: 6(float) Load 188(f)
425: 6(float) Load 211(uf)
426: 6(float) FMul 424 425
427: 6(float) Load 188(f)
428: 6(float) FAdd 427 426
Store 188(f) 428
430: 7(fvec4) Load 9(v)
431: 429(fvec3) VectorShuffle 430 430 0 1 2
432: 7(fvec4) Load 9(v)
433: 429(fvec3) VectorShuffle 432 432 0 1 2
434: 429(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 431 433
435: 6(float) CompositeExtract 434 0
436: 6(float) Load 188(f)
437: 6(float) FAdd 436 435
Store 188(f) 437
438: 6(float) Load 188(f)
439: 6(float) Load 211(uf)
440: 178(bool) FOrdEqual 438 439
441: 178(bool) LogicalNot 440
SelectionMerge 443 None
BranchConditional 441 442 443
442: Label
444: 6(float) Load 188(f)
445: 6(float) Load 211(uf)
446: 178(bool) FOrdNotEqual 444 445
447: 6(float) Load 188(f)
449: 178(bool) FOrdNotEqual 447 448
450: 178(bool) LogicalAnd 446 449
Branch 443
443: Label
451: 178(bool) Phi 440 397 450 442
SelectionMerge 453 None
BranchConditional 451 452 453
452: Label
454: 6(float) Load 188(f)
456: 6(float) FAdd 454 455
Store 188(f) 456
Branch 453
453: Label
457: 18(int) Load 22(ui)
458: 18(int) Load 20(i)
459: 18(int) BitwiseAnd 458 457
Store 20(i) 459
461: 18(int) Load 20(i)
462: 18(int) BitwiseOr 461 460
Store 20(i) 462
463: 18(int) Load 22(ui)
464: 18(int) Load 20(i)
465: 18(int) BitwiseXor 464 463
Store 20(i) 465
467: 18(int) Load 20(i)
468: 18(int) SMod 467 466
Store 20(i) 468
469: 18(int) Load 20(i)
470: 18(int) ShiftRightArithmetic 469 392
Store 20(i) 470
471: 18(int) Load 22(ui)
472: 18(int) Load 20(i)
473: 18(int) ShiftLeftLogical 472 471
Store 20(i) 473
474: 18(int) Load 20(i)
475: 18(int) Not 474
Store 20(i) 475
476: 178(bool) Load 301(b)
477: 178(bool) LogicalNot 476
Store 301(b) 477
481: 178(bool) Load 301(b)
SelectionMerge 483 None
BranchConditional 481 482 492
482: Label
484: 18(int) Load 20(i)
485: 6(float) ConvertSToF 484
486: 7(fvec4) CompositeConstruct 485 485 485 485
487: 6(float) Load 188(f)
488: 7(fvec4) CompositeConstruct 487 487 487 487
489: 7(fvec4) FAdd 486 488
490: 7(fvec4) Load 9(v)
491: 7(fvec4) FAdd 489 490
Store 480 491
Branch 483
492: Label
493: 7(fvec4) Load 9(v)
Store 480 493
Branch 483
483: Label
494: 7(fvec4) Load 480
Store 479(FragColor) 494
Return
FunctionEnd

View File

@ -1,8 +1,4 @@
spv.matrix.frag
WARNING: 0:6: varying deprecated in version 130; may be removed in future release
WARNING: 0:17: varying deprecated in version 130; may be removed in future release
WARNING: 0:22: varying deprecated in version 130; may be removed in future release
Linked fragment stage:

View File

@ -1,4 +1,4 @@
#version 130
#version 450
uniform ivec4 uiv4;
uniform vec4 uv4;
@ -7,10 +7,10 @@ uniform bvec4 ub41, ub42;
uniform float uf;
uniform int ui;
#ifdef TEST_POST_110
uniform uvec4 uuv4;
uniform unsigned int uui;
#endif
uniform uint uui;
out vec4 FragColor;
void main()
{
@ -19,9 +19,7 @@ void main()
bool b;
bvec4 bv4;
int i;
#ifdef TEST_POST_110
uint u;
#endif
// floating point
v = radians(uv4);
@ -51,37 +49,29 @@ void main()
v += sign(v);
v += floor(v);
#ifdef TEST_POST_110
v += trunc(v);
v += round(v);
v += roundEven(v);
#endif
v += ceil(v);
v += fract(v);
v += mod(v, v);
v += mod(v, v.x);
#ifdef TEST_POST_110
v += modf(v, v);
#endif
v += min(v, uv4);
v += max(v, uv4);
v += clamp(v, uv4, uv4);
v += mix(v,v,v);
#ifdef TEST_POST_110
v += mix(v,v,ub);
v += intBitsToFloat(v);
v += uintBitsToFloat(v);
v += fma(v);
v += frexp(v);
v += ldexp(v);
v += unpackUnorm2x16(v);
v += unpackUnorm4x8(v);
v += unpackSnorm4x8(v);
#endif
v += mix(v,v,ub41);
v += mix(v,v,f);
//spv v += intBitsToFloat(ui);
// v += uintBitsToFloat(uui);
// i += floatBitsToInt(f);
// u += floatBitsToUint(f);
v += fma(v, uv4, v);
v += step(v,v);
v += smoothstep(v,v,v);
@ -94,9 +84,7 @@ void main()
v += dFdx(v);
v += dFdy(v);
v += fwidth(v);
//noise*(v);
#ifdef TEST_POST_110
// signed integer
i += abs(ui);
i += sign(i);
@ -104,29 +92,14 @@ void main()
i += max(i, ui);
i += clamp(i, ui, ui);
floatsBitsToInt(v);
packUnorm2x16(v);
packUnorm4x8(v);
packSnorm4x8(v);
// unsigned integer
u = abs(uui);
u += sign(u);
u += min(u, uui);
u += max(u, uui);
u += clamp(u, uui, uui);
u += floatsBitToInt(v);
u += packUnorm2x16(v);
u += packUnorm4x8(v);
u += packSnorm4x8(v);
u += floatBitsToUInt(v);
#endif
// bool
#ifdef TEST_POST_110
//// bool
b = isnan(uf);
b = isinf(v);
#endif
b = isinf(f);
b = any(lessThan(v, uv4));
b = (b && any(lessThanEqual(v, uv4)));
b = (b && any(greaterThan(v, uv4)));
@ -162,5 +135,5 @@ void main()
i = ~i;
b = !b;
gl_FragColor = b ? vec4(i) + vec4(f) + v : v;
FragColor = b ? vec4(i) + vec4(f) + v : v;
}

View File

@ -2,11 +2,7 @@
uniform vec4 u[3];
#ifdef TEST_POST_110
varying vec2 v[];
#else
varying vec2 v[2];
#endif
void main()
{

View File

@ -1,26 +1,15 @@
#version 130
//#define TEST_POST_110
uniform mat3 colorTransform;
varying vec3 Color;
in vec3 Color;
uniform mat4 m, n;
#ifdef TEST_POST_110
uniform mat4x3 um43;
uniform mat3x4 un34;
#else
uniform mat4 um43;
uniform mat4 un34;
#endif
varying vec4 v;
in vec4 v;
#ifdef TEST_POST_110
varying vec3 u;
#else
varying vec4 u;
#endif
in vec3 u;
void main()
{
@ -29,24 +18,14 @@ void main()
if (m != n)
gl_FragColor += v;
else {
else {
gl_FragColor += m * v;
gl_FragColor += v * (m - n);
}
#ifdef TEST_POST_110
mat3x4 m34 = outerProduct(v, u);
m34 += mat4(v.x);
m34 += mat4(u, u.x, u, u.x, u, u.x, u.x);
#else
mat4 m34 = mat4(v.x*u.x, v.x*u.y, v.x*u.z, v.x*u.w,
v.y*u.x, v.y*u.y, v.y*u.z, v.y*u.w,
v.z*u.x, v.z*u.y, v.z*u.z, v.z*u.w,
v.w*u.x, v.w*u.y, v.w*u.z, v.w*u.w);
m34 += mat4(v.x);
m34 += mat4(u, u.x, u, u.x, u, u.x, u.x);
}
#endif
mat3x4 m34 = outerProduct(v, u);
m34 += mat3x4(v.x);
m34 += mat3x4(u, u.x, u, u.x, u, u.x);
if (m34 == un34)
gl_FragColor += m34 * u;

View File

@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "SPIRV99.836"
#define GLSLANG_DATE "09-Dec-2015"
#define GLSLANG_REVISION "SPIRV99.839"
#define GLSLANG_DATE "11-Dec-2015"