blob: 33d2201123917b63eff8643ea1ce7acdb4bb8cd0 [file] [edit]
spv.debuginfo.glsl.comp
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 1025
Capability Shader
Extension "SPV_KHR_non_semantic_info"
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
3: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 14 "main" 210
ExecutionMode 14 LocalSize 10 10 1
2: String "spv.debuginfo.glsl.comp"
8: String "uint"
17: String "float"
33: String "springForce"
36: String "/*
The MIT License (MIT)
Copyright (c) 2022 Sascha Willems
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#version 450
struct Particle {
vec4 pos;
vec4 vel;
vec4 uv;
vec4 normal;
float pinned;
};
layout(std430, binding = 0) buffer ParticleIn {
Particle particleIn[ ];
};
layout(std430, binding = 1) buffer ParticleOut {
Particle particleOut[ ];
};
// todo: use shared memory to speed up calculation
layout (local_size_x = 10, local_size_y = 10) in;
layout (binding = 2) uniform UBO
{
float deltaT;
float particleMass;
float springStiffness;
float damping;
float restDistH;
float restDistV;
float restDistD;
float sphereRadius;
vec4 spherePos;
vec4 gravity;
ivec2 particleCount;
} params;
layout (push_constant) uniform PushConsts {
uint calculateNormals;
} pushConsts;
vec3 springForce(vec3 p0, vec3 p1, float restDist)
{
vec3 dist = p0 - p1;
return normalize(dist) * params.springStiffness * (length(dist) - restDist);
}
void main()
{
uvec3 id = gl_GlobalInvocationID;
uint index = id.y * params.particleCount.x + id.x;
if (index > params.particleCount.x * params.particleCount.y)
return;
// Pinned?
if (particleIn[index].pinned == 1.0) {
particleOut[index].pos = particleOut[index].pos;
particleOut[index].vel = vec4(0.0);
return;
}
// Initial force from gravity
vec3 force = params.gravity.xyz * params.particleMass;
vec3 pos = particleIn[index].pos.xyz;
vec3 vel = particleIn[index].vel.xyz;
// Spring forces from neighboring particles
// left
if (id.x > 0) {
force += springForce(particleIn[index-1].pos.xyz, pos, params.restDistH);
}
// right
if (id.x < params.particleCount.x - 1) {
force += springForce(particleIn[index + 1].pos.xyz, pos, params.restDistH);
}
// upper
if (id.y < params.particleCount.y - 1) {
force += springForce(particleIn[index + params.particleCount.x].pos.xyz, pos, params.restDistV);
}
// lower
if (id.y > 0) {
force += springForce(particleIn[index - params.particleCount.x].pos.xyz, pos, params.restDistV);
}
// upper-left
if ((id.x > 0) && (id.y < params.particleCount.y - 1)) {
force += springForce(particleIn[index + params.particleCount.x - 1].pos.xyz, pos, params.restDistD);
}
// lower-left
if ((id.x > 0) && (id.y > 0)) {
force += springForce(particleIn[index - params.particleCount.x - 1].pos.xyz, pos, params.restDistD);
}
// upper-right
if ((id.x < params.particleCount.x - 1) && (id.y < params.particleCount.y - 1)) {
force += springForce(particleIn[index + params.particleCount.x + 1].pos.xyz, pos, params.restDistD);
}
// lower-right
if ((id.x < params.particleCount.x - 1) && (id.y > 0)) {
force += springForce(particleIn[index - params.particleCount.x + 1].pos.xyz, pos, params.restDistD);
}
force += (-params.damping * vel);
// Integrate
vec3 f = force * (1.0 / params.particleMass);
particleOut[index].pos = vec4(pos + vel * params.deltaT + 0.5 * f * params.deltaT * params.deltaT, 1.0);
particleOut[index].vel = vec4(vel + f * params.deltaT, 0.0);
// Sphere collision
vec3 sphereDist = particleOut[index].pos.xyz - params.spherePos.xyz;
if (length(sphereDist) < params.sphereRadius + 0.01) {
// If the particle is inside the sphere, push it to the outer radius
particleOut[index].pos.xyz = params.spherePos.xyz + normalize(sphereDist) * (params.sphereRadius + 0.01);
// Cancel out velocity
particleOut[index].vel = vec4(0.0);
}
// Normals
if (pushConsts.calculateNormals == 1) {
vec3 normal = vec3(0.0);
vec3 a, b, c;
if (id.y > 0) {
if (id.x > 0) {
a = particleIn[index - 1].pos.xyz - pos;
b = particleIn[index - params.particleCount.x - 1].pos.xyz - pos;
c = particleIn[index - params.particleCount.x].pos.xyz - pos;
normal += cross(a,b) + cross(b,c);
}
if (id.x < params.particleCount.x - 1) {
a = particleIn[index - params.particleCount.x].pos.xyz - pos;
b = particleIn[index - params.particleCount.x + 1].pos.xyz - pos;
c = particleIn[index + 1].pos.xyz - pos;
normal += cross(a,b) + cross(b,c);
}
}
if (id.y < params.particleCount.y - 1) {
if (id.x > 0) {
a = particleIn[index + params.particleCount.x].pos.xyz - pos;
b = particleIn[index + params.particleCount.x - 1].pos.xyz - pos;
c = particleIn[index - 1].pos.xyz - pos;
normal += cross(a,b) + cross(b,c);
}
if (id.x < params.particleCount.x - 1) {
a = particleIn[index + 1].pos.xyz - pos;
b = particleIn[index + params.particleCount.x + 1].pos.xyz - pos;
c = particleIn[index + params.particleCount.x].pos.xyz - pos;
normal += cross(a,b) + cross(b,c);
}
}
particleOut[index].normal = vec4(normalize(normal), 0.0f);
}
}
"
43: String "p0"
49: String "p1"
52: String "restDist"
54: String "main"
61: String "pos"
64: String "vel"
67: String "uv"
70: String "normal"
73: String "pinned"
76: String "Particle"
82: String "particleIn"
86: String "ParticleIn"
91: String ""
96: String "particleOut"
99: String "ParticleOut"
106: String "int"
112: String "deltaT"
115: String "particleMass"
118: String "springStiffness"
121: String "damping"
124: String "restDistH"
127: String "restDistV"
130: String "restDistD"
133: String "sphereRadius"
136: String "spherePos"
139: String "gravity"
142: String "particleCount"
145: String "UBO"
151: String "params"
154: String "calculateNormals"
157: String "PushConsts"
164: String "pushConsts"
168: String "dist"
204: String "id"
212: String "gl_GlobalInvocationID"
218: String "index"
244: String "bool"
289: String "force"
627: String "f"
676: String "sphereDist"
746: String "a"
752: String "b"
756: String "c"
1024: String "gl_WorkGroupSize"
Name 14 "main"
Name 31 "springForce(vf3;vf3;f1;"
Name 28 "p0"
Name 29 "p1"
Name 30 "restDist"
Name 59 "Particle"
MemberName 59(Particle) 0 "pos"
MemberName 59(Particle) 1 "vel"
MemberName 59(Particle) 2 "uv"
MemberName 59(Particle) 3 "normal"
MemberName 59(Particle) 4 "pinned"
Name 80 "ParticleIn"
MemberName 80(ParticleIn) 0 "particleIn"
Name 89 ""
Name 94 "ParticleOut"
MemberName 94(ParticleOut) 0 "particleOut"
Name 103 ""
Name 110 "UBO"
MemberName 110(UBO) 0 "deltaT"
MemberName 110(UBO) 1 "particleMass"
MemberName 110(UBO) 2 "springStiffness"
MemberName 110(UBO) 3 "damping"
MemberName 110(UBO) 4 "restDistH"
MemberName 110(UBO) 5 "restDistV"
MemberName 110(UBO) 6 "restDistD"
MemberName 110(UBO) 7 "sphereRadius"
MemberName 110(UBO) 8 "spherePos"
MemberName 110(UBO) 9 "gravity"
MemberName 110(UBO) 10 "particleCount"
Name 149 "params"
Name 152 "PushConsts"
MemberName 152(PushConsts) 0 "calculateNormals"
Name 162 "pushConsts"
Name 166 "dist"
Name 202 "id"
Name 210 "gl_GlobalInvocationID"
Name 216 "index"
Name 287 "force"
Name 301 "pos"
Name 310 "vel"
Name 332 "param"
Name 336 "param"
Name 338 "param"
Name 362 "param"
Name 366 "param"
Name 368 "param"
Name 396 "param"
Name 400 "param"
Name 402 "param"
Name 425 "param"
Name 429 "param"
Name 431 "param"
Name 470 "param"
Name 474 "param"
Name 476 "param"
Name 510 "param"
Name 514 "param"
Name 516 "param"
Name 558 "param"
Name 562 "param"
Name 564 "param"
Name 602 "param"
Name 606 "param"
Name 608 "param"
Name 625 "f"
Name 674 "sphereDist"
Name 738 "normal"
Name 744 "a"
Name 750 "b"
Name 754 "c"
MemberDecorate 59(Particle) 0 Offset 0
MemberDecorate 59(Particle) 1 Offset 16
MemberDecorate 59(Particle) 2 Offset 32
MemberDecorate 59(Particle) 3 Offset 48
MemberDecorate 59(Particle) 4 Offset 64
Decorate 78 ArrayStride 80
Decorate 80(ParticleIn) BufferBlock
MemberDecorate 80(ParticleIn) 0 Offset 0
Decorate 89 Binding 0
Decorate 89 DescriptorSet 0
Decorate 92 ArrayStride 80
Decorate 94(ParticleOut) BufferBlock
MemberDecorate 94(ParticleOut) 0 Offset 0
Decorate 103 Binding 1
Decorate 103 DescriptorSet 0
Decorate 110(UBO) Block
MemberDecorate 110(UBO) 0 Offset 0
MemberDecorate 110(UBO) 1 Offset 4
MemberDecorate 110(UBO) 2 Offset 8
MemberDecorate 110(UBO) 3 Offset 12
MemberDecorate 110(UBO) 4 Offset 16
MemberDecorate 110(UBO) 5 Offset 20
MemberDecorate 110(UBO) 6 Offset 24
MemberDecorate 110(UBO) 7 Offset 28
MemberDecorate 110(UBO) 8 Offset 32
MemberDecorate 110(UBO) 9 Offset 48
MemberDecorate 110(UBO) 10 Offset 64
Decorate 149(params) Binding 2
Decorate 149(params) DescriptorSet 0
Decorate 152(PushConsts) Block
MemberDecorate 152(PushConsts) 0 Offset 0
Decorate 210(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
Decorate 1022 BuiltIn WorkgroupSize
4: TypeVoid
5: TypeFunction 4
7: TypeInt 32 0
10: 7(int) Constant 32
11: 7(int) Constant 6
12: 7(int) Constant 0
9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12
13: 7(int) Constant 3
6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4
16: TypeFloat 32
18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12
19: TypeVector 16(float) 3
20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13
21: TypePointer Function 19(fvec3)
22: 7(int) Constant 7
23: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 22 12
24: TypePointer Function 16(float)
25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 22 12
26: TypeFunction 19(fvec3) 21(ptr) 21(ptr) 24(ptr)
27: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 20 20 20 18
35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 36
37: 7(int) Constant 66
39: 7(int) Constant 1
40: 7(int) Constant 4
41: 7(int) Constant 2
38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 39 40 35 41
34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 33 27 35 37 12 38 33 13 37
42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 43 20 35 37 12 34 40 39
45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 20 35 37 12 34 40 41
51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 52 18 35 37 12 34 40 13
56: 7(int) Constant 72
55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 54 6 35 56 12 38 54 13 56
57: TypeVector 16(float) 4
58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 40
59(Particle): TypeStruct 57(fvec4) 57(fvec4) 57(fvec4) 57(fvec4) 16(float)
62: 7(int) Constant 28
60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 61 58 35 62 22 12 12 13
65: 7(int) Constant 29
63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 64 58 35 65 22 12 12 13
68: 7(int) Constant 30
66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 58 35 68 22 12 12 13
71: 7(int) Constant 31
69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 70 58 35 71 22 12 12 13
74: 7(int) Constant 8
72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 73 18 35 10 74 12 12 13
77: 7(int) Constant 35
75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 76 39 35 77 12 38 76 12 13 60 63 66 69 72
78: TypeRuntimeArray 59(Particle)
79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 75 12
80(ParticleIn): TypeStruct 78
83: 7(int) Constant 36
84: 7(int) Constant 11
81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 79 35 83 84 12 12 13
85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 86 39 35 77 12 38 86 12 13 81
87: TypePointer Uniform 80(ParticleIn)
88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 85 41 12
89: 87(ptr) Variable Uniform
90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 91 85 35 77 12 38 91 89 74
92: TypeRuntimeArray 59(Particle)
93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 75 12
94(ParticleOut): TypeStruct 92
97: 7(int) Constant 40
95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 93 35 97 84 12 12 13
100: 7(int) Constant 39
98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 99 39 35 100 12 38 99 12 13 95
101: TypePointer Uniform 94(ParticleOut)
102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 41 12
103: 101(ptr) Variable Uniform
104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 91 98 35 100 12 38 91 103 74
105: TypeInt 32 1
107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 106 10 40 12
108: TypeVector 105(int) 2
109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 107 41
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)
113: 7(int) Constant 49
111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 112 18 35 113 74 12 12 13
116: 7(int) Constant 50
114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 115 18 35 116 74 12 12 13
119: 7(int) Constant 51
117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 118 18 35 119 74 12 12 13
122: 7(int) Constant 52
120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 121 18 35 122 74 12 12 13
125: 7(int) Constant 53
123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 124 18 35 125 74 12 12 13
128: 7(int) Constant 54
126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 127 18 35 128 74 12 12 13
131: 7(int) Constant 55
129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 130 18 35 131 74 12 12 13
134: 7(int) Constant 56
132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 133 18 35 134 74 12 12 13
137: 7(int) Constant 57
135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 136 58 35 137 22 12 12 13
140: 7(int) Constant 58
138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 139 58 35 140 22 12 12 13
143: 7(int) Constant 59
141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 142 109 35 143 74 12 12 13
146: 7(int) Constant 47
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
147: TypePointer Uniform 110(UBO)
148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 144 41 12
149(params): 147(ptr) Variable Uniform
150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 151 144 35 146 12 38 151 149(params) 74
152(PushConsts): TypeStruct 7(int)
155: 7(int) Constant 63
153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 154 9 35 155 22 12 12 13
158: 7(int) Constant 62
156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 157 39 35 158 12 38 157 12 13 153
159: TypePointer PushConstant 152(PushConsts)
160: 7(int) Constant 9
161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 156 160 12
162(pushConsts): 159(ptr) Variable PushConstant
163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 164 156 35 158 12 38 164 162(pushConsts) 74
169: 7(int) Constant 68
167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 168 20 35 169 12 34 40
177: 7(int) Constant 69
179: 105(int) Constant 2
180: TypePointer Uniform 16(float)
181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 41 12
194: 7(int) Constant 70
198: TypeVector 7(int) 3
199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13
200: TypePointer Function 198(ivec3)
201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 199 22 12
205: 7(int) Constant 74
203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 204 199 35 205 12 55 40
208: TypePointer Input 198(ivec3)
209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 199 39 12
210(gl_GlobalInvocationID): 208(ptr) Variable Input
211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 212 199 35 205 12 38 212 210(gl_GlobalInvocationID) 74
214: TypePointer Function 7(int)
215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12
219: 7(int) Constant 76
217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 9 35 219 12 55 40
224: 105(int) Constant 10
225: TypePointer Uniform 105(int)
226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 107 41 12
236: 7(int) Constant 77
243: TypeBool
245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 244 10 41 12
251: 7(int) Constant 78
253: 105(int) Constant 0
257: 7(int) Constant 81
258: 105(int) Constant 4
261: 16(float) Constant 1065353216
266: 7(int) Constant 82
267: 7(int) Constant 26
265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 266 267 55
272: TypePointer Uniform 57(fvec4)
273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 58 41 12
279: 7(int) Constant 83
280: 105(int) Constant 1
281: 16(float) Constant 0
282: 57(fvec4) ConstantComposite 281 281 281 281
285: 7(int) Constant 84
290: 7(int) Constant 88
288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 289 20 35 290 12 55 40
294: 105(int) Constant 9
303: 7(int) Constant 90
302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 61 20 35 303 12 55 40
312: 7(int) Constant 91
311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 64 20 35 312 12 55 40
321: 7(int) Constant 95
327: 7(int) Constant 96
326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 327 160 55
347: 7(int) Constant 99
357: 7(int) Constant 100
356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 357 160 55
377: 7(int) Constant 103
387: 7(int) Constant 104
386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 387 160 55
395: 105(int) Constant 5
411: 7(int) Constant 107
417: 7(int) Constant 108
416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 417 160 55
440: 7(int) Constant 111
460: 7(int) Constant 112
459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 460 160 55
469: 105(int) Constant 6
485: 7(int) Constant 115
501: 7(int) Constant 116
500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 501 160 55
525: 7(int) Constant 119
549: 7(int) Constant 120
548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 549 160 55
573: 7(int) Constant 123
593: 7(int) Constant 124
592: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 593 160 55
614: 105(int) Constant 3
618: 7(int) Constant 127
628: 7(int) Constant 130
626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 627 20 35 628 12 55 40
638: 7(int) Constant 131
645: 16(float) Constant 1056964608
662: 7(int) Constant 132
677: 7(int) Constant 135
675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 676 20 35 677 12 55 40
684: 105(int) Constant 8
691: 7(int) Constant 136
693: 105(int) Constant 7
696: 16(float) Constant 1008981770
702: 7(int) Constant 138
701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 702 68 55
724: 7(int) Constant 140
726: TypePointer PushConstant 7(int)
727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 160 12
731: 7(int) Constant 144
737: 7(int) Constant 145
736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 737 74 55
739: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 70 20 35 737 12 736 40
743: 19(fvec3) ConstantComposite 281 281 281
747: 7(int) Constant 146
745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 746 20 35 747 12 736 40
751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 752 20 35 747 12 736 40
755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 756 20 35 747 12 736 40
760: 7(int) Constant 147
766: 7(int) Constant 148
765: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 766 40 736
775: 7(int) Constant 149
774: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 775 22 765
787: 7(int) Constant 150
800: 7(int) Constant 151
812: 7(int) Constant 152
824: 7(int) Constant 154
834: 7(int) Constant 155
833: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 834 22 765
849: 7(int) Constant 156
862: 7(int) Constant 157
871: 7(int) Constant 158
883: 7(int) Constant 161
893: 7(int) Constant 162
892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 893 40 736
902: 7(int) Constant 163
901: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 902 22 892
917: 7(int) Constant 164
930: 7(int) Constant 165
939: 7(int) Constant 166
951: 7(int) Constant 168
961: 7(int) Constant 169
960: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 961 22 892
973: 7(int) Constant 170
986: 7(int) Constant 171
998: 7(int) Constant 172
1010: 7(int) Constant 175
1020: 7(int) Constant 177
1021: 7(int) Constant 10
1022: 198(ivec3) ConstantComposite 1021 1021 39
1023: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 1024 199 35 1020 12 38 1024 1022 74
14(main): 4 Function None 5
15: Label
202(id): 200(ptr) Variable Function
216(index): 214(ptr) Variable Function
287(force): 21(ptr) Variable Function
301(pos): 21(ptr) Variable Function
310(vel): 21(ptr) Variable Function
332(param): 21(ptr) Variable Function
336(param): 21(ptr) Variable Function
338(param): 24(ptr) Variable Function
362(param): 21(ptr) Variable Function
366(param): 21(ptr) Variable Function
368(param): 24(ptr) Variable Function
396(param): 21(ptr) Variable Function
400(param): 21(ptr) Variable Function
402(param): 24(ptr) Variable Function
425(param): 21(ptr) Variable Function
429(param): 21(ptr) Variable Function
431(param): 24(ptr) Variable Function
470(param): 21(ptr) Variable Function
474(param): 21(ptr) Variable Function
476(param): 24(ptr) Variable Function
510(param): 21(ptr) Variable Function
514(param): 21(ptr) Variable Function
516(param): 24(ptr) Variable Function
558(param): 21(ptr) Variable Function
562(param): 21(ptr) Variable Function
564(param): 24(ptr) Variable Function
602(param): 21(ptr) Variable Function
606(param): 21(ptr) Variable Function
608(param): 24(ptr) Variable Function
625(f): 21(ptr) Variable Function
674(sphereDist): 21(ptr) Variable Function
738(normal): 21(ptr) Variable Function
744(a): 21(ptr) Variable Function
750(b): 21(ptr) Variable Function
754(c): 21(ptr) Variable Function
196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12
195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main)
207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 205 205 12 12
206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 203 202(id) 45
213: 198(ivec3) Load 210(gl_GlobalInvocationID)
Store 202(id) 213
221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 219 219 12 12
220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 217 216(index) 45
222: 214(ptr) AccessChain 202(id) 39
223: 7(int) Load 222
227: 225(ptr) AccessChain 149(params) 224 12
228: 105(int) Load 227
229: 7(int) Bitcast 228
230: 7(int) IMul 223 229
231: 214(ptr) AccessChain 202(id) 12
232: 7(int) Load 231
233: 7(int) IAdd 230 232
Store 216(index) 233
235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 236 236 12 12
234: 7(int) Load 216(index)
237: 225(ptr) AccessChain 149(params) 224 12
238: 105(int) Load 237
239: 225(ptr) AccessChain 149(params) 224 39
240: 105(int) Load 239
241: 105(int) IMul 238 240
242: 7(int) Bitcast 241
246: 243(bool) UGreaterThan 234 242
SelectionMerge 248 None
BranchConditional 246 247 248
247: Label
249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 251 251 12 12
Return
248: Label
255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 257 257 12 12
254: 7(int) Load 216(index)
259: 180(ptr) AccessChain 89 253 254 258
260: 16(float) Load 259
262: 243(bool) FOrdEqual 260 261
SelectionMerge 264 None
BranchConditional 262 263 264
263: Label
269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 265
270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 266 266 12 12
268: 7(int) Load 216(index)
271: 7(int) Load 216(index)
274: 272(ptr) AccessChain 103 253 271 253
275: 57(fvec4) Load 274
276: 272(ptr) AccessChain 103 253 268 253
Store 276 275
278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 279 279 12 12
277: 7(int) Load 216(index)
283: 272(ptr) AccessChain 103 253 277 280
Store 283 282
284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 285 285 12 12
Return
264: Label
292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 290 290 12 12
291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 288 287(force) 45
295: 272(ptr) AccessChain 149(params) 294
296: 57(fvec4) Load 295
297: 19(fvec3) VectorShuffle 296 296 0 1 2
298: 180(ptr) AccessChain 149(params) 280
299: 16(float) Load 298
300: 19(fvec3) VectorTimesScalar 297 299
Store 287(force) 300
305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 303 303 12 12
304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 302 301(pos) 45
306: 7(int) Load 216(index)
307: 272(ptr) AccessChain 89 253 306 253
308: 57(fvec4) Load 307
309: 19(fvec3) VectorShuffle 308 308 0 1 2
Store 301(pos) 309
314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 312 312 12 12
313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 311 310(vel) 45
315: 7(int) Load 216(index)
316: 272(ptr) AccessChain 89 253 315 280
317: 57(fvec4) Load 316
318: 19(fvec3) VectorShuffle 317 317 0 1 2
Store 310(vel) 318
320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 321 321 12 12
319: 214(ptr) AccessChain 202(id) 12
322: 7(int) Load 319
323: 243(bool) UGreaterThan 322 12
SelectionMerge 325 None
BranchConditional 323 324 325
324: Label
329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 326
330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 327 327 12 12
328: 7(int) Load 216(index)
331: 7(int) ISub 328 39
333: 272(ptr) AccessChain 89 253 331 253
334: 57(fvec4) Load 333
335: 19(fvec3) VectorShuffle 334 334 0 1 2
Store 332(param) 335
337: 19(fvec3) Load 301(pos)
Store 336(param) 337
339: 180(ptr) AccessChain 149(params) 258
340: 16(float) Load 339
Store 338(param) 340
341: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 332(param) 336(param) 338(param)
342: 19(fvec3) Load 287(force)
343: 19(fvec3) FAdd 342 341
Store 287(force) 343
Branch 325
325: Label
345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 347 347 12 12
344: 214(ptr) AccessChain 202(id) 12
348: 7(int) Load 344
349: 225(ptr) AccessChain 149(params) 224 12
350: 105(int) Load 349
351: 105(int) ISub 350 280
352: 7(int) Bitcast 351
353: 243(bool) ULessThan 348 352
SelectionMerge 355 None
BranchConditional 353 354 355
354: Label
359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 356
360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 357 357 12 12
358: 7(int) Load 216(index)
361: 7(int) IAdd 358 39
363: 272(ptr) AccessChain 89 253 361 253
364: 57(fvec4) Load 363
365: 19(fvec3) VectorShuffle 364 364 0 1 2
Store 362(param) 365
367: 19(fvec3) Load 301(pos)
Store 366(param) 367
369: 180(ptr) AccessChain 149(params) 258
370: 16(float) Load 369
Store 368(param) 370
371: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 362(param) 366(param) 368(param)
372: 19(fvec3) Load 287(force)
373: 19(fvec3) FAdd 372 371
Store 287(force) 373
Branch 355
355: Label
375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 377 377 12 12
374: 214(ptr) AccessChain 202(id) 39
378: 7(int) Load 374
379: 225(ptr) AccessChain 149(params) 224 39
380: 105(int) Load 379
381: 105(int) ISub 380 280
382: 7(int) Bitcast 381
383: 243(bool) ULessThan 378 382
SelectionMerge 385 None
BranchConditional 383 384 385
384: Label
389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 386
390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 387 387 12 12
388: 7(int) Load 216(index)
391: 225(ptr) AccessChain 149(params) 224 12
392: 105(int) Load 391
393: 7(int) Bitcast 392
394: 7(int) IAdd 388 393
397: 272(ptr) AccessChain 89 253 394 253
398: 57(fvec4) Load 397
399: 19(fvec3) VectorShuffle 398 398 0 1 2
Store 396(param) 399
401: 19(fvec3) Load 301(pos)
Store 400(param) 401
403: 180(ptr) AccessChain 149(params) 395
404: 16(float) Load 403
Store 402(param) 404
405: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 396(param) 400(param) 402(param)
406: 19(fvec3) Load 287(force)
407: 19(fvec3) FAdd 406 405
Store 287(force) 407
Branch 385
385: Label
409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 411 411 12 12
408: 214(ptr) AccessChain 202(id) 39
412: 7(int) Load 408
413: 243(bool) UGreaterThan 412 12
SelectionMerge 415 None
BranchConditional 413 414 415
414: Label
419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 416
420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 417 417 12 12
418: 7(int) Load 216(index)
421: 225(ptr) AccessChain 149(params) 224 12
422: 105(int) Load 421
423: 7(int) Bitcast 422
424: 7(int) ISub 418 423
426: 272(ptr) AccessChain 89 253 424 253
427: 57(fvec4) Load 426
428: 19(fvec3) VectorShuffle 427 427 0 1 2
Store 425(param) 428
430: 19(fvec3) Load 301(pos)
Store 429(param) 430
432: 180(ptr) AccessChain 149(params) 395
433: 16(float) Load 432
Store 431(param) 433
434: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 425(param) 429(param) 431(param)
435: 19(fvec3) Load 287(force)
436: 19(fvec3) FAdd 435 434
Store 287(force) 436
Branch 415
415: Label
438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 440 440 12 12
437: 214(ptr) AccessChain 202(id) 12
441: 7(int) Load 437
442: 243(bool) UGreaterThan 441 12
SelectionMerge 444 None
BranchConditional 442 443 444
443: Label
446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 440 440 12 12
445: 214(ptr) AccessChain 202(id) 39
448: 7(int) Load 445
449: 225(ptr) AccessChain 149(params) 224 39
450: 105(int) Load 449
451: 105(int) ISub 450 280
452: 7(int) Bitcast 451
453: 243(bool) ULessThan 448 452
Branch 444
444: Label
454: 243(bool) Phi 442 415 453 443
457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 440 440 12 12
SelectionMerge 456 None
BranchConditional 454 455 456
455: Label
462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 459
463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 460 460 12 12
461: 7(int) Load 216(index)
464: 225(ptr) AccessChain 149(params) 224 12
465: 105(int) Load 464
466: 7(int) Bitcast 465
467: 7(int) IAdd 461 466
468: 7(int) ISub 467 39
471: 272(ptr) AccessChain 89 253 468 253
472: 57(fvec4) Load 471
473: 19(fvec3) VectorShuffle 472 472 0 1 2
Store 470(param) 473
475: 19(fvec3) Load 301(pos)
Store 474(param) 475
477: 180(ptr) AccessChain 149(params) 469
478: 16(float) Load 477
Store 476(param) 478
479: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 470(param) 474(param) 476(param)
480: 19(fvec3) Load 287(force)
481: 19(fvec3) FAdd 480 479
Store 287(force) 481
Branch 456
456: Label
483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 485 485 12 12
482: 214(ptr) AccessChain 202(id) 12
486: 7(int) Load 482
487: 243(bool) UGreaterThan 486 12
SelectionMerge 489 None
BranchConditional 487 488 489
488: Label
491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 485 485 12 12
490: 214(ptr) AccessChain 202(id) 39
493: 7(int) Load 490
494: 243(bool) UGreaterThan 493 12
Branch 489
489: Label
495: 243(bool) Phi 487 456 494 488
498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
499: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 485 485 12 12
SelectionMerge 497 None
BranchConditional 495 496 497
496: Label
503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 500
504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 501 501 12 12
502: 7(int) Load 216(index)
505: 225(ptr) AccessChain 149(params) 224 12
506: 105(int) Load 505
507: 7(int) Bitcast 506
508: 7(int) ISub 502 507
509: 7(int) ISub 508 39
511: 272(ptr) AccessChain 89 253 509 253
512: 57(fvec4) Load 511
513: 19(fvec3) VectorShuffle 512 512 0 1 2
Store 510(param) 513
515: 19(fvec3) Load 301(pos)
Store 514(param) 515
517: 180(ptr) AccessChain 149(params) 469
518: 16(float) Load 517
Store 516(param) 518
519: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 510(param) 514(param) 516(param)
520: 19(fvec3) Load 287(force)
521: 19(fvec3) FAdd 520 519
Store 287(force) 521
Branch 497
497: Label
523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
524: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12
522: 214(ptr) AccessChain 202(id) 12
526: 7(int) Load 522
527: 225(ptr) AccessChain 149(params) 224 12
528: 105(int) Load 527
529: 105(int) ISub 528 280
530: 7(int) Bitcast 529
531: 243(bool) ULessThan 526 530
SelectionMerge 533 None
BranchConditional 531 532 533
532: Label
535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
536: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12
534: 214(ptr) AccessChain 202(id) 39
537: 7(int) Load 534
538: 225(ptr) AccessChain 149(params) 224 39
539: 105(int) Load 538
540: 105(int) ISub 539 280
541: 7(int) Bitcast 540
542: 243(bool) ULessThan 537 541
Branch 533
533: Label
543: 243(bool) Phi 531 497 542 532
546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12
SelectionMerge 545 None
BranchConditional 543 544 545
544: Label
551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 548
552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 549 549 12 12
550: 7(int) Load 216(index)
553: 225(ptr) AccessChain 149(params) 224 12
554: 105(int) Load 553
555: 7(int) Bitcast 554
556: 7(int) IAdd 550 555
557: 7(int) IAdd 556 39
559: 272(ptr) AccessChain 89 253 557 253
560: 57(fvec4) Load 559
561: 19(fvec3) VectorShuffle 560 560 0 1 2
Store 558(param) 561
563: 19(fvec3) Load 301(pos)
Store 562(param) 563
565: 180(ptr) AccessChain 149(params) 469
566: 16(float) Load 565
Store 564(param) 566
567: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 558(param) 562(param) 564(param)
568: 19(fvec3) Load 287(force)
569: 19(fvec3) FAdd 568 567
Store 287(force) 569
Branch 545
545: Label
571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
572: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 573 573 12 12
570: 214(ptr) AccessChain 202(id) 12
574: 7(int) Load 570
575: 225(ptr) AccessChain 149(params) 224 12
576: 105(int) Load 575
577: 105(int) ISub 576 280
578: 7(int) Bitcast 577
579: 243(bool) ULessThan 574 578
SelectionMerge 581 None
BranchConditional 579 580 581
580: Label
583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 573 573 12 12
582: 214(ptr) AccessChain 202(id) 39
585: 7(int) Load 582
586: 243(bool) UGreaterThan 585 12
Branch 581
581: Label
587: 243(bool) Phi 579 545 586 580
590: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
591: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 573 573 12 12
SelectionMerge 589 None
BranchConditional 587 588 589
588: Label
595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 592
596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 593 593 12 12
594: 7(int) Load 216(index)
597: 225(ptr) AccessChain 149(params) 224 12
598: 105(int) Load 597
599: 7(int) Bitcast 598
600: 7(int) ISub 594 599
601: 7(int) IAdd 600 39
603: 272(ptr) AccessChain 89 253 601 253
604: 57(fvec4) Load 603
605: 19(fvec3) VectorShuffle 604 604 0 1 2
Store 602(param) 605
607: 19(fvec3) Load 301(pos)
Store 606(param) 607
609: 180(ptr) AccessChain 149(params) 469
610: 16(float) Load 609
Store 608(param) 610
611: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 602(param) 606(param) 608(param)
612: 19(fvec3) Load 287(force)
613: 19(fvec3) FAdd 612 611
Store 287(force) 613
Branch 589
589: Label
616: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 618 618 12 12
615: 180(ptr) AccessChain 149(params) 614
619: 16(float) Load 615
620: 16(float) FNegate 619
621: 19(fvec3) Load 310(vel)
622: 19(fvec3) VectorTimesScalar 621 620
623: 19(fvec3) Load 287(force)
624: 19(fvec3) FAdd 623 622
Store 287(force) 624
630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 628 628 12 12
629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 626 625(f) 45
631: 19(fvec3) Load 287(force)
632: 180(ptr) AccessChain 149(params) 280
633: 16(float) Load 632
634: 16(float) FDiv 261 633
635: 19(fvec3) VectorTimesScalar 631 634
Store 625(f) 635
637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 638 638 12 12
636: 7(int) Load 216(index)
639: 19(fvec3) Load 301(pos)
640: 19(fvec3) Load 310(vel)
641: 180(ptr) AccessChain 149(params) 253
642: 16(float) Load 641
643: 19(fvec3) VectorTimesScalar 640 642
644: 19(fvec3) FAdd 639 643
646: 19(fvec3) Load 625(f)
647: 19(fvec3) VectorTimesScalar 646 645
648: 180(ptr) AccessChain 149(params) 253
649: 16(float) Load 648
650: 19(fvec3) VectorTimesScalar 647 649
651: 180(ptr) AccessChain 149(params) 253
652: 16(float) Load 651
653: 19(fvec3) VectorTimesScalar 650 652
654: 19(fvec3) FAdd 644 653
655: 16(float) CompositeExtract 654 0
656: 16(float) CompositeExtract 654 1
657: 16(float) CompositeExtract 654 2
658: 57(fvec4) CompositeConstruct 655 656 657 261
659: 272(ptr) AccessChain 103 253 636 253
Store 659 658
661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 662 662 12 12
660: 7(int) Load 216(index)
663: 19(fvec3) Load 310(vel)
664: 19(fvec3) Load 625(f)
665: 180(ptr) AccessChain 149(params) 253
666: 16(float) Load 665
667: 19(fvec3) VectorTimesScalar 664 666
668: 19(fvec3) FAdd 663 667
669: 16(float) CompositeExtract 668 0
670: 16(float) CompositeExtract 668 1
671: 16(float) CompositeExtract 668 2
672: 57(fvec4) CompositeConstruct 669 670 671 281
673: 272(ptr) AccessChain 103 253 660 280
Store 673 672
679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 677 677 12 12
678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 675 674(sphereDist) 45
680: 7(int) Load 216(index)
681: 272(ptr) AccessChain 103 253 680 253
682: 57(fvec4) Load 681
683: 19(fvec3) VectorShuffle 682 682 0 1 2
685: 272(ptr) AccessChain 149(params) 684
686: 57(fvec4) Load 685
687: 19(fvec3) VectorShuffle 686 686 0 1 2
688: 19(fvec3) FSub 683 687
Store 674(sphereDist) 688
690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 691 691 12 12
689: 19(fvec3) Load 674(sphereDist)
692: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 689
694: 180(ptr) AccessChain 149(params) 693
695: 16(float) Load 694
697: 16(float) FAdd 695 696
698: 243(bool) FOrdLessThan 692 697
SelectionMerge 700 None
BranchConditional 698 699 700
699: Label
704: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701
705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 702 702 12 12
703: 7(int) Load 216(index)
706: 272(ptr) AccessChain 149(params) 684
707: 57(fvec4) Load 706
708: 19(fvec3) VectorShuffle 707 707 0 1 2
709: 19(fvec3) Load 674(sphereDist)
710: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 709
711: 180(ptr) AccessChain 149(params) 693
712: 16(float) Load 711
713: 16(float) FAdd 712 696
714: 19(fvec3) VectorTimesScalar 710 713
715: 19(fvec3) FAdd 708 714
716: 180(ptr) AccessChain 103 253 703 253 12
717: 16(float) CompositeExtract 715 0
Store 716 717
718: 180(ptr) AccessChain 103 253 703 253 39
719: 16(float) CompositeExtract 715 1
Store 718 719
720: 180(ptr) AccessChain 103 253 703 253 41
721: 16(float) CompositeExtract 715 2
Store 720 721
723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 724 724 12 12
722: 7(int) Load 216(index)
725: 272(ptr) AccessChain 103 253 722 280
Store 725 282
Branch 700
700: Label
729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 731 731 12 12
728: 726(ptr) AccessChain 162(pushConsts) 253
732: 7(int) Load 728
733: 243(bool) IEqual 732 39
SelectionMerge 735 None
BranchConditional 733 734 735
734: Label
741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 736
742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 737 737 12 12
740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 739 738(normal) 45
Store 738(normal) 743
749: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 747 747 12 12
748: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 745 744(a) 45
753: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 751 750(b) 45
757: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 755 754(c) 45
759: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 760 760 12 12
758: 214(ptr) AccessChain 202(id) 39
761: 7(int) Load 758
762: 243(bool) UGreaterThan 761 12
SelectionMerge 764 None
BranchConditional 762 763 764
763: Label
768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 765
769: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 766 766 12 12
767: 214(ptr) AccessChain 202(id) 12
770: 7(int) Load 767
771: 243(bool) UGreaterThan 770 12
SelectionMerge 773 None
BranchConditional 771 772 773
772: Label
777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 774
778: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 775 775 12 12
776: 7(int) Load 216(index)
779: 7(int) ISub 776 39
780: 272(ptr) AccessChain 89 253 779 253
781: 57(fvec4) Load 780
782: 19(fvec3) VectorShuffle 781 781 0 1 2
783: 19(fvec3) Load 301(pos)
784: 19(fvec3) FSub 782 783
Store 744(a) 784
786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 787 787 12 12
785: 7(int) Load 216(index)
788: 225(ptr) AccessChain 149(params) 224 12
789: 105(int) Load 788
790: 7(int) Bitcast 789
791: 7(int) ISub 785 790
792: 7(int) ISub 791 39
793: 272(ptr) AccessChain 89 253 792 253
794: 57(fvec4) Load 793
795: 19(fvec3) VectorShuffle 794 794 0 1 2
796: 19(fvec3) Load 301(pos)
797: 19(fvec3) FSub 795 796
Store 750(b) 797
799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 800 800 12 12
798: 7(int) Load 216(index)
801: 225(ptr) AccessChain 149(params) 224 12
802: 105(int) Load 801
803: 7(int) Bitcast 802
804: 7(int) ISub 798 803
805: 272(ptr) AccessChain 89 253 804 253
806: 57(fvec4) Load 805
807: 19(fvec3) VectorShuffle 806 806 0 1 2
808: 19(fvec3) Load 301(pos)
809: 19(fvec3) FSub 807 808
Store 754(c) 809
811: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 812 812 12 12
810: 19(fvec3) Load 744(a)
813: 19(fvec3) Load 750(b)
814: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 810 813
815: 19(fvec3) Load 750(b)
816: 19(fvec3) Load 754(c)
817: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 815 816
818: 19(fvec3) FAdd 814 817
819: 19(fvec3) Load 738(normal)
820: 19(fvec3) FAdd 819 818
Store 738(normal) 820
Branch 773
773: Label
822: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 765
823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 824 824 12 12
821: 214(ptr) AccessChain 202(id) 12
825: 7(int) Load 821
826: 225(ptr) AccessChain 149(params) 224 12
827: 105(int) Load 826
828: 105(int) ISub 827 280
829: 7(int) Bitcast 828
830: 243(bool) ULessThan 825 829
SelectionMerge 832 None
BranchConditional 830 831 832
831: Label
836: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 833
837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 834 834 12 12
835: 7(int) Load 216(index)
838: 225(ptr) AccessChain 149(params) 224 12
839: 105(int) Load 838
840: 7(int) Bitcast 839
841: 7(int) ISub 835 840
842: 272(ptr) AccessChain 89 253 841 253
843: 57(fvec4) Load 842
844: 19(fvec3) VectorShuffle 843 843 0 1 2
845: 19(fvec3) Load 301(pos)
846: 19(fvec3) FSub 844 845
Store 744(a) 846
848: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 849 849 12 12
847: 7(int) Load 216(index)
850: 225(ptr) AccessChain 149(params) 224 12
851: 105(int) Load 850
852: 7(int) Bitcast 851
853: 7(int) ISub 847 852
854: 7(int) IAdd 853 39
855: 272(ptr) AccessChain 89 253 854 253
856: 57(fvec4) Load 855
857: 19(fvec3) VectorShuffle 856 856 0 1 2
858: 19(fvec3) Load 301(pos)
859: 19(fvec3) FSub 857 858
Store 750(b) 859
861: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 862 862 12 12
860: 7(int) Load 216(index)
863: 7(int) IAdd 860 39
864: 272(ptr) AccessChain 89 253 863 253
865: 57(fvec4) Load 864
866: 19(fvec3) VectorShuffle 865 865 0 1 2
867: 19(fvec3) Load 301(pos)
868: 19(fvec3) FSub 866 867
Store 754(c) 868
870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 871 871 12 12
869: 19(fvec3) Load 744(a)
872: 19(fvec3) Load 750(b)
873: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 869 872
874: 19(fvec3) Load 750(b)
875: 19(fvec3) Load 754(c)
876: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 874 875
877: 19(fvec3) FAdd 873 876
878: 19(fvec3) Load 738(normal)
879: 19(fvec3) FAdd 878 877
Store 738(normal) 879
Branch 832
832: Label
Branch 764
764: Label
881: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 736
882: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 883 883 12 12
880: 214(ptr) AccessChain 202(id) 39
884: 7(int) Load 880
885: 225(ptr) AccessChain 149(params) 224 39
886: 105(int) Load 885
887: 105(int) ISub 886 280
888: 7(int) Bitcast 887
889: 243(bool) ULessThan 884 888
SelectionMerge 891 None
BranchConditional 889 890 891
890: Label
895: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 892
896: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 893 893 12 12
894: 214(ptr) AccessChain 202(id) 12
897: 7(int) Load 894
898: 243(bool) UGreaterThan 897 12
SelectionMerge 900 None
BranchConditional 898 899 900
899: Label
904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 901
905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 902 902 12 12
903: 7(int) Load 216(index)
906: 225(ptr) AccessChain 149(params) 224 12
907: 105(int) Load 906
908: 7(int) Bitcast 907
909: 7(int) IAdd 903 908
910: 272(ptr) AccessChain 89 253 909 253
911: 57(fvec4) Load 910
912: 19(fvec3) VectorShuffle 911 911 0 1 2
913: 19(fvec3) Load 301(pos)
914: 19(fvec3) FSub 912 913
Store 744(a) 914
916: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 917 917 12 12
915: 7(int) Load 216(index)
918: 225(ptr) AccessChain 149(params) 224 12
919: 105(int) Load 918
920: 7(int) Bitcast 919
921: 7(int) IAdd 915 920
922: 7(int) ISub 921 39
923: 272(ptr) AccessChain 89 253 922 253
924: 57(fvec4) Load 923
925: 19(fvec3) VectorShuffle 924 924 0 1 2
926: 19(fvec3) Load 301(pos)
927: 19(fvec3) FSub 925 926
Store 750(b) 927
929: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 930 930 12 12
928: 7(int) Load 216(index)
931: 7(int) ISub 928 39
932: 272(ptr) AccessChain 89 253 931 253
933: 57(fvec4) Load 932
934: 19(fvec3) VectorShuffle 933 933 0 1 2
935: 19(fvec3) Load 301(pos)
936: 19(fvec3) FSub 934 935
Store 754(c) 936
938: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 939 939 12 12
937: 19(fvec3) Load 744(a)
940: 19(fvec3) Load 750(b)
941: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 937 940
942: 19(fvec3) Load 750(b)
943: 19(fvec3) Load 754(c)
944: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 942 943
945: 19(fvec3) FAdd 941 944
946: 19(fvec3) Load 738(normal)
947: 19(fvec3) FAdd 946 945
Store 738(normal) 947
Branch 900
900: Label
949: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 892
950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 951 951 12 12
948: 214(ptr) AccessChain 202(id) 12
952: 7(int) Load 948
953: 225(ptr) AccessChain 149(params) 224 12
954: 105(int) Load 953
955: 105(int) ISub 954 280
956: 7(int) Bitcast 955
957: 243(bool) ULessThan 952 956
SelectionMerge 959 None
BranchConditional 957 958 959
958: Label
963: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 960
964: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 961 961 12 12
962: 7(int) Load 216(index)
965: 7(int) IAdd 962 39
966: 272(ptr) AccessChain 89 253 965 253
967: 57(fvec4) Load 966
968: 19(fvec3) VectorShuffle 967 967 0 1 2
969: 19(fvec3) Load 301(pos)
970: 19(fvec3) FSub 968 969
Store 744(a) 970
972: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 973 973 12 12
971: 7(int) Load 216(index)
974: 225(ptr) AccessChain 149(params) 224 12
975: 105(int) Load 974
976: 7(int) Bitcast 975
977: 7(int) IAdd 971 976
978: 7(int) IAdd 977 39
979: 272(ptr) AccessChain 89 253 978 253
980: 57(fvec4) Load 979
981: 19(fvec3) VectorShuffle 980 980 0 1 2
982: 19(fvec3) Load 301(pos)
983: 19(fvec3) FSub 981 982
Store 750(b) 983
985: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 986 986 12 12
984: 7(int) Load 216(index)
987: 225(ptr) AccessChain 149(params) 224 12
988: 105(int) Load 987
989: 7(int) Bitcast 988
990: 7(int) IAdd 984 989
991: 272(ptr) AccessChain 89 253 990 253
992: 57(fvec4) Load 991
993: 19(fvec3) VectorShuffle 992 992 0 1 2
994: 19(fvec3) Load 301(pos)
995: 19(fvec3) FSub 993 994
Store 754(c) 995
997: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 998 998 12 12
996: 19(fvec3) Load 744(a)
999: 19(fvec3) Load 750(b)
1000: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 996 999
1001: 19(fvec3) Load 750(b)
1002: 19(fvec3) Load 754(c)
1003: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 1001 1002
1004: 19(fvec3) FAdd 1000 1003
1005: 19(fvec3) Load 738(normal)
1006: 19(fvec3) FAdd 1005 1004
Store 738(normal) 1006
Branch 959
959: Label
Branch 891
891: Label
1008: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 736
1009: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 1010 1010 12 12
1007: 7(int) Load 216(index)
1011: 19(fvec3) Load 738(normal)
1012: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 1011
1013: 16(float) CompositeExtract 1012 0
1014: 16(float) CompositeExtract 1012 1
1015: 16(float) CompositeExtract 1012 2
1016: 57(fvec4) CompositeConstruct 1013 1014 1015 281
1017: 272(ptr) AccessChain 103 253 1007 614
Store 1017 1016
Branch 735
735: Label
1018: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
1019: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 1020 1020 12 12
Return
FunctionEnd
31(springForce(vf3;vf3;f1;): 19(fvec3) Function None 26
28(p0): 21(ptr) FunctionParameter
29(p1): 21(ptr) FunctionParameter
30(restDist): 24(ptr) FunctionParameter
32: Label
166(dist): 21(ptr) Variable Function
46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34
47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 37 37 12 12
44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 42 28(p0) 45
50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 48 29(p1) 45
53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 30(restDist) 45
165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(springForce(vf3;vf3;f1;)
171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 169 169 12 12
170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 167 166(dist) 45
172: 19(fvec3) Load 28(p0)
173: 19(fvec3) Load 29(p1)
174: 19(fvec3) FSub 172 173
Store 166(dist) 174
176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 177 177 12 12
175: 19(fvec3) Load 166(dist)
178: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 175
182: 180(ptr) AccessChain 149(params) 179
183: 16(float) Load 182
184: 19(fvec3) VectorTimesScalar 178 183
185: 19(fvec3) Load 166(dist)
186: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 185
187: 16(float) Load 30(restDist)
188: 16(float) FSub 186 187
189: 19(fvec3) VectorTimesScalar 184 188
ReturnValue 189
FunctionEnd