yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
e4c40890
main
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