mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-23 19:29:44 +00:00
SPV GLSL.std.450: Add needed smear operations for min, max, clamp, mix, step, and smoothstep.
This commit is contained in:
parent
6feb4989fe
commit
e7c83cfb8c
@ -2871,6 +2871,7 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
|
||||
libCall = spv::GLSLstd450UMin;
|
||||
else
|
||||
libCall = spv::GLSLstd450SMin;
|
||||
builder.promoteScalar(precision, operands.front(), operands.back());
|
||||
break;
|
||||
case glslang::EOpModf:
|
||||
libCall = spv::GLSLstd450Modf;
|
||||
@ -2882,6 +2883,7 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
|
||||
libCall = spv::GLSLstd450UMax;
|
||||
else
|
||||
libCall = spv::GLSLstd450SMax;
|
||||
builder.promoteScalar(precision, operands.front(), operands.back());
|
||||
break;
|
||||
case glslang::EOpPow:
|
||||
libCall = spv::GLSLstd450Pow;
|
||||
@ -2900,18 +2902,24 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
|
||||
libCall = spv::GLSLstd450UClamp;
|
||||
else
|
||||
libCall = spv::GLSLstd450SClamp;
|
||||
builder.promoteScalar(precision, operands.front(), operands[1]);
|
||||
builder.promoteScalar(precision, operands.front(), operands[2]);
|
||||
break;
|
||||
case glslang::EOpMix:
|
||||
if (isFloat)
|
||||
libCall = spv::GLSLstd450FMix;
|
||||
else
|
||||
libCall = spv::GLSLstd450IMix;
|
||||
builder.promoteScalar(precision, operands.front(), operands.back());
|
||||
break;
|
||||
case glslang::EOpStep:
|
||||
libCall = spv::GLSLstd450Step;
|
||||
builder.promoteScalar(precision, operands.front(), operands.back());
|
||||
break;
|
||||
case glslang::EOpSmoothStep:
|
||||
libCall = spv::GLSLstd450SmoothStep;
|
||||
builder.promoteScalar(precision, operands[0], operands[2]);
|
||||
builder.promoteScalar(precision, operands[1], operands[2]);
|
||||
break;
|
||||
|
||||
case glslang::EOpDistance:
|
||||
|
@ -7,12 +7,12 @@ Linked fragment stage:
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 503
|
||||
// Id's are bound by 507
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 479
|
||||
EntryPoint Fragment 4 "main" 483
|
||||
ExecutionMode 4 OriginLowerLeft
|
||||
Source GLSL 450
|
||||
Name 4 "main"
|
||||
@ -22,15 +22,15 @@ Linked fragment stage:
|
||||
Name 22 "ui"
|
||||
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"
|
||||
Name 212 "uf"
|
||||
Name 285 "u"
|
||||
Name 288 "uui"
|
||||
Name 305 "b"
|
||||
Name 342 "ub42"
|
||||
Name 483 "FragColor"
|
||||
Name 501 "uiv4"
|
||||
Name 503 "ub"
|
||||
Name 506 "uuv4"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -49,38 +49,38 @@ Linked fragment stage:
|
||||
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
|
||||
211: TypePointer UniformConstant 6(float)
|
||||
212(uf): 211(ptr) Variable UniformConstant
|
||||
284: TypePointer Function 141(int)
|
||||
287: TypePointer UniformConstant 141(int)
|
||||
288(uui): 287(ptr) Variable UniformConstant
|
||||
304: TypePointer Function 178(bool)
|
||||
342(ub42): 180(ptr) Variable UniformConstant
|
||||
396: 18(int) Constant 2
|
||||
403: 18(int) Constant 1
|
||||
433: TypeVector 6(float) 3
|
||||
452: 6(float) Constant 1073741824
|
||||
459: 6(float) Constant 1065353216
|
||||
464: 18(int) Constant 66
|
||||
470: 18(int) Constant 17
|
||||
482: TypePointer Output 7(fvec4)
|
||||
483(FragColor): 482(ptr) Variable Output
|
||||
499: TypeVector 18(int) 4
|
||||
500: TypePointer UniformConstant 499(ivec4)
|
||||
501(uiv4): 500(ptr) Variable UniformConstant
|
||||
502: TypePointer UniformConstant 178(bool)
|
||||
503(ub): 502(ptr) Variable UniformConstant
|
||||
504: TypeVector 141(int) 4
|
||||
505: TypePointer UniformConstant 504(ivec4)
|
||||
506(uuv4): 505(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(v): 8(ptr) Variable Function
|
||||
20(i): 19(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
|
||||
285(u): 284(ptr) Variable Function
|
||||
305(b): 304(ptr) Variable Function
|
||||
484: 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
|
||||
@ -284,378 +284,382 @@ Linked fragment stage:
|
||||
186: 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) 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)
|
||||
190: 7(fvec4) CompositeConstruct 189 189 189 189
|
||||
191: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 186 187 190
|
||||
192: 7(fvec4) Load 9(v)
|
||||
193: 7(fvec4) FAdd 192 191
|
||||
Store 9(v) 193
|
||||
194: 7(fvec4) Load 9(v)
|
||||
195: 7(fvec4) Load 11(uv4)
|
||||
196: 7(fvec4) Load 9(v)
|
||||
197: 7(fvec4) ExtInst 1(GLSL.std.450) 50(Fma) 194 195 196
|
||||
198: 7(fvec4) Load 9(v)
|
||||
199: 7(fvec4) FAdd 198 197
|
||||
Store 9(v) 199
|
||||
200: 7(fvec4) Load 9(v)
|
||||
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)
|
||||
201: 7(fvec4) Load 9(v)
|
||||
202: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 200 201
|
||||
203: 7(fvec4) Load 9(v)
|
||||
204: 7(fvec4) FAdd 203 202
|
||||
Store 9(v) 204
|
||||
205: 7(fvec4) Load 9(v)
|
||||
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) 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
|
||||
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
|
||||
207: 7(fvec4) Load 9(v)
|
||||
208: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 205 206 207
|
||||
209: 7(fvec4) Load 9(v)
|
||||
210: 7(fvec4) FAdd 209 208
|
||||
Store 9(v) 210
|
||||
213: 6(float) Load 212(uf)
|
||||
214: 7(fvec4) Load 9(v)
|
||||
215: 7(fvec4) CompositeConstruct 213 213 213 213
|
||||
216: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 215 214
|
||||
217: 7(fvec4) Load 9(v)
|
||||
218: 7(fvec4) FAdd 217 216
|
||||
Store 9(v) 218
|
||||
219: 6(float) Load 212(uf)
|
||||
220: 6(float) Load 212(uf)
|
||||
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
|
||||
222: 7(fvec4) CompositeConstruct 219 219 219 219
|
||||
223: 7(fvec4) CompositeConstruct 220 220 220 220
|
||||
224: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 222 223 221
|
||||
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)
|
||||
228: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 227
|
||||
229: 7(fvec4) Load 9(v)
|
||||
230: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 227 228 229
|
||||
230: 7(fvec4) FAdd 229 228
|
||||
Store 9(v) 230
|
||||
231: 7(fvec4) Load 9(v)
|
||||
232: 7(fvec4) FAdd 231 230
|
||||
Store 9(v) 232
|
||||
232: 7(fvec4) Load 9(v)
|
||||
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
|
||||
234: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 231 232 233
|
||||
235: 7(fvec4) Load 9(v)
|
||||
236: 7(fvec4) FAdd 235 234
|
||||
Store 9(v) 236
|
||||
237: 7(fvec4) Load 9(v)
|
||||
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
|
||||
239: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 237 238
|
||||
240: 7(fvec4) Load 9(v)
|
||||
241: 7(fvec4) FAdd 240 239
|
||||
Store 9(v) 241
|
||||
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
|
||||
243: 7(fvec4) Load 9(v)
|
||||
244: 6(float) Load 212(uf)
|
||||
245: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 242 243 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
|
||||
249: 7(fvec4) DPdx 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
|
||||
253: 7(fvec4) DPdy 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
|
||||
256: 7(fvec4) Load 9(v)
|
||||
257: 7(fvec4) Fwidth 256
|
||||
258: 7(fvec4) Load 9(v)
|
||||
259: 7(fvec4) FAdd 258 257
|
||||
Store 9(v) 259
|
||||
260: 18(int) Load 22(ui)
|
||||
261: 18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 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
|
||||
265: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 264
|
||||
266: 18(int) Load 20(i)
|
||||
267: 18(int) IAdd 266 265
|
||||
Store 20(i) 267
|
||||
268: 18(int) Load 20(i)
|
||||
269: 18(int) Load 22(ui)
|
||||
270: 18(int) ExtInst 1(GLSL.std.450) 39(SMin) 268 269
|
||||
271: 18(int) Load 20(i)
|
||||
272: 18(int) IAdd 271 270
|
||||
Store 20(i) 272
|
||||
273: 18(int) Load 20(i)
|
||||
274: 18(int) Load 22(ui)
|
||||
275: 18(int) ExtInst 1(GLSL.std.450) 42(SMax) 273 274
|
||||
276: 18(int) Load 20(i)
|
||||
277: 18(int) IAdd 276 275
|
||||
Store 20(i) 277
|
||||
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)
|
||||
279: 18(int) Load 22(ui)
|
||||
280: 18(int) Load 22(ui)
|
||||
281: 18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 278 279 280
|
||||
282: 18(int) Load 20(i)
|
||||
283: 18(int) IAdd 282 281
|
||||
Store 20(i) 283
|
||||
286: 141(int) Load 285(u)
|
||||
289: 141(int) Load 288(uui)
|
||||
290: 141(int) ExtInst 1(GLSL.std.450) 38(UMin) 286 289
|
||||
291: 141(int) Load 285(u)
|
||||
292: 141(int) IAdd 291 290
|
||||
Store 285(u) 292
|
||||
293: 141(int) Load 285(u)
|
||||
294: 141(int) Load 288(uui)
|
||||
295: 141(int) ExtInst 1(GLSL.std.450) 41(UMax) 293 294
|
||||
296: 141(int) Load 285(u)
|
||||
297: 141(int) IAdd 296 295
|
||||
Store 285(u) 297
|
||||
298: 141(int) Load 285(u)
|
||||
299: 141(int) Load 288(uui)
|
||||
300: 141(int) Load 288(uui)
|
||||
301: 141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 298 299 300
|
||||
302: 141(int) Load 285(u)
|
||||
303: 141(int) IAdd 302 301
|
||||
Store 285(u) 303
|
||||
306: 6(float) Load 212(uf)
|
||||
307: 178(bool) IsNan 306
|
||||
Store 305(b) 307
|
||||
308: 6(float) Load 188(f)
|
||||
309: 178(bool) IsInf 308
|
||||
Store 305(b) 309
|
||||
310: 7(fvec4) Load 9(v)
|
||||
311: 7(fvec4) Load 11(uv4)
|
||||
312: 179(bvec4) FOrdLessThan 310 311
|
||||
313: 178(bool) Any 312
|
||||
Store 305(b) 313
|
||||
314: 178(bool) Load 305(b)
|
||||
SelectionMerge 316 None
|
||||
BranchConditional 314 315 316
|
||||
315: Label
|
||||
317: 7(fvec4) Load 9(v)
|
||||
318: 7(fvec4) Load 11(uv4)
|
||||
319: 179(bvec4) FOrdLessThanEqual 317 318
|
||||
320: 178(bool) Any 319
|
||||
Branch 316
|
||||
316: Label
|
||||
321: 178(bool) Phi 314 5 320 315
|
||||
Store 305(b) 321
|
||||
322: 178(bool) Load 305(b)
|
||||
SelectionMerge 324 None
|
||||
BranchConditional 322 323 324
|
||||
323: Label
|
||||
325: 7(fvec4) Load 9(v)
|
||||
326: 7(fvec4) Load 11(uv4)
|
||||
327: 179(bvec4) FOrdGreaterThan 325 326
|
||||
328: 178(bool) Any 327
|
||||
Branch 324
|
||||
324: Label
|
||||
329: 178(bool) Phi 322 316 328 323
|
||||
Store 305(b) 329
|
||||
330: 178(bool) Load 305(b)
|
||||
SelectionMerge 332 None
|
||||
BranchConditional 330 331 332
|
||||
331: Label
|
||||
333: 7(fvec4) Load 9(v)
|
||||
334: 7(fvec4) Load 11(uv4)
|
||||
335: 179(bvec4) FOrdGreaterThanEqual 333 334
|
||||
336: 178(bool) Any 335
|
||||
Branch 332
|
||||
332: Label
|
||||
337: 178(bool) Phi 330 324 336 331
|
||||
Store 305(b) 337
|
||||
338: 178(bool) Load 305(b)
|
||||
SelectionMerge 340 None
|
||||
BranchConditional 338 339 340
|
||||
339: Label
|
||||
341: 179(bvec4) Load 181(ub41)
|
||||
343: 179(bvec4) Load 342(ub42)
|
||||
344: 179(bvec4) IEqual 341 343
|
||||
345: 178(bool) Any 344
|
||||
Branch 340
|
||||
340: Label
|
||||
346: 178(bool) Phi 338 332 345 339
|
||||
Store 305(b) 346
|
||||
347: 178(bool) Load 305(b)
|
||||
SelectionMerge 349 None
|
||||
BranchConditional 347 348 349
|
||||
348: Label
|
||||
350: 179(bvec4) Load 181(ub41)
|
||||
351: 179(bvec4) Load 342(ub42)
|
||||
352: 179(bvec4) INotEqual 350 351
|
||||
353: 178(bool) Any 352
|
||||
Branch 349
|
||||
349: Label
|
||||
354: 178(bool) Phi 347 340 353 348
|
||||
Store 305(b) 354
|
||||
355: 178(bool) Load 305(b)
|
||||
356: 179(bvec4) Load 181(ub41)
|
||||
357: 178(bool) All 356
|
||||
357: 178(bool) Any 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: 179(bvec4) Load 181(ub41)
|
||||
363: 179(bvec4) LogicalNot 362
|
||||
364: 178(bool) Any 363
|
||||
Branch 361
|
||||
361: Label
|
||||
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
|
||||
Store 305(b) 358
|
||||
359: 178(bool) Load 305(b)
|
||||
360: 179(bvec4) Load 181(ub41)
|
||||
361: 178(bool) All 360
|
||||
362: 178(bool) LogicalAnd 359 361
|
||||
Store 305(b) 362
|
||||
363: 178(bool) Load 305(b)
|
||||
SelectionMerge 365 None
|
||||
BranchConditional 363 364 365
|
||||
364: Label
|
||||
366: 179(bvec4) Load 181(ub41)
|
||||
367: 179(bvec4) LogicalNot 366
|
||||
368: 178(bool) Any 367
|
||||
Branch 365
|
||||
365: Label
|
||||
369: 178(bool) Phi 363 349 368 364
|
||||
Store 305(b) 369
|
||||
370: 18(int) Load 20(i)
|
||||
371: 18(int) Load 22(ui)
|
||||
372: 18(int) ISub 370 371
|
||||
372: 18(int) IAdd 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
|
||||
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
|
||||
374: 18(int) IMul 372 373
|
||||
375: 18(int) Load 22(ui)
|
||||
376: 18(int) ISub 374 375
|
||||
377: 18(int) Load 20(i)
|
||||
378: 18(int) SDiv 376 377
|
||||
Store 20(i) 378
|
||||
379: 18(int) Load 20(i)
|
||||
380: 18(int) Load 22(ui)
|
||||
381: 18(int) SMod 379 380
|
||||
Store 20(i) 381
|
||||
382: 18(int) Load 20(i)
|
||||
383: 18(int) Load 22(ui)
|
||||
384: 178(bool) IEqual 382 383
|
||||
385: 178(bool) LogicalNot 384
|
||||
SelectionMerge 387 None
|
||||
BranchConditional 385 386 387
|
||||
386: Label
|
||||
388: 18(int) Load 20(i)
|
||||
389: 18(int) Load 22(ui)
|
||||
390: 178(bool) INotEqual 388 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
|
||||
392: 18(int) Load 22(ui)
|
||||
393: 178(bool) IEqual 391 392
|
||||
394: 178(bool) LogicalAnd 390 393
|
||||
395: 18(int) Load 20(i)
|
||||
397: 178(bool) INotEqual 395 396
|
||||
398: 178(bool) LogicalNotEqual 394 397
|
||||
Branch 387
|
||||
387: Label
|
||||
399: 178(bool) Phi 384 365 398 386
|
||||
SelectionMerge 401 None
|
||||
BranchConditional 399 400 401
|
||||
400: Label
|
||||
402: 18(int) Load 20(i)
|
||||
404: 18(int) IAdd 402 403
|
||||
Store 20(i) 404
|
||||
Branch 401
|
||||
401: Label
|
||||
405: 6(float) Load 212(uf)
|
||||
406: 6(float) Load 212(uf)
|
||||
407: 6(float) FAdd 405 406
|
||||
408: 6(float) Load 212(uf)
|
||||
409: 6(float) FMul 407 408
|
||||
410: 6(float) Load 212(uf)
|
||||
411: 6(float) FSub 409 410
|
||||
412: 6(float) Load 212(uf)
|
||||
413: 6(float) FDiv 411 412
|
||||
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
|
||||
415: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 414
|
||||
416: 6(float) Load 188(f)
|
||||
417: 6(float) FAdd 416 415
|
||||
Store 188(f) 417
|
||||
418: 7(fvec4) Load 9(v)
|
||||
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
|
||||
420: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 418 419
|
||||
421: 6(float) Load 188(f)
|
||||
422: 6(float) FAdd 421 420
|
||||
Store 188(f) 422
|
||||
423: 7(fvec4) Load 9(v)
|
||||
424: 7(fvec4) Load 9(v)
|
||||
425: 6(float) Dot 423 424
|
||||
426: 6(float) Load 188(f)
|
||||
427: 6(float) FAdd 426 425
|
||||
Store 188(f) 427
|
||||
428: 6(float) Load 188(f)
|
||||
429: 6(float) Load 212(uf)
|
||||
430: 6(float) FMul 428 429
|
||||
431: 6(float) Load 188(f)
|
||||
432: 6(float) FAdd 431 430
|
||||
Store 188(f) 432
|
||||
434: 7(fvec4) Load 9(v)
|
||||
435: 433(fvec3) VectorShuffle 434 434 0 1 2
|
||||
436: 7(fvec4) Load 9(v)
|
||||
437: 433(fvec3) VectorShuffle 436 436 0 1 2
|
||||
438: 433(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 435 437
|
||||
439: 6(float) CompositeExtract 438 0
|
||||
440: 6(float) Load 188(f)
|
||||
441: 6(float) FAdd 440 439
|
||||
Store 188(f) 441
|
||||
442: 6(float) Load 188(f)
|
||||
443: 6(float) Load 212(uf)
|
||||
444: 178(bool) FOrdEqual 442 443
|
||||
445: 178(bool) LogicalNot 444
|
||||
SelectionMerge 447 None
|
||||
BranchConditional 445 446 447
|
||||
446: Label
|
||||
448: 6(float) Load 188(f)
|
||||
449: 6(float) Load 212(uf)
|
||||
450: 178(bool) FOrdNotEqual 448 449
|
||||
451: 6(float) Load 188(f)
|
||||
453: 178(bool) FOrdNotEqual 451 452
|
||||
454: 178(bool) LogicalAnd 450 453
|
||||
Branch 447
|
||||
447: Label
|
||||
455: 178(bool) Phi 444 401 454 446
|
||||
SelectionMerge 457 None
|
||||
BranchConditional 455 456 457
|
||||
456: Label
|
||||
458: 6(float) Load 188(f)
|
||||
460: 6(float) FAdd 458 459
|
||||
Store 188(f) 460
|
||||
Branch 457
|
||||
457: Label
|
||||
461: 18(int) Load 22(ui)
|
||||
462: 18(int) Load 20(i)
|
||||
463: 18(int) BitwiseAnd 462 461
|
||||
Store 20(i) 463
|
||||
465: 18(int) Load 20(i)
|
||||
466: 18(int) BitwiseOr 465 464
|
||||
Store 20(i) 466
|
||||
467: 18(int) Load 22(ui)
|
||||
468: 18(int) Load 20(i)
|
||||
469: 18(int) BitwiseXor 468 467
|
||||
Store 20(i) 469
|
||||
471: 18(int) Load 20(i)
|
||||
472: 18(int) SMod 471 470
|
||||
Store 20(i) 472
|
||||
473: 18(int) Load 20(i)
|
||||
474: 18(int) ShiftRightArithmetic 473 396
|
||||
Store 20(i) 474
|
||||
475: 18(int) Load 22(ui)
|
||||
476: 18(int) Load 20(i)
|
||||
477: 18(int) ShiftLeftLogical 476 475
|
||||
Store 20(i) 477
|
||||
478: 18(int) Load 20(i)
|
||||
479: 18(int) Not 478
|
||||
Store 20(i) 479
|
||||
480: 178(bool) Load 305(b)
|
||||
481: 178(bool) LogicalNot 480
|
||||
Store 305(b) 481
|
||||
485: 178(bool) Load 305(b)
|
||||
SelectionMerge 487 None
|
||||
BranchConditional 485 486 496
|
||||
486: Label
|
||||
488: 18(int) Load 20(i)
|
||||
489: 6(float) ConvertSToF 488
|
||||
490: 7(fvec4) CompositeConstruct 489 489 489 489
|
||||
491: 6(float) Load 188(f)
|
||||
492: 7(fvec4) CompositeConstruct 491 491 491 491
|
||||
493: 7(fvec4) FAdd 490 492
|
||||
494: 7(fvec4) Load 9(v)
|
||||
495: 7(fvec4) FAdd 493 494
|
||||
Store 484 495
|
||||
Branch 487
|
||||
496: Label
|
||||
497: 7(fvec4) Load 9(v)
|
||||
Store 484 497
|
||||
Branch 487
|
||||
487: Label
|
||||
498: 7(fvec4) Load 484
|
||||
Store 483(FragColor) 498
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -7,7 +7,7 @@ Linked fragment stage:
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 55
|
||||
// Id's are bound by 56
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
@ -82,7 +82,8 @@ Linked fragment stage:
|
||||
51: 6(float) Load 50(blend)
|
||||
52: 6(float) Load 8(blendscale)
|
||||
53: 6(float) FMul 51 52
|
||||
54: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 45 48 53
|
||||
Store 44(gl_FragColor) 54
|
||||
54: 10(fvec4) CompositeConstruct 53 53 53 53
|
||||
55: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 45 48 54
|
||||
Store 44(gl_FragColor) 55
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -8,12 +8,12 @@ Linked fragment stage:
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 290
|
||||
// Id's are bound by 291
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 289 47
|
||||
EntryPoint Fragment 4 "main" 290 47
|
||||
ExecutionMode 4 OriginLowerLeft
|
||||
Source GLSL 130
|
||||
Name 4 "main"
|
||||
@ -39,8 +39,8 @@ Linked fragment stage:
|
||||
Name 276 "gl_FragColor"
|
||||
Name 279 "u"
|
||||
Name 282 "blend"
|
||||
Name 288 "scale"
|
||||
Name 289 "t"
|
||||
Name 289 "scale"
|
||||
Name 290 "t"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -103,9 +103,9 @@ Linked fragment stage:
|
||||
279(u): 278(ptr) Variable UniformConstant
|
||||
281: TypePointer UniformConstant 6(float)
|
||||
282(blend): 281(ptr) Variable UniformConstant
|
||||
287: TypePointer UniformConstant 45(fvec2)
|
||||
288(scale): 287(ptr) Variable UniformConstant
|
||||
289(t): 46(ptr) Variable Input
|
||||
288: TypePointer UniformConstant 45(fvec2)
|
||||
289(scale): 288(ptr) Variable UniformConstant
|
||||
290(t): 46(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(blendscale): 7(ptr) Variable Function
|
||||
@ -370,7 +370,8 @@ Linked fragment stage:
|
||||
283: 6(float) Load 282(blend)
|
||||
284: 6(float) Load 8(blendscale)
|
||||
285: 6(float) FMul 283 284
|
||||
286: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 277 280 285
|
||||
Store 276(gl_FragColor) 286
|
||||
286: 22(fvec4) CompositeConstruct 285 285 285 285
|
||||
287: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 277 280 286
|
||||
Store 276(gl_FragColor) 287
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -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.844"
|
||||
#define GLSLANG_REVISION "SPIRV99.845"
|
||||
#define GLSLANG_DATE "13-Dec-2015"
|
||||
|
Loading…
Reference in New Issue
Block a user