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