yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

spencer-lunargFix ShaderDebugInfo having invalid line numbers in 1.0e4c40890

main
80.3 KiB1444 linesraw
1spv.debuginfo.hlsl.comp
2// Module Version 10000
3// Generated by (magic number): 8000b
4// Id's are bound by 1014
5
6                              Capability Shader
7                              Extension  "SPV_KHR_non_semantic_info"
8               1:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
9               3:             ExtInstImport  "GLSL.std.450"
10                              MemoryModel Logical GLSL450
11                              EntryPoint GLCompute 6  "main" 1009
12                              ExecutionMode 6 LocalSize 10 10 1
13               2:             String  "spv.debuginfo.hlsl.comp"
14               9:             String  "float"
15              12:             String  "uint"
16              32:             String  "springForce"
17              35:             String  "/*
18The MIT License (MIT)
19
20Copyright (c) 2022 Google LLC
21Copyright (c) 2022 Sascha Willems
22
23Permission is hereby granted, free of charge, to any person obtaining a copy
24of this software and associated documentation files (the "Software"), to deal
25in the Software without restriction, including without limitation the rights
26to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
27copies of the Software, and to permit persons to whom the Software is
28furnished to do so, subject to the following conditions:
29
30The above copyright notice and this permission notice shall be included in all
31copies or substantial portions of the Software.
32
33THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
34IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
35FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
36AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
37LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
38OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
39SOFTWARE.
40*/
41
42struct Particle {
43	float4 pos;
44	float4 vel;
45	float4 uv;
46	float4 normal;
47	float pinned;
48};
49
50[[vk::binding(0)]]
51StructuredBuffer<Particle> particleIn;
52[[vk::binding(1)]]
53RWStructuredBuffer<Particle> particleOut;
54
55struct UBO
56{
57	float deltaT;
58	float particleMass;
59	float springStiffness;
60	float damping;
61	float restDistH;
62	float restDistV;
63	float restDistD;
64	float sphereRadius;
65	float4 spherePos;
66	float4 gravity;
67	int2 particleCount;
68};
69
70cbuffer ubo : register(b2)
71{
72	UBO params;
73};
74
75#ifdef GLSLANG
76layout ( push_constant ) cbuffer PushConstants
77{
78	uint calculateNormals;
79} pushConstants;
80#else
81struct PushConstants
82{
83	uint calculateNormals;
84};
85
86[[vk::push_constant]]
87PushConstants pushConstants;
88#endif
89
90float3 springForce(float3 p0, float3 p1, float restDist)
91{
92	float3 dist = p0 - p1;
93	return normalize(dist) * params.springStiffness * (length(dist) - restDist);
94}
95
96[numthreads(10, 10, 1)]
97void main(uint3 id : SV_DispatchThreadID)
98{
99	uint index = id.y * params.particleCount.x + id.x;
100	if (index > params.particleCount.x * params.particleCount.y)
101		return;
102
103	// Pinned?
104	if (particleIn[index].pinned == 1.0) {
105		particleOut[index].pos = particleOut[index].pos;
106		particleOut[index].vel = float4(0, 0, 0, 0);
107		return;
108	}
109
110	// Initial force from gravity
111	float3 force = params.gravity.xyz * params.particleMass;
112
113	float3 pos = particleIn[index].pos.xyz;
114	float3 vel = particleIn[index].vel.xyz;
115
116	// Spring forces from neighboring particles
117	// left
118	if (id.x > 0) {
119		force += springForce(particleIn[index-1].pos.xyz, pos, params.restDistH);
120	}
121	// right
122	if (id.x < params.particleCount.x - 1) {
123		force += springForce(particleIn[index + 1].pos.xyz, pos, params.restDistH);
124	}
125	// upper
126	if (id.y < params.particleCount.y - 1) {
127		force += springForce(particleIn[index + params.particleCount.x].pos.xyz, pos, params.restDistV);
128	}
129	// lower
130	if (id.y > 0) {
131		force += springForce(particleIn[index - params.particleCount.x].pos.xyz, pos, params.restDistV);
132	}
133	// upper-left
134	if ((id.x > 0) && (id.y < params.particleCount.y - 1)) {
135		force += springForce(particleIn[index + params.particleCount.x - 1].pos.xyz, pos, params.restDistD);
136	}
137	// lower-left
138	if ((id.x > 0) && (id.y > 0)) {
139		force += springForce(particleIn[index - params.particleCount.x - 1].pos.xyz, pos, params.restDistD);
140	}
141	// upper-right
142	if ((id.x < params.particleCount.x - 1) && (id.y < params.particleCount.y - 1)) {
143		force += springForce(particleIn[index + params.particleCount.x + 1].pos.xyz, pos, params.restDistD);
144	}
145	// lower-right
146	if ((id.x < params.particleCount.x - 1) && (id.y > 0)) {
147		force += springForce(particleIn[index - params.particleCount.x + 1].pos.xyz, pos, params.restDistD);
148	}
149
150	force += (-params.damping * vel);
151
152	// Integrate
153	float3 f = force * (1.0 / params.particleMass);
154	particleOut[index].pos = float4(pos + vel * params.deltaT + 0.5 * f * params.deltaT * params.deltaT, 1.0);
155	particleOut[index].vel = float4(vel + f * params.deltaT, 0.0);
156
157	// Sphere collision
158	float3 sphereDist = particleOut[index].pos.xyz - params.spherePos.xyz;
159	if (length(sphereDist) < params.sphereRadius + 0.01) {
160		// If the particle is inside the sphere, push it to the outer radius
161		particleOut[index].pos.xyz = params.spherePos.xyz + normalize(sphereDist) * (params.sphereRadius + 0.01);
162		// Cancel out velocity
163		particleOut[index].vel = float4(0, 0, 0, 0);
164	}
165
166	// Normals
167	if (pushConstants.calculateNormals == 1) {
168		float3 normal = float3(0, 0, 0);
169		float3 a, b, c;
170		if (id.y > 0) {
171			if (id.x > 0) {
172				a = particleIn[index - 1].pos.xyz - pos;
173				b = particleIn[index - params.particleCount.x - 1].pos.xyz - pos;
174				c = particleIn[index - params.particleCount.x].pos.xyz - pos;
175				normal += cross(a,b) + cross(b,c);
176			}
177			if (id.x < params.particleCount.x - 1) {
178				a = particleIn[index - params.particleCount.x].pos.xyz - pos;
179				b = particleIn[index - params.particleCount.x + 1].pos.xyz - pos;
180				c = particleIn[index + 1].pos.xyz - pos;
181				normal += cross(a,b) + cross(b,c);
182			}
183		}
184		if (id.y < params.particleCount.y - 1) {
185			if (id.x > 0) {
186				a = particleIn[index + params.particleCount.x].pos.xyz - pos;
187				b = particleIn[index + params.particleCount.x - 1].pos.xyz - pos;
188				c = particleIn[index - 1].pos.xyz - pos;
189				normal += cross(a,b) + cross(b,c);
190			}
191			if (id.x < params.particleCount.x - 1) {
192				a = particleIn[index + 1].pos.xyz - pos;
193				b = particleIn[index + params.particleCount.x + 1].pos.xyz - pos;
194				c = particleIn[index + params.particleCount.x].pos.xyz - pos;
195				normal += cross(a,b) + cross(b,c);
196			}
197		}
198		particleOut[index].normal = float4(normalize(normal), 0.0f);
199	}
200}
201"
202              42:             String  "p0"
203              48:             String  "p1"
204              52:             String  "restDist"
205              63:             String  "@main"
206              67:             String  "id"
207              75:             String  "dist"
208              90:             String  "int"
209              96:             String  "deltaT"
210             100:             String  "particleMass"
211             104:             String  "springStiffness"
212             108:             String  "damping"
213             112:             String  "restDistH"
214             116:             String  "restDistV"
215             119:             String  "restDistD"
216             122:             String  "sphereRadius"
217             125:             String  "spherePos"
218             129:             String  "gravity"
219             133:             String  "particleCount"
220             136:             String  "UBO"
221             139:             String  "params"
222             143:             String  "ubo"
223             148:             String  ""
224             172:             String  "index"
225             199:             String  "bool"
226             210:             String  "pos"
227             213:             String  "vel"
228             216:             String  "uv"
229             220:             String  "normal"
230             223:             String  "pinned"
231             226:             String  "Particle"
232             232:             String  "@data"
233             235:             String  "particleIn"
234             257:             String  "particleOut"
235             284:             String  "force"
236             598:             String  "f"
237             647:             String  "sphereDist"
238             699:             String  "calculateNormals"
239             702:             String  "PushConstants"
240             706:             String  "pushConstants"
241             709:             String  "$Global"
242             733:             String  "a"
243             739:             String  "b"
244             743:             String  "c"
245                              Name 6  "main"
246                              Name 30  "springForce(vf3;vf3;f1;"
247                              Name 27  "p0"
248                              Name 28  "p1"
249                              Name 29  "restDist"
250                              Name 61  "@main(vu3;"
251                              Name 60  "id"
252                              Name 73  "dist"
253                              Name 94  "UBO"
254                              MemberName 94(UBO) 0  "deltaT"
255                              MemberName 94(UBO) 1  "particleMass"
256                              MemberName 94(UBO) 2  "springStiffness"
257                              MemberName 94(UBO) 3  "damping"
258                              MemberName 94(UBO) 4  "restDistH"
259                              MemberName 94(UBO) 5  "restDistV"
260                              MemberName 94(UBO) 6  "restDistD"
261                              MemberName 94(UBO) 7  "sphereRadius"
262                              MemberName 94(UBO) 8  "spherePos"
263                              MemberName 94(UBO) 9  "gravity"
264                              MemberName 94(UBO) 10  "particleCount"
265                              Name 137  "ubo"
266                              MemberName 137(ubo) 0  "params"
267                              Name 146  ""
268                              Name 170  "index"
269                              Name 208  "Particle"
270                              MemberName 208(Particle) 0  "pos"
271                              MemberName 208(Particle) 1  "vel"
272                              MemberName 208(Particle) 2  "uv"
273                              MemberName 208(Particle) 3  "normal"
274                              MemberName 208(Particle) 4  "pinned"
275                              Name 230  "particleIn"
276                              MemberName 230(particleIn) 0  "@data"
277                              Name 238  "particleIn"
278                              Name 253  "particleOut"
279                              MemberName 253(particleOut) 0  "@data"
280                              Name 261  "particleOut"
281                              Name 282  "force"
282                              Name 296  "pos"
283                              Name 305  "vel"
284                              Name 327  "param"
285                              Name 331  "param"
286                              Name 333  "param"
287                              Name 357  "param"
288                              Name 361  "param"
289                              Name 363  "param"
290                              Name 391  "param"
291                              Name 395  "param"
292                              Name 397  "param"
293                              Name 420  "param"
294                              Name 424  "param"
295                              Name 426  "param"
296                              Name 459  "param"
297                              Name 463  "param"
298                              Name 465  "param"
299                              Name 493  "param"
300                              Name 497  "param"
301                              Name 499  "param"
302                              Name 535  "param"
303                              Name 539  "param"
304                              Name 541  "param"
305                              Name 573  "param"
306                              Name 577  "param"
307                              Name 579  "param"
308                              Name 596  "f"
309                              Name 645  "sphereDist"
310                              Name 697  "PushConstants"
311                              MemberName 697(PushConstants) 0  "calculateNormals"
312                              Name 704  "$Global"
313                              MemberName 704($Global) 0  "pushConstants"
314                              Name 712  ""
315                              Name 724  "normal"
316                              Name 731  "a"
317                              Name 737  "b"
318                              Name 741  "c"
319                              Name 1007  "id"
320                              Name 1009  "id"
321                              Name 1011  "param"
322                              MemberDecorate 94(UBO) 0 Offset 0
323                              MemberDecorate 94(UBO) 1 Offset 4
324                              MemberDecorate 94(UBO) 2 Offset 8
325                              MemberDecorate 94(UBO) 3 Offset 12
326                              MemberDecorate 94(UBO) 4 Offset 16
327                              MemberDecorate 94(UBO) 5 Offset 20
328                              MemberDecorate 94(UBO) 6 Offset 24
329                              MemberDecorate 94(UBO) 7 Offset 28
330                              MemberDecorate 94(UBO) 8 Offset 32
331                              MemberDecorate 94(UBO) 9 Offset 48
332                              MemberDecorate 94(UBO) 10 Offset 64
333                              Decorate 137(ubo) Block
334                              MemberDecorate 137(ubo) 0 Offset 0
335                              Decorate 146 Binding 2
336                              Decorate 146 DescriptorSet 0
337                              MemberDecorate 208(Particle) 0 Offset 0
338                              MemberDecorate 208(Particle) 1 Offset 16
339                              MemberDecorate 208(Particle) 2 Offset 32
340                              MemberDecorate 208(Particle) 3 Offset 48
341                              MemberDecorate 208(Particle) 4 Offset 64
342                              Decorate 228 ArrayStride 80
343                              Decorate 230(particleIn) BufferBlock
344                              MemberDecorate 230(particleIn) 0 NonWritable
345                              MemberDecorate 230(particleIn) 0 Offset 0
346                              Decorate 238(particleIn) NonWritable
347                              Decorate 238(particleIn) Binding 0
348                              Decorate 238(particleIn) DescriptorSet 0
349                              Decorate 251 ArrayStride 80
350                              Decorate 253(particleOut) BufferBlock
351                              MemberDecorate 253(particleOut) 0 Offset 0
352                              Decorate 261(particleOut) Binding 1
353                              Decorate 261(particleOut) DescriptorSet 0
354                              MemberDecorate 697(PushConstants) 0 Offset 0
355                              Decorate 704($Global) Block
356                              MemberDecorate 704($Global) 0 Offset 0
357                              Decorate 712 Binding 3
358                              Decorate 712 DescriptorSet 0
359                              Decorate 1009(id) BuiltIn GlobalInvocationId
360               4:             TypeVoid
361               5:             TypeFunction 4
362               8:             TypeFloat 32
363              11:             TypeInt 32 0
364              14:     11(int) Constant 32
365              15:     11(int) Constant 6
366              16:     11(int) Constant 0
367              13:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 14 15 16
368              17:     11(int) Constant 3
369              10:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 14 17 16
370              18:             TypeVector 8(float) 3
371              19:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17
372              20:             TypePointer Function 18(fvec3)
373              21:     11(int) Constant 7
374              22:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 19 21 16
375              23:             TypePointer Function 8(float)
376              24:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16
377              25:             TypeFunction 18(fvec3) 20(ptr) 20(ptr) 23(ptr)
378              26:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 19 19 19 10
379              34:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 35
380              36:     11(int) Constant 75
381              38:     11(int) Constant 1
382              39:     11(int) Constant 4
383              40:     11(int) Constant 5
384              37:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 38 39 34 40
385              33:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 32 26 34 36 16 37 32 17 36
386              41:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 42 19 34 36 16 33 39 38
387              44:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
388              49:     11(int) Constant 2
389              47:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 48 19 34 36 16 33 39 49
390              51:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 52 10 34 36 16 33 39 17
391              54:             TypeVector 11(int) 3
392              55:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17
393              56:             TypePointer Function 54(ivec3)
394              57:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 55 21 16
395              58:             TypeFunction 4 56(ptr)
396              59:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 55
397              65:     11(int) Constant 82
398              64:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 63 59 34 65 16 37 63 17 65
399              66:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 67 55 34 65 16 64 39 38
400              72:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 33
401              76:     11(int) Constant 76
402              74:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 75 19 34 76 16 72 39
403              85:     11(int) Constant 77
404              87:             TypeVector 8(float) 4
405              88:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 39
406              89:             TypeInt 32 1
407              91:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 90 14 39 16
408              92:             TypeVector 89(int) 2
409              93:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 91 49
410         94(UBO):             TypeStruct 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 87(fvec4) 87(fvec4) 92(ivec2)
411              97:     11(int) Constant 41
412              98:     11(int) Constant 14
413              95:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17
414             101:     11(int) Constant 42
415             102:     11(int) Constant 20
416              99:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 100 10 34 101 102 16 16 17
417             105:     11(int) Constant 43
418             106:     11(int) Constant 23
419             103:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 104 10 34 105 106 16 16 17
420             109:     11(int) Constant 44
421             110:     11(int) Constant 15
422             107:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 108 10 34 109 110 16 16 17
423             113:     11(int) Constant 45
424             114:     11(int) Constant 17
425             111:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 112 10 34 113 114 16 16 17
426             117:     11(int) Constant 46
427             115:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 116 10 34 117 114 16 16 17
428             120:     11(int) Constant 47
429             118:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 119 10 34 120 114 16 16 17
430             123:     11(int) Constant 48
431             121:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 122 10 34 123 102 16 16 17
432             126:     11(int) Constant 49
433             127:     11(int) Constant 18
434             124:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 125 88 34 126 127 16 16 17
435             130:     11(int) Constant 50
436             131:     11(int) Constant 16
437             128:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 129 88 34 130 131 16 16 17
438             134:     11(int) Constant 51
439             132:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 133 93 34 134 102 16 16 17
440             135:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 136 38 34 85 16 37 136 16 17 95 99 103 107 111 115 118 121 124 128 132
441        137(ubo):             TypeStruct 94(UBO)
442             140:     11(int) Constant 56
443             141:     11(int) Constant 12
444             138:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 139 135 34 140 141 16 16 17
445             142:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 143 38 34 85 16 37 143 16 17 138
446             144:             TypePointer Uniform 137(ubo)
447             145:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 142 49 16
448             146:    144(ptr) Variable Uniform
449             149:     11(int) Constant 8
450             147:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 148 142 34 85 16 37 148 146 149
451             150:     89(int) Constant 0
452             151:     89(int) Constant 2
453             152:             TypePointer Uniform 8(float)
454             153:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16
455             167:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 64
456             168:             TypePointer Function 11(int)
457             169:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16
458             173:     11(int) Constant 83
459             171:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 172 13 34 173 16 167 39
460             179:     89(int) Constant 10
461             180:             TypePointer Uniform 89(int)
462             181:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 91 49 16
463             191:     11(int) Constant 84
464             198:             TypeBool
465             200:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 199 14 49 16
466             206:     11(int) Constant 85
467   208(Particle):             TypeStruct 87(fvec4) 87(fvec4) 87(fvec4) 87(fvec4) 8(float)
468             211:     11(int) Constant 27
469             209:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 210 88 34 211 141 16 16 17
470             214:     11(int) Constant 28
471             212:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 213 88 34 214 141 16 16 17
472             217:     11(int) Constant 29
473             218:     11(int) Constant 11
474             215:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 216 88 34 217 218 16 16 17
475             221:     11(int) Constant 30
476             219:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 220 88 34 221 110 16 16 17
477             224:     11(int) Constant 31
478             222:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 223 10 34 224 98 16 16 17
479             227:     11(int) Constant 88
480             225:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 226 38 34 227 16 37 226 16 17 209 212 215 219 222
481             228:             TypeRuntimeArray 208(Particle)
482             229:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 225 16
483 230(particleIn):             TypeStruct 228
484             233:     11(int) Constant 35
485             231:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 232 229 34 233 214 16 16 17
486             234:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 235 38 34 227 16 37 235 16 17 231
487             236:             TypePointer Uniform 230(particleIn)
488             237:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 234 49 16
489 238(particleIn):    236(ptr) Variable Uniform
490             239:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 235 234 34 227 16 37 235 238(particleIn) 149
491             243:     89(int) Constant 4
492             246:    8(float) Constant 1065353216
493             250:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
494             251:             TypeRuntimeArray 208(Particle)
495             252:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 225 16
496253(particleOut):             TypeStruct 251
497             255:     11(int) Constant 37
498             254:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 232 252 34 255 221 16 16 17
499             258:     11(int) Constant 89
500             256:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 38 34 258 16 37 257 16 17 254
501             259:             TypePointer Uniform 253(particleOut)
502             260:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 256 49 16
503261(particleOut):    259(ptr) Variable Uniform
504             262:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 257 256 34 258 16 37 257 261(particleOut) 149
505             267:             TypePointer Uniform 87(fvec4)
506             268:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 49 16
507             274:     11(int) Constant 90
508             275:     89(int) Constant 1
509             276:    8(float) Constant 0
510             277:   87(fvec4) ConstantComposite 276 276 276 276
511             280:     11(int) Constant 91
512             285:     11(int) Constant 95
513             283:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 284 19 34 285 16 167 39
514             289:     89(int) Constant 9
515             298:     11(int) Constant 97
516             297:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 210 19 34 298 16 167 39
517             307:     11(int) Constant 98
518             306:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 19 34 307 16 167 39
519             316:     11(int) Constant 102
520             321:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
521             325:     11(int) Constant 103
522             342:     11(int) Constant 106
523             351:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
524             355:     11(int) Constant 107
525             372:     11(int) Constant 110
526             381:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
527             385:     11(int) Constant 111
528             390:     89(int) Constant 5
529             406:     11(int) Constant 114
530             411:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
531             415:     11(int) Constant 115
532             435:     11(int) Constant 118
533             448:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
534             452:     11(int) Constant 119
535             458:     89(int) Constant 6
536             474:     11(int) Constant 122
537             483:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
538             487:     11(int) Constant 123
539             508:     11(int) Constant 126
540             525:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
541             529:     11(int) Constant 127
542             550:     11(int) Constant 130
543             563:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
544             567:     11(int) Constant 131
545             585:     89(int) Constant 3
546             589:     11(int) Constant 134
547             599:     11(int) Constant 137
548             597:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 598 19 34 599 16 167 39
549             609:     11(int) Constant 138
550             616:    8(float) Constant 1056964608
551             633:     11(int) Constant 139
552             648:     11(int) Constant 142
553             646:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 647 19 34 648 16 167 39
554             655:     89(int) Constant 8
555             662:     11(int) Constant 143
556             664:     89(int) Constant 7
557             667:    8(float) Constant 1008981770
558             672:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
559             676:     11(int) Constant 145
560             695:     11(int) Constant 147
561697(PushConstants):             TypeStruct 11(int)
562             700:     11(int) Constant 67
563             698:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 699 13 34 700 106 16 16 17
564             703:     11(int) Constant 151
565             701:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 702 38 34 703 16 37 702 16 17 698
566    704($Global):             TypeStruct 697(PushConstants)
567             707:     11(int) Constant 71
568             705:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 706 701 34 707 110 16 16 17
569             708:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 709 38 34 703 16 37 709 16 17 705
570             710:             TypePointer Uniform 704($Global)
571             711:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 708 49 16
572             712:    710(ptr) Variable Uniform
573             713:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 148 708 34 703 16 37 148 712 149
574             714:             TypePointer Uniform 11(int)
575             715:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16
576             723:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167
577             726:     11(int) Constant 152
578             725:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 220 19 34 726 16 723 39
579             730:   18(fvec3) ConstantComposite 276 276 276
580             734:     11(int) Constant 153
581             732:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 733 19 34 734 16 723 39
582             738:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 739 19 34 734 16 723 39
583             742:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 743 19 34 734 16 723 39
584             747:     11(int) Constant 154
585             752:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 723
586             756:     11(int) Constant 155
587             761:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 752
588             765:     11(int) Constant 156
589             774:     11(int) Constant 157
590             787:     11(int) Constant 158
591             799:     11(int) Constant 159
592             811:     11(int) Constant 161
593             820:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 752
594             824:     11(int) Constant 162
595             836:     11(int) Constant 163
596             849:     11(int) Constant 164
597             858:     11(int) Constant 165
598             870:     11(int) Constant 168
599             879:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 723
600             883:     11(int) Constant 169
601             888:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 879
602             892:     11(int) Constant 170
603             904:     11(int) Constant 171
604             917:     11(int) Constant 172
605             926:     11(int) Constant 173
606             938:     11(int) Constant 175
607             947:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 879
608             951:     11(int) Constant 176
609             960:     11(int) Constant 177
610             973:     11(int) Constant 178
611             985:     11(int) Constant 179
612             997:     11(int) Constant 182
613            1008:             TypePointer Input 54(ivec3)
614        1009(id):   1008(ptr) Variable Input
615         6(main):           4 Function None 5
616               7:             Label
617        1007(id):     56(ptr) Variable Function
618     1011(param):     56(ptr) Variable Function
619            1010:   54(ivec3) Load 1009(id)
620                              Store 1007(id) 1010
621            1012:   54(ivec3) Load 1007(id)
622                              Store 1011(param) 1012
623            1013:           4 FunctionCall 61(@main(vu3;) 1011(param)
624                              Return
625                              FunctionEnd
62630(springForce(vf3;vf3;f1;):   18(fvec3) Function None 25
627          27(p0):     20(ptr) FunctionParameter
628          28(p1):     20(ptr) FunctionParameter
629    29(restDist):     23(ptr) FunctionParameter
630              31:             Label
631        73(dist):     20(ptr) Variable Function
632              45:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 33
633              46:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 36 36 16 16
634              43:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 41 27(p0) 44
635              50:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 47 28(p1) 44
636              53:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 29(restDist) 44
637              71:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 33 30(springForce(vf3;vf3;f1;)
638              78:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 72
639              79:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 76 76 16 16
640              77:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 74 73(dist) 44
641              80:   18(fvec3) Load 27(p0)
642              81:   18(fvec3) Load 28(p1)
643              82:   18(fvec3) FSub 80 81
644                              Store 73(dist) 82
645              84:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 85 85 16 16
646              83:   18(fvec3) Load 73(dist)
647              86:   18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 83
648             154:    152(ptr) AccessChain 146 150 151
649             155:    8(float) Load 154
650             156:   18(fvec3) VectorTimesScalar 86 155
651             157:   18(fvec3) Load 73(dist)
652             158:    8(float) ExtInst 3(GLSL.std.450) 66(Length) 157
653             159:    8(float) Load 29(restDist)
654             160:    8(float) FSub 158 159
655             161:   18(fvec3) VectorTimesScalar 156 160
656                              ReturnValue 161
657                              FunctionEnd
658  61(@main(vu3;):           4 Function None 58
659          60(id):     56(ptr) FunctionParameter
660              62:             Label
661      170(index):    168(ptr) Variable Function
662      282(force):     20(ptr) Variable Function
663        296(pos):     20(ptr) Variable Function
664        305(vel):     20(ptr) Variable Function
665      327(param):     20(ptr) Variable Function
666      331(param):     20(ptr) Variable Function
667      333(param):     23(ptr) Variable Function
668      357(param):     20(ptr) Variable Function
669      361(param):     20(ptr) Variable Function
670      363(param):     23(ptr) Variable Function
671      391(param):     20(ptr) Variable Function
672      395(param):     20(ptr) Variable Function
673      397(param):     23(ptr) Variable Function
674      420(param):     20(ptr) Variable Function
675      424(param):     20(ptr) Variable Function
676      426(param):     23(ptr) Variable Function
677      459(param):     20(ptr) Variable Function
678      463(param):     20(ptr) Variable Function
679      465(param):     23(ptr) Variable Function
680      493(param):     20(ptr) Variable Function
681      497(param):     20(ptr) Variable Function
682      499(param):     23(ptr) Variable Function
683      535(param):     20(ptr) Variable Function
684      539(param):     20(ptr) Variable Function
685      541(param):     23(ptr) Variable Function
686      573(param):     20(ptr) Variable Function
687      577(param):     20(ptr) Variable Function
688      579(param):     23(ptr) Variable Function
689          596(f):     20(ptr) Variable Function
690 645(sphereDist):     20(ptr) Variable Function
691     724(normal):     20(ptr) Variable Function
692          731(a):     20(ptr) Variable Function
693          737(b):     20(ptr) Variable Function
694          741(c):     20(ptr) Variable Function
695              69:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64
696              70:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16
697              68:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 66 60(id) 44
698             166:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;)
699             175:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
700             176:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 173 173 16 16
701             174:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 171 170(index) 44
702             177:    168(ptr) AccessChain 60(id) 38
703             178:     11(int) Load 177
704             182:    180(ptr) AccessChain 146 150 179 16
705             183:     89(int) Load 182
706             184:     11(int) Bitcast 183
707             185:     11(int) IMul 178 184
708             186:    168(ptr) AccessChain 60(id) 16
709             187:     11(int) Load 186
710             188:     11(int) IAdd 185 187
711                              Store 170(index) 188
712             190:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 191 191 16 16
713             189:     11(int) Load 170(index)
714             192:    180(ptr) AccessChain 146 150 179 16
715             193:     89(int) Load 192
716             194:    180(ptr) AccessChain 146 150 179 38
717             195:     89(int) Load 194
718             196:     89(int) IMul 193 195
719             197:     11(int) Bitcast 196
720             201:   198(bool) UGreaterThan 189 197
721                              SelectionMerge 203 None
722                              BranchConditional 201 202 203
723             202:               Label
724             204:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
725             205:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 206 206 16 16
726                                Return
727             203:             Label
728             241:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
729             242:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 227 227 16 16
730             240:     11(int) Load 170(index)
731             244:    152(ptr) AccessChain 238(particleIn) 150 240 243
732             245:    8(float) Load 244
733             247:   198(bool) FOrdEqual 245 246
734                              SelectionMerge 249 None
735                              BranchConditional 247 248 249
736             248:               Label
737             264:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 250
738             265:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 258 258 16 16
739             263:     11(int)   Load 170(index)
740             266:     11(int)   Load 170(index)
741             269:    267(ptr)   AccessChain 261(particleOut) 150 266 150
742             270:   87(fvec4)   Load 269
743             271:    267(ptr)   AccessChain 261(particleOut) 150 263 150
744                                Store 271 270
745             273:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 274 274 16 16
746             272:     11(int)   Load 170(index)
747             278:    267(ptr)   AccessChain 261(particleOut) 150 272 275
748                                Store 278 277
749             279:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 280 280 16 16
750                                Return
751             249:             Label
752             287:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
753             288:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 285 285 16 16
754             286:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 283 282(force) 44
755             290:    267(ptr) AccessChain 146 150 289
756             291:   87(fvec4) Load 290
757             292:   18(fvec3) VectorShuffle 291 291 0 1 2
758             293:    152(ptr) AccessChain 146 150 275
759             294:    8(float) Load 293
760             295:   18(fvec3) VectorTimesScalar 292 294
761                              Store 282(force) 295
762             300:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 298 298 16 16
763             299:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 297 296(pos) 44
764             301:     11(int) Load 170(index)
765             302:    267(ptr) AccessChain 238(particleIn) 150 301 150
766             303:   87(fvec4) Load 302
767             304:   18(fvec3) VectorShuffle 303 303 0 1 2
768                              Store 296(pos) 304
769             309:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 307 307 16 16
770             308:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 306 305(vel) 44
771             310:     11(int) Load 170(index)
772             311:    267(ptr) AccessChain 238(particleIn) 150 310 275
773             312:   87(fvec4) Load 311
774             313:   18(fvec3) VectorShuffle 312 312 0 1 2
775                              Store 305(vel) 313
776             315:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 316 316 16 16
777             314:    168(ptr) AccessChain 60(id) 16
778             317:     11(int) Load 314
779             318:   198(bool) UGreaterThan 317 16
780                              SelectionMerge 320 None
781                              BranchConditional 318 319 320
782             319:               Label
783             323:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 321
784             324:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 325 325 16 16
785             322:     11(int)   Load 170(index)
786             326:     11(int)   ISub 322 38
787             328:    267(ptr)   AccessChain 238(particleIn) 150 326 150
788             329:   87(fvec4)   Load 328
789             330:   18(fvec3)   VectorShuffle 329 329 0 1 2
790                                Store 327(param) 330
791             332:   18(fvec3)   Load 296(pos)
792                                Store 331(param) 332
793             334:    152(ptr)   AccessChain 146 150 243
794             335:    8(float)   Load 334
795                                Store 333(param) 335
796             336:   18(fvec3)   FunctionCall 30(springForce(vf3;vf3;f1;) 327(param) 331(param) 333(param)
797             337:   18(fvec3)   Load 282(force)
798             338:   18(fvec3)   FAdd 337 336
799                                Store 282(force) 338
800                                Branch 320
801             320:             Label
802             340:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
803             341:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 342 342 16 16
804             339:    168(ptr) AccessChain 60(id) 16
805             343:     11(int) Load 339
806             344:    180(ptr) AccessChain 146 150 179 16
807             345:     89(int) Load 344
808             346:     89(int) ISub 345 275
809             347:     11(int) Bitcast 346
810             348:   198(bool) ULessThan 343 347
811                              SelectionMerge 350 None
812                              BranchConditional 348 349 350
813             349:               Label
814             353:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 351
815             354:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 355 355 16 16
816             352:     11(int)   Load 170(index)
817             356:     11(int)   IAdd 352 38
818             358:    267(ptr)   AccessChain 238(particleIn) 150 356 150
819             359:   87(fvec4)   Load 358
820             360:   18(fvec3)   VectorShuffle 359 359 0 1 2
821                                Store 357(param) 360
822             362:   18(fvec3)   Load 296(pos)
823                                Store 361(param) 362
824             364:    152(ptr)   AccessChain 146 150 243
825             365:    8(float)   Load 364
826                                Store 363(param) 365
827             366:   18(fvec3)   FunctionCall 30(springForce(vf3;vf3;f1;) 357(param) 361(param) 363(param)
828             367:   18(fvec3)   Load 282(force)
829             368:   18(fvec3)   FAdd 367 366
830                                Store 282(force) 368
831                                Branch 350
832             350:             Label
833             370:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
834             371:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 372 372 16 16
835             369:    168(ptr) AccessChain 60(id) 38
836             373:     11(int) Load 369
837             374:    180(ptr) AccessChain 146 150 179 38
838             375:     89(int) Load 374
839             376:     89(int) ISub 375 275
840             377:     11(int) Bitcast 376
841             378:   198(bool) ULessThan 373 377
842                              SelectionMerge 380 None
843                              BranchConditional 378 379 380
844             379:               Label
845             383:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 381
846             384:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 385 385 16 16
847             382:     11(int)   Load 170(index)
848             386:    180(ptr)   AccessChain 146 150 179 16
849             387:     89(int)   Load 386
850             388:     11(int)   Bitcast 387
851             389:     11(int)   IAdd 382 388
852             392:    267(ptr)   AccessChain 238(particleIn) 150 389 150
853             393:   87(fvec4)   Load 392
854             394:   18(fvec3)   VectorShuffle 393 393 0 1 2
855                                Store 391(param) 394
856             396:   18(fvec3)   Load 296(pos)
857                                Store 395(param) 396
858             398:    152(ptr)   AccessChain 146 150 390
859             399:    8(float)   Load 398
860                                Store 397(param) 399
861             400:   18(fvec3)   FunctionCall 30(springForce(vf3;vf3;f1;) 391(param) 395(param) 397(param)
862             401:   18(fvec3)   Load 282(force)
863             402:   18(fvec3)   FAdd 401 400
864                                Store 282(force) 402
865                                Branch 380
866             380:             Label
867             404:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
868             405:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 406 406 16 16
869             403:    168(ptr) AccessChain 60(id) 38
870             407:     11(int) Load 403
871             408:   198(bool) UGreaterThan 407 16
872                              SelectionMerge 410 None
873                              BranchConditional 408 409 410
874             409:               Label
875             413:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 411
876             414:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 415 415 16 16
877             412:     11(int)   Load 170(index)
878             416:    180(ptr)   AccessChain 146 150 179 16
879             417:     89(int)   Load 416
880             418:     11(int)   Bitcast 417
881             419:     11(int)   ISub 412 418
882             421:    267(ptr)   AccessChain 238(particleIn) 150 419 150
883             422:   87(fvec4)   Load 421
884             423:   18(fvec3)   VectorShuffle 422 422 0 1 2
885                                Store 420(param) 423
886             425:   18(fvec3)   Load 296(pos)
887                                Store 424(param) 425
888             427:    152(ptr)   AccessChain 146 150 390
889             428:    8(float)   Load 427
890                                Store 426(param) 428
891             429:   18(fvec3)   FunctionCall 30(springForce(vf3;vf3;f1;) 420(param) 424(param) 426(param)
892             430:   18(fvec3)   Load 282(force)
893             431:   18(fvec3)   FAdd 430 429
894                                Store 282(force) 431
895                                Branch 410
896             410:             Label
897             433:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
898             434:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 435 435 16 16
899             432:    168(ptr) AccessChain 60(id) 16
900             436:     11(int) Load 432
901             437:   198(bool) UGreaterThan 436 16
902             438:    168(ptr) AccessChain 60(id) 38
903             439:     11(int) Load 438
904             440:    180(ptr) AccessChain 146 150 179 38
905             441:     89(int) Load 440
906             442:     89(int) ISub 441 275
907             443:     11(int) Bitcast 442
908             444:   198(bool) ULessThan 439 443
909             445:   198(bool) LogicalAnd 437 444
910                              SelectionMerge 447 None
911                              BranchConditional 445 446 447
912             446:               Label
913             450:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 448
914             451:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 452 452 16 16
915             449:     11(int)   Load 170(index)
916             453:    180(ptr)   AccessChain 146 150 179 16
917             454:     89(int)   Load 453
918             455:     11(int)   Bitcast 454
919             456:     11(int)   IAdd 449 455
920             457:     11(int)   ISub 456 38
921             460:    267(ptr)   AccessChain 238(particleIn) 150 457 150
922             461:   87(fvec4)   Load 460
923             462:   18(fvec3)   VectorShuffle 461 461 0 1 2
924                                Store 459(param) 462
925             464:   18(fvec3)   Load 296(pos)
926                                Store 463(param) 464
927             466:    152(ptr)   AccessChain 146 150 458
928             467:    8(float)   Load 466
929                                Store 465(param) 467
930             468:   18(fvec3)   FunctionCall 30(springForce(vf3;vf3;f1;) 459(param) 463(param) 465(param)
931             469:   18(fvec3)   Load 282(force)
932             470:   18(fvec3)   FAdd 469 468
933                                Store 282(force) 470
934                                Branch 447
935             447:             Label
936             472:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
937             473:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 474 474 16 16
938             471:    168(ptr) AccessChain 60(id) 16
939             475:     11(int) Load 471
940             476:   198(bool) UGreaterThan 475 16
941             477:    168(ptr) AccessChain 60(id) 38
942             478:     11(int) Load 477
943             479:   198(bool) UGreaterThan 478 16
944             480:   198(bool) LogicalAnd 476 479
945                              SelectionMerge 482 None
946                              BranchConditional 480 481 482
947             481:               Label
948             485:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 483
949             486:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 487 487 16 16
950             484:     11(int)   Load 170(index)
951             488:    180(ptr)   AccessChain 146 150 179 16
952             489:     89(int)   Load 488
953             490:     11(int)   Bitcast 489
954             491:     11(int)   ISub 484 490
955             492:     11(int)   ISub 491 38
956             494:    267(ptr)   AccessChain 238(particleIn) 150 492 150
957             495:   87(fvec4)   Load 494
958             496:   18(fvec3)   VectorShuffle 495 495 0 1 2
959                                Store 493(param) 496
960             498:   18(fvec3)   Load 296(pos)
961                                Store 497(param) 498
962             500:    152(ptr)   AccessChain 146 150 458
963             501:    8(float)   Load 500
964                                Store 499(param) 501
965             502:   18(fvec3)   FunctionCall 30(springForce(vf3;vf3;f1;) 493(param) 497(param) 499(param)
966             503:   18(fvec3)   Load 282(force)
967             504:   18(fvec3)   FAdd 503 502
968                                Store 282(force) 504
969                                Branch 482
970             482:             Label
971             506:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
972             507:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 508 508 16 16
973             505:    168(ptr) AccessChain 60(id) 16
974             509:     11(int) Load 505
975             510:    180(ptr) AccessChain 146 150 179 16
976             511:     89(int) Load 510
977             512:     89(int) ISub 511 275
978             513:     11(int) Bitcast 512
979             514:   198(bool) ULessThan 509 513
980             515:    168(ptr) AccessChain 60(id) 38
981             516:     11(int) Load 515
982             517:    180(ptr) AccessChain 146 150 179 38
983             518:     89(int) Load 517
984             519:     89(int) ISub 518 275
985             520:     11(int) Bitcast 519
986             521:   198(bool) ULessThan 516 520
987             522:   198(bool) LogicalAnd 514 521
988                              SelectionMerge 524 None
989                              BranchConditional 522 523 524
990             523:               Label
991             527:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 525
992             528:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 529 529 16 16
993             526:     11(int)   Load 170(index)
994             530:    180(ptr)   AccessChain 146 150 179 16
995             531:     89(int)   Load 530
996             532:     11(int)   Bitcast 531
997             533:     11(int)   IAdd 526 532
998             534:     11(int)   IAdd 533 38
999             536:    267(ptr)   AccessChain 238(particleIn) 150 534 150
1000             537:   87(fvec4)   Load 536
1001             538:   18(fvec3)   VectorShuffle 537 537 0 1 2
1002                                Store 535(param) 538
1003             540:   18(fvec3)   Load 296(pos)
1004                                Store 539(param) 540
1005             542:    152(ptr)   AccessChain 146 150 458
1006             543:    8(float)   Load 542
1007                                Store 541(param) 543
1008             544:   18(fvec3)   FunctionCall 30(springForce(vf3;vf3;f1;) 535(param) 539(param) 541(param)
1009             545:   18(fvec3)   Load 282(force)
1010             546:   18(fvec3)   FAdd 545 544
1011                                Store 282(force) 546
1012                                Branch 524
1013             524:             Label
1014             548:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
1015             549:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 550 550 16 16
1016             547:    168(ptr) AccessChain 60(id) 16
1017             551:     11(int) Load 547
1018             552:    180(ptr) AccessChain 146 150 179 16
1019             553:     89(int) Load 552
1020             554:     89(int) ISub 553 275
1021             555:     11(int) Bitcast 554
1022             556:   198(bool) ULessThan 551 555
1023             557:    168(ptr) AccessChain 60(id) 38
1024             558:     11(int) Load 557
1025             559:   198(bool) UGreaterThan 558 16
1026             560:   198(bool) LogicalAnd 556 559
1027                              SelectionMerge 562 None
1028                              BranchConditional 560 561 562
1029             561:               Label
1030             565:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 563
1031             566:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 567 567 16 16
1032             564:     11(int)   Load 170(index)
1033             568:    180(ptr)   AccessChain 146 150 179 16
1034             569:     89(int)   Load 568
1035             570:     11(int)   Bitcast 569
1036             571:     11(int)   ISub 564 570
1037             572:     11(int)   IAdd 571 38
1038             574:    267(ptr)   AccessChain 238(particleIn) 150 572 150
1039             575:   87(fvec4)   Load 574
1040             576:   18(fvec3)   VectorShuffle 575 575 0 1 2
1041                                Store 573(param) 576
1042             578:   18(fvec3)   Load 296(pos)
1043                                Store 577(param) 578
1044             580:    152(ptr)   AccessChain 146 150 458
1045             581:    8(float)   Load 580
1046                                Store 579(param) 581
1047             582:   18(fvec3)   FunctionCall 30(springForce(vf3;vf3;f1;) 573(param) 577(param) 579(param)
1048             583:   18(fvec3)   Load 282(force)
1049             584:   18(fvec3)   FAdd 583 582
1050                                Store 282(force) 584
1051                                Branch 562
1052             562:             Label
1053             587:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
1054             588:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 589 589 16 16
1055             586:    152(ptr) AccessChain 146 150 585
1056             590:    8(float) Load 586
1057             591:    8(float) FNegate 590
1058             592:   18(fvec3) Load 305(vel)
1059             593:   18(fvec3) VectorTimesScalar 592 591
1060             594:   18(fvec3) Load 282(force)
1061             595:   18(fvec3) FAdd 594 593
1062                              Store 282(force) 595
1063             601:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 599 599 16 16
1064             600:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 597 596(f) 44
1065             602:   18(fvec3) Load 282(force)
1066             603:    152(ptr) AccessChain 146 150 275
1067             604:    8(float) Load 603
1068             605:    8(float) FDiv 246 604
1069             606:   18(fvec3) VectorTimesScalar 602 605
1070                              Store 596(f) 606
1071             608:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 609 609 16 16
1072             607:     11(int) Load 170(index)
1073             610:   18(fvec3) Load 296(pos)
1074             611:   18(fvec3) Load 305(vel)
1075             612:    152(ptr) AccessChain 146 150 150
1076             613:    8(float) Load 612
1077             614:   18(fvec3) VectorTimesScalar 611 613
1078             615:   18(fvec3) FAdd 610 614
1079             617:   18(fvec3) Load 596(f)
1080             618:   18(fvec3) VectorTimesScalar 617 616
1081             619:    152(ptr) AccessChain 146 150 150
1082             620:    8(float) Load 619
1083             621:   18(fvec3) VectorTimesScalar 618 620
1084             622:    152(ptr) AccessChain 146 150 150
1085             623:    8(float) Load 622
1086             624:   18(fvec3) VectorTimesScalar 621 623
1087             625:   18(fvec3) FAdd 615 624
1088             626:    8(float) CompositeExtract 625 0
1089             627:    8(float) CompositeExtract 625 1
1090             628:    8(float) CompositeExtract 625 2
1091             629:   87(fvec4) CompositeConstruct 626 627 628 246
1092             630:    267(ptr) AccessChain 261(particleOut) 150 607 150
1093                              Store 630 629
1094             632:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 633 633 16 16
1095             631:     11(int) Load 170(index)
1096             634:   18(fvec3) Load 305(vel)
1097             635:   18(fvec3) Load 596(f)
1098             636:    152(ptr) AccessChain 146 150 150
1099             637:    8(float) Load 636
1100             638:   18(fvec3) VectorTimesScalar 635 637
1101             639:   18(fvec3) FAdd 634 638
1102             640:    8(float) CompositeExtract 639 0
1103             641:    8(float) CompositeExtract 639 1
1104             642:    8(float) CompositeExtract 639 2
1105             643:   87(fvec4) CompositeConstruct 640 641 642 276
1106             644:    267(ptr) AccessChain 261(particleOut) 150 631 275
1107                              Store 644 643
1108             650:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 648 648 16 16
1109             649:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 646 645(sphereDist) 44
1110             651:     11(int) Load 170(index)
1111             652:    267(ptr) AccessChain 261(particleOut) 150 651 150
1112             653:   87(fvec4) Load 652
1113             654:   18(fvec3) VectorShuffle 653 653 0 1 2
1114             656:    267(ptr) AccessChain 146 150 655
1115             657:   87(fvec4) Load 656
1116             658:   18(fvec3) VectorShuffle 657 657 0 1 2
1117             659:   18(fvec3) FSub 654 658
1118                              Store 645(sphereDist) 659
1119             661:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 662 662 16 16
1120             660:   18(fvec3) Load 645(sphereDist)
1121             663:    8(float) ExtInst 3(GLSL.std.450) 66(Length) 660
1122             665:    152(ptr) AccessChain 146 150 664
1123             666:    8(float) Load 665
1124             668:    8(float) FAdd 666 667
1125             669:   198(bool) FOrdLessThan 663 668
1126                              SelectionMerge 671 None
1127                              BranchConditional 669 670 671
1128             670:               Label
1129             674:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 672
1130             675:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 676 676 16 16
1131             673:     11(int)   Load 170(index)
1132             677:    267(ptr)   AccessChain 146 150 655
1133             678:   87(fvec4)   Load 677
1134             679:   18(fvec3)   VectorShuffle 678 678 0 1 2
1135             680:   18(fvec3)   Load 645(sphereDist)
1136             681:   18(fvec3)   ExtInst 3(GLSL.std.450) 69(Normalize) 680
1137             682:    152(ptr)   AccessChain 146 150 664
1138             683:    8(float)   Load 682
1139             684:    8(float)   FAdd 683 667
1140             685:   18(fvec3)   VectorTimesScalar 681 684
1141             686:   18(fvec3)   FAdd 679 685
1142             687:    152(ptr)   AccessChain 261(particleOut) 150 673 150 16
1143             688:    8(float)   CompositeExtract 686 0
1144                                Store 687 688
1145             689:    152(ptr)   AccessChain 261(particleOut) 150 673 150 38
1146             690:    8(float)   CompositeExtract 686 1
1147                                Store 689 690
1148             691:    152(ptr)   AccessChain 261(particleOut) 150 673 150 49
1149             692:    8(float)   CompositeExtract 686 2
1150                                Store 691 692
1151             694:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 695 695 16 16
1152             693:     11(int)   Load 170(index)
1153             696:    267(ptr)   AccessChain 261(particleOut) 150 693 275
1154                                Store 696 277
1155                                Branch 671
1156             671:             Label
1157             717:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167
1158             718:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 703 703 16 16
1159             716:    714(ptr) AccessChain 712 150 150
1160             719:     11(int) Load 716
1161             720:   198(bool) IEqual 719 38
1162                              SelectionMerge 722 None
1163                              BranchConditional 720 721 722
1164             721:               Label
1165             728:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 723
1166             729:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 726 726 16 16
1167             727:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 725 724(normal) 44
1168                                Store 724(normal) 730
1169             736:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 734 734 16 16
1170             735:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 732 731(a) 44
1171             740:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 738 737(b) 44
1172             744:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 742 741(c) 44
1173             746:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 747 747 16 16
1174             745:    168(ptr)   AccessChain 60(id) 38
1175             748:     11(int)   Load 745
1176             749:   198(bool)   UGreaterThan 748 16
1177                                SelectionMerge 751 None
1178                                BranchConditional 749 750 751
1179             750:                 Label
1180             754:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 752
1181             755:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 756 756 16 16
1182             753:    168(ptr)     AccessChain 60(id) 16
1183             757:     11(int)     Load 753
1184             758:   198(bool)     UGreaterThan 757 16
1185                                  SelectionMerge 760 None
1186                                  BranchConditional 758 759 760
1187             759:                   Label
1188             763:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 761
1189             764:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 765 765 16 16
1190             762:     11(int)       Load 170(index)
1191             766:     11(int)       ISub 762 38
1192             767:    267(ptr)       AccessChain 238(particleIn) 150 766 150
1193             768:   87(fvec4)       Load 767
1194             769:   18(fvec3)       VectorShuffle 768 768 0 1 2
1195             770:   18(fvec3)       Load 296(pos)
1196             771:   18(fvec3)       FSub 769 770
1197                                    Store 731(a) 771
1198             773:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 774 774 16 16
1199             772:     11(int)       Load 170(index)
1200             775:    180(ptr)       AccessChain 146 150 179 16
1201             776:     89(int)       Load 775
1202             777:     11(int)       Bitcast 776
1203             778:     11(int)       ISub 772 777
1204             779:     11(int)       ISub 778 38
1205             780:    267(ptr)       AccessChain 238(particleIn) 150 779 150
1206             781:   87(fvec4)       Load 780
1207             782:   18(fvec3)       VectorShuffle 781 781 0 1 2
1208             783:   18(fvec3)       Load 296(pos)
1209             784:   18(fvec3)       FSub 782 783
1210                                    Store 737(b) 784
1211             786:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 787 787 16 16
1212             785:     11(int)       Load 170(index)
1213             788:    180(ptr)       AccessChain 146 150 179 16
1214             789:     89(int)       Load 788
1215             790:     11(int)       Bitcast 789
1216             791:     11(int)       ISub 785 790
1217             792:    267(ptr)       AccessChain 238(particleIn) 150 791 150
1218             793:   87(fvec4)       Load 792
1219             794:   18(fvec3)       VectorShuffle 793 793 0 1 2
1220             795:   18(fvec3)       Load 296(pos)
1221             796:   18(fvec3)       FSub 794 795
1222                                    Store 741(c) 796
1223             798:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 799 799 16 16
1224             797:   18(fvec3)       Load 731(a)
1225             800:   18(fvec3)       Load 737(b)
1226             801:   18(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 797 800
1227             802:   18(fvec3)       Load 737(b)
1228             803:   18(fvec3)       Load 741(c)
1229             804:   18(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 802 803
1230             805:   18(fvec3)       FAdd 801 804
1231             806:   18(fvec3)       Load 724(normal)
1232             807:   18(fvec3)       FAdd 806 805
1233                                    Store 724(normal) 807
1234                                    Branch 760
1235             760:                 Label
1236             809:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 752
1237             810:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 811 811 16 16
1238             808:    168(ptr)     AccessChain 60(id) 16
1239             812:     11(int)     Load 808
1240             813:    180(ptr)     AccessChain 146 150 179 16
1241             814:     89(int)     Load 813
1242             815:     89(int)     ISub 814 275
1243             816:     11(int)     Bitcast 815
1244             817:   198(bool)     ULessThan 812 816
1245                                  SelectionMerge 819 None
1246                                  BranchConditional 817 818 819
1247             818:                   Label
1248             822:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 820
1249             823:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 824 824 16 16
1250             821:     11(int)       Load 170(index)
1251             825:    180(ptr)       AccessChain 146 150 179 16
1252             826:     89(int)       Load 825
1253             827:     11(int)       Bitcast 826
1254             828:     11(int)       ISub 821 827
1255             829:    267(ptr)       AccessChain 238(particleIn) 150 828 150
1256             830:   87(fvec4)       Load 829
1257             831:   18(fvec3)       VectorShuffle 830 830 0 1 2
1258             832:   18(fvec3)       Load 296(pos)
1259             833:   18(fvec3)       FSub 831 832
1260                                    Store 731(a) 833
1261             835:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 836 836 16 16
1262             834:     11(int)       Load 170(index)
1263             837:    180(ptr)       AccessChain 146 150 179 16
1264             838:     89(int)       Load 837
1265             839:     11(int)       Bitcast 838
1266             840:     11(int)       ISub 834 839
1267             841:     11(int)       IAdd 840 38
1268             842:    267(ptr)       AccessChain 238(particleIn) 150 841 150
1269             843:   87(fvec4)       Load 842
1270             844:   18(fvec3)       VectorShuffle 843 843 0 1 2
1271             845:   18(fvec3)       Load 296(pos)
1272             846:   18(fvec3)       FSub 844 845
1273                                    Store 737(b) 846
1274             848:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 849 849 16 16
1275             847:     11(int)       Load 170(index)
1276             850:     11(int)       IAdd 847 38
1277             851:    267(ptr)       AccessChain 238(particleIn) 150 850 150
1278             852:   87(fvec4)       Load 851
1279             853:   18(fvec3)       VectorShuffle 852 852 0 1 2
1280             854:   18(fvec3)       Load 296(pos)
1281             855:   18(fvec3)       FSub 853 854
1282                                    Store 741(c) 855
1283             857:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 858 858 16 16
1284             856:   18(fvec3)       Load 731(a)
1285             859:   18(fvec3)       Load 737(b)
1286             860:   18(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 856 859
1287             861:   18(fvec3)       Load 737(b)
1288             862:   18(fvec3)       Load 741(c)
1289             863:   18(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 861 862
1290             864:   18(fvec3)       FAdd 860 863
1291             865:   18(fvec3)       Load 724(normal)
1292             866:   18(fvec3)       FAdd 865 864
1293                                    Store 724(normal) 866
1294                                    Branch 819
1295             819:                 Label
1296                                  Branch 751
1297             751:               Label
1298             868:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 723
1299             869:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 870 870 16 16
1300             867:    168(ptr)   AccessChain 60(id) 38
1301             871:     11(int)   Load 867
1302             872:    180(ptr)   AccessChain 146 150 179 38
1303             873:     89(int)   Load 872
1304             874:     89(int)   ISub 873 275
1305             875:     11(int)   Bitcast 874
1306             876:   198(bool)   ULessThan 871 875
1307                                SelectionMerge 878 None
1308                                BranchConditional 876 877 878
1309             877:                 Label
1310             881:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 879
1311             882:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 883 883 16 16
1312             880:    168(ptr)     AccessChain 60(id) 16
1313             884:     11(int)     Load 880
1314             885:   198(bool)     UGreaterThan 884 16
1315                                  SelectionMerge 887 None
1316                                  BranchConditional 885 886 887
1317             886:                   Label
1318             890:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 888
1319             891:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 892 892 16 16
1320             889:     11(int)       Load 170(index)
1321             893:    180(ptr)       AccessChain 146 150 179 16
1322             894:     89(int)       Load 893
1323             895:     11(int)       Bitcast 894
1324             896:     11(int)       IAdd 889 895
1325             897:    267(ptr)       AccessChain 238(particleIn) 150 896 150
1326             898:   87(fvec4)       Load 897
1327             899:   18(fvec3)       VectorShuffle 898 898 0 1 2
1328             900:   18(fvec3)       Load 296(pos)
1329             901:   18(fvec3)       FSub 899 900
1330                                    Store 731(a) 901
1331             903:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 904 904 16 16
1332             902:     11(int)       Load 170(index)
1333             905:    180(ptr)       AccessChain 146 150 179 16
1334             906:     89(int)       Load 905
1335             907:     11(int)       Bitcast 906
1336             908:     11(int)       IAdd 902 907
1337             909:     11(int)       ISub 908 38
1338             910:    267(ptr)       AccessChain 238(particleIn) 150 909 150
1339             911:   87(fvec4)       Load 910
1340             912:   18(fvec3)       VectorShuffle 911 911 0 1 2
1341             913:   18(fvec3)       Load 296(pos)
1342             914:   18(fvec3)       FSub 912 913
1343                                    Store 737(b) 914
1344             916:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 917 917 16 16
1345             915:     11(int)       Load 170(index)
1346             918:     11(int)       ISub 915 38
1347             919:    267(ptr)       AccessChain 238(particleIn) 150 918 150
1348             920:   87(fvec4)       Load 919
1349             921:   18(fvec3)       VectorShuffle 920 920 0 1 2
1350             922:   18(fvec3)       Load 296(pos)
1351             923:   18(fvec3)       FSub 921 922
1352                                    Store 741(c) 923
1353             925:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 926 926 16 16
1354             924:   18(fvec3)       Load 731(a)
1355             927:   18(fvec3)       Load 737(b)
1356             928:   18(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 924 927
1357             929:   18(fvec3)       Load 737(b)
1358             930:   18(fvec3)       Load 741(c)
1359             931:   18(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 929 930
1360             932:   18(fvec3)       FAdd 928 931
1361             933:   18(fvec3)       Load 724(normal)
1362             934:   18(fvec3)       FAdd 933 932
1363                                    Store 724(normal) 934
1364                                    Branch 887
1365             887:                 Label
1366             936:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 879
1367             937:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 938 938 16 16
1368             935:    168(ptr)     AccessChain 60(id) 16
1369             939:     11(int)     Load 935
1370             940:    180(ptr)     AccessChain 146 150 179 16
1371             941:     89(int)     Load 940
1372             942:     89(int)     ISub 941 275
1373             943:     11(int)     Bitcast 942
1374             944:   198(bool)     ULessThan 939 943
1375                                  SelectionMerge 946 None
1376                                  BranchConditional 944 945 946
1377             945:                   Label
1378             949:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 947
1379             950:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16
1380             948:     11(int)       Load 170(index)
1381             952:     11(int)       IAdd 948 38
1382             953:    267(ptr)       AccessChain 238(particleIn) 150 952 150
1383             954:   87(fvec4)       Load 953
1384             955:   18(fvec3)       VectorShuffle 954 954 0 1 2
1385             956:   18(fvec3)       Load 296(pos)
1386             957:   18(fvec3)       FSub 955 956
1387                                    Store 731(a) 957
1388             959:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 960 960 16 16
1389             958:     11(int)       Load 170(index)
1390             961:    180(ptr)       AccessChain 146 150 179 16
1391             962:     89(int)       Load 961
1392             963:     11(int)       Bitcast 962
1393             964:     11(int)       IAdd 958 963
1394             965:     11(int)       IAdd 964 38
1395             966:    267(ptr)       AccessChain 238(particleIn) 150 965 150
1396             967:   87(fvec4)       Load 966
1397             968:   18(fvec3)       VectorShuffle 967 967 0 1 2
1398             969:   18(fvec3)       Load 296(pos)
1399             970:   18(fvec3)       FSub 968 969
1400                                    Store 737(b) 970
1401             972:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 973 973 16 16
1402             971:     11(int)       Load 170(index)
1403             974:    180(ptr)       AccessChain 146 150 179 16
1404             975:     89(int)       Load 974
1405             976:     11(int)       Bitcast 975
1406             977:     11(int)       IAdd 971 976
1407             978:    267(ptr)       AccessChain 238(particleIn) 150 977 150
1408             979:   87(fvec4)       Load 978
1409             980:   18(fvec3)       VectorShuffle 979 979 0 1 2
1410             981:   18(fvec3)       Load 296(pos)
1411             982:   18(fvec3)       FSub 980 981
1412                                    Store 741(c) 982
1413             984:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 985 985 16 16
1414             983:   18(fvec3)       Load 731(a)
1415             986:   18(fvec3)       Load 737(b)
1416             987:   18(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 983 986
1417             988:   18(fvec3)       Load 737(b)
1418             989:   18(fvec3)       Load 741(c)
1419             990:   18(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 988 989
1420             991:   18(fvec3)       FAdd 987 990
1421             992:   18(fvec3)       Load 724(normal)
1422             993:   18(fvec3)       FAdd 992 991
1423                                    Store 724(normal) 993
1424                                    Branch 946
1425             946:                 Label
1426                                  Branch 878
1427             878:               Label
1428             995:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 723
1429             996:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 997 997 16 16
1430             994:     11(int)   Load 170(index)
1431             998:   18(fvec3)   Load 724(normal)
1432             999:   18(fvec3)   ExtInst 3(GLSL.std.450) 69(Normalize) 998
1433            1000:    8(float)   CompositeExtract 999 0
1434            1001:    8(float)   CompositeExtract 999 1
1435            1002:    8(float)   CompositeExtract 999 2
1436            1003:   87(fvec4)   CompositeConstruct 1000 1001 1002 276
1437            1004:    267(ptr)   AccessChain 261(particleOut) 150 994 585
1438                                Store 1004 1003
1439                                Branch 722
1440             722:             Label
1441            1005:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64
1442            1006:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 997 997 16 16
1443                              Return
1444                              FunctionEnd