yum-mirror/glslang

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

spencer-lunargFix ShaderDebugInfo having invalid line numbers in 1.0e4c40890

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