Full vector and fully specified vector swizzle stores are not affected by this change, only partial swizzles ie swizzles with fewer components than the vector being stored to. Previously the vector being stored to loaded and any components not specified in the swizzle were used to create a full store to the vector. While this change generates more SPIR-V instructions, it is necessary for correctness. Fixes #2518.
721 lines
34 KiB
Plaintext
721 lines
34 KiB
Plaintext
spv.int64.frag
|
|
Validation failed
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 513
|
|
|
|
Capability Shader
|
|
Capability Float64
|
|
Capability Int64
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main"
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_ARB_gpu_shader_int64"
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
|
Name 4 "main"
|
|
Name 6 "literal("
|
|
Name 8 "typeCast("
|
|
Name 10 "operators("
|
|
Name 12 "builtinFuncs("
|
|
Name 16 "u64Max"
|
|
Name 20 "i64"
|
|
Name 28 "Uniforms"
|
|
MemberName 28(Uniforms) 0 "index"
|
|
Name 30 ""
|
|
Name 37 "indexable"
|
|
Name 41 "u64"
|
|
Name 49 "indexable"
|
|
Name 54 "i64v"
|
|
Name 58 "bv"
|
|
Name 67 "u64v"
|
|
Name 76 "iv"
|
|
Name 83 "uv"
|
|
Name 91 "fv"
|
|
Name 97 "dv"
|
|
Name 134 "u64v"
|
|
Name 139 "i64"
|
|
Name 159 "i"
|
|
Name 166 "uv"
|
|
Name 226 "b"
|
|
Name 286 "i64v"
|
|
Name 289 "i64"
|
|
Name 299 "u64v"
|
|
Name 301 "u64"
|
|
Name 373 "dv"
|
|
Name 394 "iv"
|
|
Name 399 "uv"
|
|
Name 403 "bv"
|
|
Name 486 "Block"
|
|
MemberName 486(Block) 0 "i64v"
|
|
MemberName 486(Block) 1 "u64"
|
|
Name 488 "block"
|
|
Name 489 "si64"
|
|
Name 490 "su64"
|
|
Name 491 "si"
|
|
Name 492 "su"
|
|
Name 493 "sb"
|
|
Name 494 "su64inc"
|
|
Name 495 "i64_to_b"
|
|
Name 496 "u64_to_b"
|
|
Name 497 "b_to_i64"
|
|
Name 498 "b_to_u64"
|
|
Name 499 "i64_to_i"
|
|
Name 500 "i_to_i64"
|
|
Name 501 "u64_to_u"
|
|
Name 502 "u_to_u64"
|
|
Name 503 "u64_to_i64"
|
|
Name 504 "i64_to_u64"
|
|
Name 506 "u64_to_i"
|
|
Name 508 "i_to_u64"
|
|
Name 510 "i64_to_u"
|
|
Name 512 "u_to_i64"
|
|
MemberDecorate 28(Uniforms) 0 Offset 0
|
|
Decorate 28(Uniforms) Block
|
|
Decorate 30 DescriptorSet 0
|
|
Decorate 30 Binding 0
|
|
MemberDecorate 486(Block) 0 Offset 0
|
|
MemberDecorate 486(Block) 1 Offset 24
|
|
Decorate 486(Block) Block
|
|
Decorate 488(block) DescriptorSet 0
|
|
Decorate 488(block) Binding 1
|
|
Decorate 489(si64) SpecId 100
|
|
Decorate 490(su64) SpecId 101
|
|
Decorate 491(si) SpecId 102
|
|
Decorate 492(su) SpecId 103
|
|
Decorate 493(sb) SpecId 104
|
|
Decorate 494(su64inc) SpecId 105
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
14: TypeInt 64 0
|
|
15: TypePointer Private 14(int64_t)
|
|
16(u64Max): 15(ptr) Variable Private
|
|
17: 14(int64_t) Constant 4294967295 4294967295
|
|
18: TypeInt 64 1
|
|
19: TypePointer Function 18(int64_t)
|
|
21: TypeInt 32 0
|
|
22: 21(int) Constant 3
|
|
23: TypeArray 18(int64_t) 22
|
|
24: 18(int64_t) Constant 4008636143 4008636142
|
|
25: 18(int64_t) Constant 4294967295 4294967295
|
|
26: 18(int64_t) Constant 0 1
|
|
27: 23 ConstantComposite 24 25 26
|
|
28(Uniforms): TypeStruct 21(int)
|
|
29: TypePointer Uniform 28(Uniforms)
|
|
30: 29(ptr) Variable Uniform
|
|
31: TypeInt 32 1
|
|
32: 31(int) Constant 0
|
|
33: TypePointer Uniform 21(int)
|
|
36: TypePointer Function 23
|
|
40: TypePointer Function 14(int64_t)
|
|
42: TypeArray 14(int64_t) 22
|
|
43: 14(int64_t) Constant 0 1
|
|
44: 14(int64_t) Constant 4294967295 1
|
|
45: 42 ConstantComposite 17 43 44
|
|
48: TypePointer Function 42
|
|
52: TypeVector 18(int64_t) 2
|
|
53: TypePointer Function 52(i64vec2)
|
|
55: TypeBool
|
|
56: TypeVector 55(bool) 2
|
|
57: TypePointer Function 56(bvec2)
|
|
60: 18(int64_t) Constant 0 0
|
|
61: 18(int64_t) Constant 1 0
|
|
62: 52(i64vec2) ConstantComposite 60 60
|
|
63: 52(i64vec2) ConstantComposite 61 61
|
|
65: TypeVector 14(int64_t) 2
|
|
66: TypePointer Function 65(i64vec2)
|
|
69: 14(int64_t) Constant 0 0
|
|
70: 14(int64_t) Constant 1 0
|
|
71: 65(i64vec2) ConstantComposite 69 69
|
|
72: 65(i64vec2) ConstantComposite 70 70
|
|
74: TypeVector 31(int) 2
|
|
75: TypePointer Function 74(ivec2)
|
|
81: TypeVector 21(int) 2
|
|
82: TypePointer Function 81(ivec2)
|
|
88: TypeFloat 32
|
|
89: TypeVector 88(float) 2
|
|
90: TypePointer Function 89(fvec2)
|
|
94: TypeFloat 64
|
|
95: TypeVector 94(float64_t) 2
|
|
96: TypePointer Function 95(f64vec2)
|
|
132: TypeVector 14(int64_t) 3
|
|
133: TypePointer Function 132(i64vec3)
|
|
136: TypeVector 18(int64_t) 3
|
|
158: TypePointer Function 31(int)
|
|
164: TypeVector 21(int) 3
|
|
165: TypePointer Function 164(ivec3)
|
|
199: TypeVector 31(int) 3
|
|
203: 21(int) Constant 1
|
|
204: TypePointer Function 21(int)
|
|
217: 21(int) Constant 2
|
|
225: TypePointer Function 55(bool)
|
|
227: 21(int) Constant 0
|
|
297: 52(i64vec2) ConstantComposite 25 25
|
|
306:132(i64vec3) ConstantComposite 69 69 69
|
|
348: 55(bool) ConstantTrue
|
|
355: 55(bool) ConstantFalse
|
|
356: 56(bvec2) ConstantComposite 355 355
|
|
368: TypeVector 55(bool) 3
|
|
369: 368(bvec3) ConstantComposite 355 355 355
|
|
371: TypeVector 94(float64_t) 3
|
|
372: TypePointer Function 371(f64vec3)
|
|
377: TypePointer Function 94(float64_t)
|
|
390: 31(int) Constant 1
|
|
391: 31(int) Constant 2
|
|
392: 74(ivec2) ConstantComposite 390 391
|
|
397: 81(ivec2) ConstantComposite 217 22
|
|
402: TypePointer Function 368(bvec3)
|
|
486(Block): TypeStruct 136(i64vec3) 14(int64_t)
|
|
487: TypePointer Uniform 486(Block)
|
|
488(block): 487(ptr) Variable Uniform
|
|
489(si64): 18(int64_t) SpecConstant 4294967286 4294967295
|
|
490(su64): 14(int64_t) SpecConstant 20 0
|
|
491(si): 31(int) SpecConstant 4294967291
|
|
492(su): 21(int) SpecConstant 4
|
|
493(sb): 55(bool) SpecConstantTrue
|
|
494(su64inc): 14(int64_t) SpecConstantOp 128 490(su64) 70
|
|
495(i64_to_b): 55(bool) SpecConstantOp 171 489(si64) 69
|
|
496(u64_to_b): 55(bool) SpecConstantOp 171 490(su64) 69
|
|
497(b_to_i64): 18(int64_t) SpecConstantOp 169 493(sb) 61 60
|
|
498(b_to_u64): 14(int64_t) SpecConstantOp 169 493(sb) 70 69
|
|
499(i64_to_i): 31(int) SpecConstantOp 114 489(si64)
|
|
500(i_to_i64): 18(int64_t) SpecConstantOp 114 491(si)
|
|
501(u64_to_u): 21(int) SpecConstantOp 113 490(su64)
|
|
502(u_to_u64): 14(int64_t) SpecConstantOp 113 492(su)
|
|
503(u64_to_i64): 18(int64_t) SpecConstantOp 128 490(su64) 69
|
|
504(i64_to_u64): 14(int64_t) SpecConstantOp 128 489(si64) 69
|
|
505: 21(int) SpecConstantOp 113 490(su64)
|
|
506(u64_to_i): 31(int) SpecConstantOp 128 505 227
|
|
507: 18(int64_t) SpecConstantOp 114 491(si)
|
|
508(i_to_u64): 14(int64_t) SpecConstantOp 128 507 69
|
|
509: 31(int) SpecConstantOp 114 489(si64)
|
|
510(i64_to_u): 21(int) SpecConstantOp 128 509 227
|
|
511: 14(int64_t) SpecConstantOp 113 492(su)
|
|
512(u_to_i64): 18(int64_t) SpecConstantOp 128 511 69
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
Store 16(u64Max) 17
|
|
Return
|
|
FunctionEnd
|
|
6(literal(): 2 Function None 3
|
|
7: Label
|
|
20(i64): 19(ptr) Variable Function
|
|
37(indexable): 36(ptr) Variable Function
|
|
41(u64): 40(ptr) Variable Function
|
|
49(indexable): 48(ptr) Variable Function
|
|
34: 33(ptr) AccessChain 30 32
|
|
35: 21(int) Load 34
|
|
Store 37(indexable) 27
|
|
38: 19(ptr) AccessChain 37(indexable) 35
|
|
39: 18(int64_t) Load 38
|
|
Store 20(i64) 39
|
|
46: 33(ptr) AccessChain 30 32
|
|
47: 21(int) Load 46
|
|
Store 49(indexable) 45
|
|
50: 40(ptr) AccessChain 49(indexable) 47
|
|
51: 14(int64_t) Load 50
|
|
Store 41(u64) 51
|
|
Return
|
|
FunctionEnd
|
|
8(typeCast(): 2 Function None 3
|
|
9: Label
|
|
54(i64v): 53(ptr) Variable Function
|
|
58(bv): 57(ptr) Variable Function
|
|
67(u64v): 66(ptr) Variable Function
|
|
76(iv): 75(ptr) Variable Function
|
|
83(uv): 82(ptr) Variable Function
|
|
91(fv): 90(ptr) Variable Function
|
|
97(dv): 96(ptr) Variable Function
|
|
59: 56(bvec2) Load 58(bv)
|
|
64: 52(i64vec2) Select 59 63 62
|
|
Store 54(i64v) 64
|
|
68: 56(bvec2) Load 58(bv)
|
|
73: 65(i64vec2) Select 68 72 71
|
|
Store 67(u64v) 73
|
|
77: 74(ivec2) Load 76(iv)
|
|
78: 52(i64vec2) SConvert 77
|
|
Store 54(i64v) 78
|
|
79: 52(i64vec2) Load 54(i64v)
|
|
80: 74(ivec2) SConvert 79
|
|
Store 76(iv) 80
|
|
84: 81(ivec2) Load 83(uv)
|
|
85: 65(i64vec2) UConvert 84
|
|
Store 67(u64v) 85
|
|
86: 65(i64vec2) Load 67(u64v)
|
|
87: 81(ivec2) UConvert 86
|
|
Store 83(uv) 87
|
|
92: 52(i64vec2) Load 54(i64v)
|
|
93: 89(fvec2) ConvertSToF 92
|
|
Store 91(fv) 93
|
|
98: 52(i64vec2) Load 54(i64v)
|
|
99: 95(f64vec2) ConvertSToF 98
|
|
Store 97(dv) 99
|
|
100: 65(i64vec2) Load 67(u64v)
|
|
101: 89(fvec2) ConvertUToF 100
|
|
Store 91(fv) 101
|
|
102: 65(i64vec2) Load 67(u64v)
|
|
103: 95(f64vec2) ConvertUToF 102
|
|
Store 97(dv) 103
|
|
104: 89(fvec2) Load 91(fv)
|
|
105: 52(i64vec2) ConvertFToS 104
|
|
Store 54(i64v) 105
|
|
106: 95(f64vec2) Load 97(dv)
|
|
107: 52(i64vec2) ConvertFToS 106
|
|
Store 54(i64v) 107
|
|
108: 89(fvec2) Load 91(fv)
|
|
109: 65(i64vec2) ConvertFToU 108
|
|
Store 67(u64v) 109
|
|
110: 95(f64vec2) Load 97(dv)
|
|
111: 65(i64vec2) ConvertFToU 110
|
|
Store 67(u64v) 111
|
|
112: 52(i64vec2) Load 54(i64v)
|
|
113: 56(bvec2) INotEqual 112 71
|
|
Store 58(bv) 113
|
|
114: 65(i64vec2) Load 67(u64v)
|
|
115: 56(bvec2) INotEqual 114 71
|
|
Store 58(bv) 115
|
|
116: 52(i64vec2) Load 54(i64v)
|
|
117: 65(i64vec2) Bitcast 116
|
|
Store 67(u64v) 117
|
|
118: 65(i64vec2) Load 67(u64v)
|
|
119: 52(i64vec2) Bitcast 118
|
|
Store 54(i64v) 119
|
|
120: 52(i64vec2) Load 54(i64v)
|
|
121: 74(ivec2) SConvert 120
|
|
122: 81(ivec2) Bitcast 121
|
|
Store 83(uv) 122
|
|
123: 81(ivec2) Load 83(uv)
|
|
124: 65(i64vec2) UConvert 123
|
|
125: 52(i64vec2) Bitcast 124
|
|
Store 54(i64v) 125
|
|
126: 65(i64vec2) Load 67(u64v)
|
|
127: 81(ivec2) UConvert 126
|
|
128: 74(ivec2) Bitcast 127
|
|
Store 76(iv) 128
|
|
129: 74(ivec2) Load 76(iv)
|
|
130: 52(i64vec2) SConvert 129
|
|
131: 65(i64vec2) Bitcast 130
|
|
Store 67(u64v) 131
|
|
Return
|
|
FunctionEnd
|
|
10(operators(): 2 Function None 3
|
|
11: Label
|
|
134(u64v): 133(ptr) Variable Function
|
|
139(i64): 19(ptr) Variable Function
|
|
159(i): 158(ptr) Variable Function
|
|
166(uv): 165(ptr) Variable Function
|
|
226(b): 225(ptr) Variable Function
|
|
135:132(i64vec3) Load 134(u64v)
|
|
137:136(i64vec3) CompositeConstruct 61 61 61
|
|
138:132(i64vec3) IAdd 135 137
|
|
Store 134(u64v) 138
|
|
140: 18(int64_t) Load 139(i64)
|
|
141: 18(int64_t) ISub 140 61
|
|
Store 139(i64) 141
|
|
142: 18(int64_t) Load 139(i64)
|
|
143: 18(int64_t) IAdd 142 61
|
|
Store 139(i64) 143
|
|
144:132(i64vec3) Load 134(u64v)
|
|
145:136(i64vec3) CompositeConstruct 61 61 61
|
|
146:132(i64vec3) ISub 144 145
|
|
Store 134(u64v) 146
|
|
147:132(i64vec3) Load 134(u64v)
|
|
148:132(i64vec3) Not 147
|
|
Store 134(u64v) 148
|
|
149: 18(int64_t) Load 139(i64)
|
|
Store 139(i64) 149
|
|
150:132(i64vec3) Load 134(u64v)
|
|
151:132(i64vec3) SNegate 150
|
|
Store 134(u64v) 151
|
|
152: 18(int64_t) Load 139(i64)
|
|
153: 18(int64_t) Load 139(i64)
|
|
154: 18(int64_t) IAdd 153 152
|
|
Store 139(i64) 154
|
|
155:132(i64vec3) Load 134(u64v)
|
|
156:132(i64vec3) Load 134(u64v)
|
|
157:132(i64vec3) ISub 156 155
|
|
Store 134(u64v) 157
|
|
160: 31(int) Load 159(i)
|
|
161: 18(int64_t) SConvert 160
|
|
162: 18(int64_t) Load 139(i64)
|
|
163: 18(int64_t) IMul 162 161
|
|
Store 139(i64) 163
|
|
167: 164(ivec3) Load 166(uv)
|
|
168:132(i64vec3) UConvert 167
|
|
169:132(i64vec3) Load 134(u64v)
|
|
170:132(i64vec3) UDiv 169 168
|
|
Store 134(u64v) 170
|
|
171: 31(int) Load 159(i)
|
|
172: 18(int64_t) SConvert 171
|
|
173: 14(int64_t) Bitcast 172
|
|
174:132(i64vec3) Load 134(u64v)
|
|
175:132(i64vec3) CompositeConstruct 173 173 173
|
|
176:132(i64vec3) UMod 174 175
|
|
Store 134(u64v) 176
|
|
177:132(i64vec3) Load 134(u64v)
|
|
178: 164(ivec3) Load 166(uv)
|
|
179:132(i64vec3) UConvert 178
|
|
180:132(i64vec3) IAdd 177 179
|
|
Store 134(u64v) 180
|
|
181: 18(int64_t) Load 139(i64)
|
|
182: 31(int) Load 159(i)
|
|
183: 18(int64_t) SConvert 182
|
|
184: 18(int64_t) ISub 181 183
|
|
Store 139(i64) 184
|
|
185:132(i64vec3) Load 134(u64v)
|
|
186: 164(ivec3) Load 166(uv)
|
|
187:132(i64vec3) UConvert 186
|
|
188:132(i64vec3) IMul 185 187
|
|
Store 134(u64v) 188
|
|
189: 18(int64_t) Load 139(i64)
|
|
190: 31(int) Load 159(i)
|
|
191: 18(int64_t) SConvert 190
|
|
192: 18(int64_t) IMul 189 191
|
|
Store 139(i64) 192
|
|
193: 18(int64_t) Load 139(i64)
|
|
194: 31(int) Load 159(i)
|
|
195: 18(int64_t) SConvert 194
|
|
196: 18(int64_t) SMod 193 195
|
|
Store 139(i64) 196
|
|
197:132(i64vec3) Load 134(u64v)
|
|
198: 31(int) Load 159(i)
|
|
200: 199(ivec3) CompositeConstruct 198 198 198
|
|
201:132(i64vec3) ShiftLeftLogical 197 200
|
|
Store 134(u64v) 201
|
|
202: 18(int64_t) Load 139(i64)
|
|
205: 204(ptr) AccessChain 166(uv) 203
|
|
206: 21(int) Load 205
|
|
207: 18(int64_t) ShiftRightArithmetic 202 206
|
|
Store 139(i64) 207
|
|
208: 31(int) Load 159(i)
|
|
209:132(i64vec3) Load 134(u64v)
|
|
210: 199(ivec3) CompositeConstruct 208 208 208
|
|
211:132(i64vec3) ShiftLeftLogical 209 210
|
|
Store 134(u64v) 211
|
|
212: 204(ptr) AccessChain 166(uv) 203
|
|
213: 21(int) Load 212
|
|
214: 18(int64_t) Load 139(i64)
|
|
215: 18(int64_t) ShiftRightArithmetic 214 213
|
|
Store 139(i64) 215
|
|
216: 18(int64_t) Load 139(i64)
|
|
218: 40(ptr) AccessChain 134(u64v) 217
|
|
219: 14(int64_t) Load 218
|
|
220: 18(int64_t) ShiftLeftLogical 216 219
|
|
Store 139(i64) 220
|
|
221:132(i64vec3) Load 134(u64v)
|
|
222: 18(int64_t) Load 139(i64)
|
|
223:136(i64vec3) CompositeConstruct 222 222 222
|
|
224:132(i64vec3) ShiftLeftLogical 221 223
|
|
Store 134(u64v) 224
|
|
228: 40(ptr) AccessChain 134(u64v) 227
|
|
229: 14(int64_t) Load 228
|
|
230: 18(int64_t) Load 139(i64)
|
|
231: 14(int64_t) Bitcast 230
|
|
232: 55(bool) INotEqual 229 231
|
|
Store 226(b) 232
|
|
233: 18(int64_t) Load 139(i64)
|
|
234: 14(int64_t) Bitcast 233
|
|
235: 40(ptr) AccessChain 134(u64v) 227
|
|
236: 14(int64_t) Load 235
|
|
237: 55(bool) IEqual 234 236
|
|
Store 226(b) 237
|
|
238: 40(ptr) AccessChain 134(u64v) 227
|
|
239: 14(int64_t) Load 238
|
|
240: 204(ptr) AccessChain 166(uv) 203
|
|
241: 21(int) Load 240
|
|
242: 14(int64_t) UConvert 241
|
|
243: 55(bool) UGreaterThan 239 242
|
|
Store 226(b) 243
|
|
244: 18(int64_t) Load 139(i64)
|
|
245: 31(int) Load 159(i)
|
|
246: 18(int64_t) SConvert 245
|
|
247: 55(bool) SLessThan 244 246
|
|
Store 226(b) 247
|
|
248: 40(ptr) AccessChain 134(u64v) 203
|
|
249: 14(int64_t) Load 248
|
|
250: 204(ptr) AccessChain 166(uv) 227
|
|
251: 21(int) Load 250
|
|
252: 14(int64_t) UConvert 251
|
|
253: 55(bool) UGreaterThanEqual 249 252
|
|
Store 226(b) 253
|
|
254: 18(int64_t) Load 139(i64)
|
|
255: 31(int) Load 159(i)
|
|
256: 18(int64_t) SConvert 255
|
|
257: 55(bool) SLessThanEqual 254 256
|
|
Store 226(b) 257
|
|
258: 31(int) Load 159(i)
|
|
259: 18(int64_t) SConvert 258
|
|
260: 14(int64_t) Bitcast 259
|
|
261:132(i64vec3) Load 134(u64v)
|
|
262:132(i64vec3) CompositeConstruct 260 260 260
|
|
263:132(i64vec3) BitwiseOr 261 262
|
|
Store 134(u64v) 263
|
|
264: 18(int64_t) Load 139(i64)
|
|
265: 31(int) Load 159(i)
|
|
266: 18(int64_t) SConvert 265
|
|
267: 18(int64_t) BitwiseOr 264 266
|
|
Store 139(i64) 267
|
|
268: 31(int) Load 159(i)
|
|
269: 18(int64_t) SConvert 268
|
|
270: 18(int64_t) Load 139(i64)
|
|
271: 18(int64_t) BitwiseAnd 270 269
|
|
Store 139(i64) 271
|
|
272:132(i64vec3) Load 134(u64v)
|
|
273: 164(ivec3) Load 166(uv)
|
|
274:132(i64vec3) UConvert 273
|
|
275:132(i64vec3) BitwiseAnd 272 274
|
|
Store 134(u64v) 275
|
|
276: 18(int64_t) Load 139(i64)
|
|
277: 14(int64_t) Bitcast 276
|
|
278:132(i64vec3) Load 134(u64v)
|
|
279:132(i64vec3) CompositeConstruct 277 277 277
|
|
280:132(i64vec3) BitwiseXor 278 279
|
|
Store 134(u64v) 280
|
|
281:132(i64vec3) Load 134(u64v)
|
|
282: 18(int64_t) Load 139(i64)
|
|
283: 14(int64_t) Bitcast 282
|
|
284:132(i64vec3) CompositeConstruct 283 283 283
|
|
285:132(i64vec3) BitwiseXor 281 284
|
|
Store 134(u64v) 285
|
|
Return
|
|
FunctionEnd
|
|
12(builtinFuncs(): 2 Function None 3
|
|
13: Label
|
|
286(i64v): 53(ptr) Variable Function
|
|
289(i64): 19(ptr) Variable Function
|
|
299(u64v): 133(ptr) Variable Function
|
|
301(u64): 40(ptr) Variable Function
|
|
373(dv): 372(ptr) Variable Function
|
|
394(iv): 75(ptr) Variable Function
|
|
399(uv): 82(ptr) Variable Function
|
|
403(bv): 402(ptr) Variable Function
|
|
287: 52(i64vec2) Load 286(i64v)
|
|
288: 52(i64vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 287
|
|
Store 286(i64v) 288
|
|
290: 18(int64_t) Load 289(i64)
|
|
291: 18(int64_t) ExtInst 1(GLSL.std.450) 7(SSign) 290
|
|
Store 289(i64) 291
|
|
292: 52(i64vec2) Load 286(i64v)
|
|
293: 18(int64_t) Load 289(i64)
|
|
294: 52(i64vec2) CompositeConstruct 293 293
|
|
295: 52(i64vec2) ExtInst 1(GLSL.std.450) 39(SMin) 292 294
|
|
Store 286(i64v) 295
|
|
296: 52(i64vec2) Load 286(i64v)
|
|
298: 52(i64vec2) ExtInst 1(GLSL.std.450) 39(SMin) 296 297
|
|
Store 286(i64v) 298
|
|
300:132(i64vec3) Load 299(u64v)
|
|
302: 14(int64_t) Load 301(u64)
|
|
303:132(i64vec3) CompositeConstruct 302 302 302
|
|
304:132(i64vec3) ExtInst 1(GLSL.std.450) 38(UMin) 300 303
|
|
Store 299(u64v) 304
|
|
305:132(i64vec3) Load 299(u64v)
|
|
307:132(i64vec3) ExtInst 1(GLSL.std.450) 38(UMin) 305 306
|
|
Store 299(u64v) 307
|
|
308: 52(i64vec2) Load 286(i64v)
|
|
309: 18(int64_t) Load 289(i64)
|
|
310: 52(i64vec2) CompositeConstruct 309 309
|
|
311: 52(i64vec2) ExtInst 1(GLSL.std.450) 42(SMax) 308 310
|
|
Store 286(i64v) 311
|
|
312: 52(i64vec2) Load 286(i64v)
|
|
313: 52(i64vec2) ExtInst 1(GLSL.std.450) 42(SMax) 312 297
|
|
Store 286(i64v) 313
|
|
314:132(i64vec3) Load 299(u64v)
|
|
315: 14(int64_t) Load 301(u64)
|
|
316:132(i64vec3) CompositeConstruct 315 315 315
|
|
317:132(i64vec3) ExtInst 1(GLSL.std.450) 41(UMax) 314 316
|
|
Store 299(u64v) 317
|
|
318:132(i64vec3) Load 299(u64v)
|
|
319:132(i64vec3) ExtInst 1(GLSL.std.450) 41(UMax) 318 306
|
|
Store 299(u64v) 319
|
|
320: 52(i64vec2) Load 286(i64v)
|
|
321: 18(int64_t) Load 289(i64)
|
|
322: 18(int64_t) SNegate 321
|
|
323: 18(int64_t) Load 289(i64)
|
|
324: 52(i64vec2) CompositeConstruct 322 322
|
|
325: 52(i64vec2) CompositeConstruct 323 323
|
|
326: 52(i64vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 320 324 325
|
|
Store 286(i64v) 326
|
|
327: 52(i64vec2) Load 286(i64v)
|
|
328: 52(i64vec2) Load 286(i64v)
|
|
329: 52(i64vec2) SNegate 328
|
|
330: 52(i64vec2) Load 286(i64v)
|
|
331: 52(i64vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 327 329 330
|
|
Store 286(i64v) 331
|
|
332:132(i64vec3) Load 299(u64v)
|
|
333: 14(int64_t) Load 301(u64)
|
|
334: 14(int64_t) SNegate 333
|
|
335: 14(int64_t) Load 301(u64)
|
|
336:132(i64vec3) CompositeConstruct 334 334 334
|
|
337:132(i64vec3) CompositeConstruct 335 335 335
|
|
338:132(i64vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 332 336 337
|
|
Store 299(u64v) 338
|
|
339:132(i64vec3) Load 299(u64v)
|
|
340:132(i64vec3) Load 299(u64v)
|
|
341:132(i64vec3) SNegate 340
|
|
342:132(i64vec3) Load 299(u64v)
|
|
343:132(i64vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 339 341 342
|
|
Store 299(u64v) 343
|
|
344: 19(ptr) AccessChain 286(i64v) 227
|
|
345: 18(int64_t) Load 344
|
|
346: 19(ptr) AccessChain 286(i64v) 203
|
|
347: 18(int64_t) Load 346
|
|
349: 18(int64_t) Select 348 347 345
|
|
Store 289(i64) 349
|
|
350: 18(int64_t) Load 289(i64)
|
|
351: 52(i64vec2) CompositeConstruct 350 350
|
|
352: 18(int64_t) Load 289(i64)
|
|
353: 18(int64_t) SNegate 352
|
|
354: 52(i64vec2) CompositeConstruct 353 353
|
|
357: 52(i64vec2) Select 356 354 351
|
|
Store 286(i64v) 357
|
|
358: 40(ptr) AccessChain 299(u64v) 227
|
|
359: 14(int64_t) Load 358
|
|
360: 40(ptr) AccessChain 299(u64v) 203
|
|
361: 14(int64_t) Load 360
|
|
362: 14(int64_t) Select 348 361 359
|
|
Store 301(u64) 362
|
|
363: 14(int64_t) Load 301(u64)
|
|
364:132(i64vec3) CompositeConstruct 363 363 363
|
|
365: 14(int64_t) Load 301(u64)
|
|
366: 14(int64_t) SNegate 365
|
|
367:132(i64vec3) CompositeConstruct 366 366 366
|
|
370:132(i64vec3) Select 369 367 364
|
|
Store 299(u64v) 370
|
|
374:371(f64vec3) Load 373(dv)
|
|
375: 95(f64vec2) VectorShuffle 374 374 0 1
|
|
376: 52(i64vec2) Bitcast 375
|
|
Store 286(i64v) 376
|
|
378: 377(ptr) AccessChain 373(dv) 217
|
|
379:94(float64_t) Load 378
|
|
380: 14(int64_t) Bitcast 379
|
|
381: 40(ptr) AccessChain 299(u64v) 227
|
|
Store 381 380
|
|
382: 52(i64vec2) Load 286(i64v)
|
|
383: 95(f64vec2) Bitcast 382
|
|
384: 377(ptr) AccessChain 373(dv) 227
|
|
385:94(float64_t) CompositeExtract 383 0
|
|
Store 384 385
|
|
386: 377(ptr) AccessChain 373(dv) 203
|
|
387:94(float64_t) CompositeExtract 383 1
|
|
Store 386 387
|
|
388:132(i64vec3) Load 299(u64v)
|
|
389:371(f64vec3) Bitcast 388
|
|
Store 373(dv) 389
|
|
393: 18(int64_t) Bitcast 392
|
|
Store 289(i64) 393
|
|
395: 18(int64_t) Load 289(i64)
|
|
396: 74(ivec2) Bitcast 395
|
|
Store 394(iv) 396
|
|
398: 14(int64_t) Bitcast 397
|
|
Store 301(u64) 398
|
|
400: 14(int64_t) Load 301(u64)
|
|
401: 81(ivec2) Bitcast 400
|
|
Store 399(uv) 401
|
|
404:132(i64vec3) Load 299(u64v)
|
|
405: 14(int64_t) Load 301(u64)
|
|
406:132(i64vec3) CompositeConstruct 405 405 405
|
|
407: 368(bvec3) ULessThan 404 406
|
|
Store 403(bv) 407
|
|
408: 52(i64vec2) Load 286(i64v)
|
|
409: 18(int64_t) Load 289(i64)
|
|
410: 52(i64vec2) CompositeConstruct 409 409
|
|
411: 56(bvec2) SLessThan 408 410
|
|
412: 225(ptr) AccessChain 403(bv) 227
|
|
413: 55(bool) CompositeExtract 411 0
|
|
Store 412 413
|
|
414: 225(ptr) AccessChain 403(bv) 203
|
|
415: 55(bool) CompositeExtract 411 1
|
|
Store 414 415
|
|
416:132(i64vec3) Load 299(u64v)
|
|
417: 14(int64_t) Load 301(u64)
|
|
418:132(i64vec3) CompositeConstruct 417 417 417
|
|
419: 368(bvec3) ULessThanEqual 416 418
|
|
Store 403(bv) 419
|
|
420: 52(i64vec2) Load 286(i64v)
|
|
421: 18(int64_t) Load 289(i64)
|
|
422: 52(i64vec2) CompositeConstruct 421 421
|
|
423: 56(bvec2) SLessThanEqual 420 422
|
|
424: 225(ptr) AccessChain 403(bv) 227
|
|
425: 55(bool) CompositeExtract 423 0
|
|
Store 424 425
|
|
426: 225(ptr) AccessChain 403(bv) 203
|
|
427: 55(bool) CompositeExtract 423 1
|
|
Store 426 427
|
|
428:132(i64vec3) Load 299(u64v)
|
|
429: 14(int64_t) Load 301(u64)
|
|
430:132(i64vec3) CompositeConstruct 429 429 429
|
|
431: 368(bvec3) UGreaterThan 428 430
|
|
Store 403(bv) 431
|
|
432: 52(i64vec2) Load 286(i64v)
|
|
433: 18(int64_t) Load 289(i64)
|
|
434: 52(i64vec2) CompositeConstruct 433 433
|
|
435: 56(bvec2) SGreaterThan 432 434
|
|
436: 225(ptr) AccessChain 403(bv) 227
|
|
437: 55(bool) CompositeExtract 435 0
|
|
Store 436 437
|
|
438: 225(ptr) AccessChain 403(bv) 203
|
|
439: 55(bool) CompositeExtract 435 1
|
|
Store 438 439
|
|
440:132(i64vec3) Load 299(u64v)
|
|
441: 14(int64_t) Load 301(u64)
|
|
442:132(i64vec3) CompositeConstruct 441 441 441
|
|
443: 368(bvec3) UGreaterThanEqual 440 442
|
|
Store 403(bv) 443
|
|
444: 52(i64vec2) Load 286(i64v)
|
|
445: 18(int64_t) Load 289(i64)
|
|
446: 52(i64vec2) CompositeConstruct 445 445
|
|
447: 56(bvec2) SGreaterThanEqual 444 446
|
|
448: 225(ptr) AccessChain 403(bv) 227
|
|
449: 55(bool) CompositeExtract 447 0
|
|
Store 448 449
|
|
450: 225(ptr) AccessChain 403(bv) 203
|
|
451: 55(bool) CompositeExtract 447 1
|
|
Store 450 451
|
|
452:132(i64vec3) Load 299(u64v)
|
|
453: 14(int64_t) Load 301(u64)
|
|
454:132(i64vec3) CompositeConstruct 453 453 453
|
|
455: 368(bvec3) IEqual 452 454
|
|
Store 403(bv) 455
|
|
456: 52(i64vec2) Load 286(i64v)
|
|
457: 18(int64_t) Load 289(i64)
|
|
458: 52(i64vec2) CompositeConstruct 457 457
|
|
459: 56(bvec2) IEqual 456 458
|
|
460: 225(ptr) AccessChain 403(bv) 227
|
|
461: 55(bool) CompositeExtract 459 0
|
|
Store 460 461
|
|
462: 225(ptr) AccessChain 403(bv) 203
|
|
463: 55(bool) CompositeExtract 459 1
|
|
Store 462 463
|
|
464:132(i64vec3) Load 299(u64v)
|
|
465: 14(int64_t) Load 301(u64)
|
|
466:132(i64vec3) CompositeConstruct 465 465 465
|
|
467: 368(bvec3) INotEqual 464 466
|
|
Store 403(bv) 467
|
|
468: 52(i64vec2) Load 286(i64v)
|
|
469: 18(int64_t) Load 289(i64)
|
|
470: 52(i64vec2) CompositeConstruct 469 469
|
|
471: 56(bvec2) INotEqual 468 470
|
|
472: 225(ptr) AccessChain 403(bv) 227
|
|
473: 55(bool) CompositeExtract 471 0
|
|
Store 472 473
|
|
474: 225(ptr) AccessChain 403(bv) 203
|
|
475: 55(bool) CompositeExtract 471 1
|
|
Store 474 475
|
|
476: 14(int64_t) Load 301(u64)
|
|
477: 18(int64_t) ExtInst 1(GLSL.std.450) 73(FindILsb) 476
|
|
Store 289(i64) 477
|
|
478: 14(int64_t) Load 301(u64)
|
|
479: 65(i64vec2) CompositeConstruct 478 478
|
|
480: 52(i64vec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 479
|
|
Store 286(i64v) 480
|
|
481: 14(int64_t) Load 301(u64)
|
|
482: 18(int64_t) BitCount 481
|
|
Store 289(i64) 482
|
|
483: 14(int64_t) Load 301(u64)
|
|
484: 65(i64vec2) CompositeConstruct 483 483
|
|
485: 52(i64vec2) BitCount 484
|
|
Store 286(i64v) 485
|
|
Return
|
|
FunctionEnd
|