| spv.debuginfo.glsl.comp |
| Validation failed |
| // Module Version 10000 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 975 |
| |
| 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" 133 |
| ExecutionMode 14 LocalSize 10 10 1 |
| 2: String "spv.debuginfo.glsl.comp" |
| 8: String "uint" |
| 17: String "float" |
| 33: String "springForce" |
| 36: String "// OpModuleProcessed auto-map-locations |
| // OpModuleProcessed auto-map-bindings |
| // OpModuleProcessed client vulkan100 |
| // OpModuleProcessed target-env vulkan1.0 |
| // OpModuleProcessed keep-uncalled |
| // OpModuleProcessed entry-point main |
| #line 1 |
| /* |
| 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" |
| 60: String "dist" |
| 74: String "int" |
| 80: String "sphereRadius" |
| 91: String "gravity" |
| 95: String "particleCount" |
| 98: String "UBO" |
| 103: String "params" |
| 127: String "id" |
| 135: String "gl_GlobalInvocationID" |
| 141: String "index" |
| 167: String "bool" |
| 179: String "normal" |
| 185: String "pinned" |
| 187: String "Particle" |
| 193: String "particleIn" |
| 197: String "ParticleIn" |
| 202: String "" |
| 218: String "particleOut" |
| 221: String "ParticleOut" |
| 249: String "force" |
| 263: String "pos" |
| 273: String "vel" |
| 577: String "f" |
| 626: String "sphereDist" |
| 677: String "calculateNormals" |
| 680: String "PushConsts" |
| 687: String "pushConsts" |
| 721: String "a" |
| 735: String "b" |
| 752: String "c" |
| Name 14 "main" |
| Name 31 "springForce(vf3;vf3;f1;" |
| Name 28 "p0" |
| Name 29 "p1" |
| Name 30 "restDist" |
| Name 58 "dist" |
| Name 78 "UBO" |
| MemberName 78(UBO) 0 "deltaT" |
| MemberName 78(UBO) 1 "particleMass" |
| MemberName 78(UBO) 2 "springStiffness" |
| MemberName 78(UBO) 3 "damping" |
| MemberName 78(UBO) 4 "restDistH" |
| MemberName 78(UBO) 5 "restDistV" |
| MemberName 78(UBO) 6 "restDistD" |
| MemberName 78(UBO) 7 "sphereRadius" |
| MemberName 78(UBO) 8 "spherePos" |
| MemberName 78(UBO) 9 "gravity" |
| MemberName 78(UBO) 10 "particleCount" |
| Name 101 "params" |
| Name 125 "id" |
| Name 133 "gl_GlobalInvocationID" |
| Name 139 "index" |
| Name 177 "Particle" |
| MemberName 177(Particle) 0 "pos" |
| MemberName 177(Particle) 1 "vel" |
| MemberName 177(Particle) 2 "uv" |
| MemberName 177(Particle) 3 "normal" |
| MemberName 177(Particle) 4 "pinned" |
| Name 191 "ParticleIn" |
| MemberName 191(ParticleIn) 0 "particleIn" |
| Name 200 "" |
| Name 216 "ParticleOut" |
| MemberName 216(ParticleOut) 0 "particleOut" |
| Name 225 "" |
| Name 247 "force" |
| Name 261 "pos" |
| Name 271 "vel" |
| Name 293 "param" |
| Name 297 "param" |
| Name 299 "param" |
| Name 322 "param" |
| Name 326 "param" |
| Name 328 "param" |
| Name 355 "param" |
| Name 359 "param" |
| Name 361 "param" |
| Name 383 "param" |
| Name 387 "param" |
| Name 389 "param" |
| Name 426 "param" |
| Name 430 "param" |
| Name 432 "param" |
| Name 464 "param" |
| Name 468 "param" |
| Name 470 "param" |
| Name 510 "param" |
| Name 514 "param" |
| Name 516 "param" |
| Name 552 "param" |
| Name 556 "param" |
| Name 558 "param" |
| Name 575 "f" |
| Name 624 "sphereDist" |
| Name 675 "PushConsts" |
| MemberName 675(PushConsts) 0 "calculateNormals" |
| Name 685 "pushConsts" |
| Name 697 "normal" |
| Name 719 "a" |
| Name 733 "b" |
| Name 750 "c" |
| MemberDecorate 78(UBO) 0 Offset 0 |
| MemberDecorate 78(UBO) 1 Offset 4 |
| MemberDecorate 78(UBO) 2 Offset 8 |
| MemberDecorate 78(UBO) 3 Offset 12 |
| MemberDecorate 78(UBO) 4 Offset 16 |
| MemberDecorate 78(UBO) 5 Offset 20 |
| MemberDecorate 78(UBO) 6 Offset 24 |
| MemberDecorate 78(UBO) 7 Offset 28 |
| MemberDecorate 78(UBO) 8 Offset 32 |
| MemberDecorate 78(UBO) 9 Offset 48 |
| MemberDecorate 78(UBO) 10 Offset 64 |
| Decorate 78(UBO) Block |
| Decorate 101(params) DescriptorSet 0 |
| Decorate 101(params) Binding 2 |
| Decorate 133(gl_GlobalInvocationID) BuiltIn GlobalInvocationId |
| MemberDecorate 177(Particle) 0 Offset 0 |
| MemberDecorate 177(Particle) 1 Offset 16 |
| MemberDecorate 177(Particle) 2 Offset 32 |
| MemberDecorate 177(Particle) 3 Offset 48 |
| MemberDecorate 177(Particle) 4 Offset 64 |
| Decorate 189 ArrayStride 80 |
| MemberDecorate 191(ParticleIn) 0 Offset 0 |
| Decorate 191(ParticleIn) BufferBlock |
| Decorate 200 DescriptorSet 0 |
| Decorate 200 Binding 0 |
| Decorate 214 ArrayStride 80 |
| MemberDecorate 216(ParticleOut) 0 Offset 0 |
| Decorate 216(ParticleOut) BufferBlock |
| Decorate 225 DescriptorSet 0 |
| Decorate 225 Binding 1 |
| MemberDecorate 675(PushConsts) 0 Offset 0 |
| Decorate 675(PushConsts) Block |
| Decorate 974 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 |
| 61: 7(int) Constant 68 |
| 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 60 20 35 61 12 34 40 |
| 69: 7(int) Constant 69 |
| 71: TypeVector 16(float) 4 |
| 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 40 |
| 73: TypeInt 32 1 |
| 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 74 10 40 12 |
| 76: TypeVector 73(int) 2 |
| 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 75 41 |
| 78(UBO): TypeStruct 16(float) 16(float) 16(float) 16(float) 16(float) 16(float) 16(float) 16(float) 71(fvec4) 71(fvec4) 76(ivec2) |
| 81: 7(int) Constant 56 |
| 82: 7(int) Constant 8 |
| 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13 |
| 83: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13 |
| 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13 |
| 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13 |
| 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13 |
| 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13 |
| 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13 |
| 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13 |
| 92: 7(int) Constant 58 |
| 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 91 72 35 92 22 12 12 13 |
| 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 91 72 35 92 22 12 12 13 |
| 96: 7(int) Constant 59 |
| 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 95 77 35 96 82 12 12 13 |
| 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 98 39 35 69 12 38 98 12 13 79 83 84 85 86 87 88 89 90 93 94 |
| 99: TypePointer Uniform 78(UBO) |
| 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 97 41 12 |
| 101(params): 99(ptr) Variable Uniform |
| 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 103 97 35 69 12 38 103 101(params) 82 |
| 104: 73(int) Constant 2 |
| 105: TypePointer Uniform 16(float) |
| 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 41 12 |
| 121: TypeVector 7(int) 3 |
| 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13 |
| 123: TypePointer Function 121(ivec3) |
| 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 22 12 |
| 128: 7(int) Constant 74 |
| 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 127 122 35 128 12 55 40 |
| 131: TypePointer Input 121(ivec3) |
| 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 39 12 |
| 133(gl_GlobalInvocationID): 131(ptr) Variable Input |
| 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 135 122 35 128 12 38 135 133(gl_GlobalInvocationID) 82 |
| 137: TypePointer Function 7(int) |
| 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12 |
| 142: 7(int) Constant 76 |
| 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 9 35 142 12 55 40 |
| 147: 73(int) Constant 10 |
| 148: TypePointer Uniform 73(int) |
| 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 41 12 |
| 159: 7(int) Constant 77 |
| 166: TypeBool |
| 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 167 10 41 12 |
| 174: 7(int) Constant 78 |
| 177(Particle): TypeStruct 71(fvec4) 71(fvec4) 71(fvec4) 71(fvec4) 16(float) |
| 180: 7(int) Constant 31 |
| 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 |
| 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 |
| 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 |
| 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 |
| 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 18 35 10 82 12 12 13 |
| 188: 7(int) Constant 81 |
| 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 39 35 188 12 38 187 12 13 178 181 182 183 184 |
| 189: TypeRuntimeArray 177(Particle) |
| 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12 |
| 191(ParticleIn): TypeStruct 189 |
| 194: 7(int) Constant 36 |
| 195: 7(int) Constant 11 |
| 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 193 190 35 194 195 12 12 13 |
| 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 197 39 35 188 12 38 197 12 13 192 |
| 198: TypePointer Uniform 191(ParticleIn) |
| 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 196 41 12 |
| 200: 198(ptr) Variable Uniform |
| 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 196 35 188 12 38 202 200 82 |
| 203: 73(int) Constant 0 |
| 207: 73(int) Constant 4 |
| 210: 16(float) Constant 1065353216 |
| 214: TypeRuntimeArray 177(Particle) |
| 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12 |
| 216(ParticleOut): TypeStruct 214 |
| 219: 7(int) Constant 40 |
| 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 218 215 35 219 195 12 12 13 |
| 222: 7(int) Constant 82 |
| 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 221 39 35 222 12 38 221 12 13 217 |
| 223: TypePointer Uniform 216(ParticleOut) |
| 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 220 41 12 |
| 225: 223(ptr) Variable Uniform |
| 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 220 35 222 12 38 202 225 82 |
| 231: TypePointer Uniform 71(fvec4) |
| 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 |
| 238: 7(int) Constant 83 |
| 239: 73(int) Constant 1 |
| 240: 16(float) Constant 0 |
| 241: 71(fvec4) ConstantComposite 240 240 240 240 |
| 244: 7(int) Constant 84 |
| 250: 7(int) Constant 88 |
| 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 35 250 12 55 40 |
| 254: 73(int) Constant 9 |
| 264: 7(int) Constant 90 |
| 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 20 35 264 12 55 40 |
| 274: 7(int) Constant 91 |
| 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 273 20 35 274 12 55 40 |
| 283: 7(int) Constant 95 |
| 291: 7(int) Constant 96 |
| 308: 7(int) Constant 99 |
| 320: 7(int) Constant 100 |
| 337: 7(int) Constant 103 |
| 349: 7(int) Constant 104 |
| 354: 73(int) Constant 5 |
| 370: 7(int) Constant 107 |
| 378: 7(int) Constant 108 |
| 398: 7(int) Constant 111 |
| 419: 7(int) Constant 112 |
| 425: 73(int) Constant 6 |
| 441: 7(int) Constant 115 |
| 458: 7(int) Constant 116 |
| 479: 7(int) Constant 119 |
| 504: 7(int) Constant 120 |
| 525: 7(int) Constant 123 |
| 546: 7(int) Constant 124 |
| 564: 73(int) Constant 3 |
| 568: 7(int) Constant 127 |
| 578: 7(int) Constant 130 |
| 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 577 20 35 578 12 55 40 |
| 588: 7(int) Constant 131 |
| 595: 16(float) Constant 1056964608 |
| 612: 7(int) Constant 132 |
| 627: 7(int) Constant 135 |
| 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 626 20 35 627 12 55 40 |
| 634: 73(int) Constant 8 |
| 641: 7(int) Constant 136 |
| 643: 73(int) Constant 7 |
| 646: 16(float) Constant 1008981770 |
| 654: 7(int) Constant 138 |
| 673: 7(int) Constant 140 |
| 675(PushConsts): TypeStruct 7(int) |
| 678: 7(int) Constant 63 |
| 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 677 9 35 678 22 12 12 13 |
| 681: 7(int) Constant 144 |
| 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 680 39 35 681 12 38 680 12 13 676 |
| 682: TypePointer PushConstant 675(PushConsts) |
| 683: 7(int) Constant 9 |
| 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 679 683 12 |
| 685(pushConsts): 682(ptr) Variable PushConstant |
| 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 687 679 35 681 12 38 687 685(pushConsts) 82 |
| 688: TypePointer PushConstant 7(int) |
| 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 683 12 |
| 699: 7(int) Constant 145 |
| 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 179 20 35 699 12 55 40 |
| 703: 19(fvec3) ConstantComposite 240 240 240 |
| 706: 7(int) Constant 147 |
| 714: 7(int) Constant 148 |
| 722: 7(int) Constant 149 |
| 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 721 20 35 722 12 55 40 |
| 736: 7(int) Constant 150 |
| 734: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 735 20 35 736 12 55 40 |
| 753: 7(int) Constant 151 |
| 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 752 20 35 753 12 55 40 |
| 768: 7(int) Constant 152 |
| 780: 7(int) Constant 154 |
| 792: 7(int) Constant 155 |
| 804: 7(int) Constant 156 |
| 817: 7(int) Constant 157 |
| 826: 7(int) Constant 158 |
| 839: 7(int) Constant 161 |
| 851: 7(int) Constant 162 |
| 859: 7(int) Constant 163 |
| 871: 7(int) Constant 164 |
| 884: 7(int) Constant 165 |
| 893: 7(int) Constant 166 |
| 905: 7(int) Constant 168 |
| 917: 7(int) Constant 169 |
| 926: 7(int) Constant 170 |
| 939: 7(int) Constant 171 |
| 951: 7(int) Constant 172 |
| 964: 7(int) Constant 175 |
| 973: 7(int) Constant 10 |
| 974: 121(ivec3) ConstantComposite 973 973 39 |
| 14(main): 4 Function None 5 |
| 15: Label |
| 125(id): 123(ptr) Variable Function |
| 139(index): 137(ptr) Variable Function |
| 247(force): 21(ptr) Variable Function |
| 261(pos): 21(ptr) Variable Function |
| 271(vel): 21(ptr) Variable Function |
| 293(param): 21(ptr) Variable Function |
| 297(param): 21(ptr) Variable Function |
| 299(param): 24(ptr) Variable Function |
| 322(param): 21(ptr) Variable Function |
| 326(param): 21(ptr) Variable Function |
| 328(param): 24(ptr) Variable Function |
| 355(param): 21(ptr) Variable Function |
| 359(param): 21(ptr) Variable Function |
| 361(param): 24(ptr) Variable Function |
| 383(param): 21(ptr) Variable Function |
| 387(param): 21(ptr) Variable Function |
| 389(param): 24(ptr) Variable Function |
| 426(param): 21(ptr) Variable Function |
| 430(param): 21(ptr) Variable Function |
| 432(param): 24(ptr) Variable Function |
| 464(param): 21(ptr) Variable Function |
| 468(param): 21(ptr) Variable Function |
| 470(param): 24(ptr) Variable Function |
| 510(param): 21(ptr) Variable Function |
| 514(param): 21(ptr) Variable Function |
| 516(param): 24(ptr) Variable Function |
| 552(param): 21(ptr) Variable Function |
| 556(param): 21(ptr) Variable Function |
| 558(param): 24(ptr) Variable Function |
| 575(f): 21(ptr) Variable Function |
| 624(sphereDist): 21(ptr) Variable Function |
| 697(normal): 21(ptr) Variable Function |
| 719(a): 21(ptr) Variable Function |
| 733(b): 21(ptr) Variable Function |
| 750(c): 21(ptr) Variable Function |
| 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12 |
| 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main) |
| 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 128 128 12 12 |
| 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 126 125(id) 45 |
| 136: 121(ivec3) Load 133(gl_GlobalInvocationID) |
| Store 125(id) 136 |
| 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 142 142 12 12 |
| 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 139(index) 45 |
| 145: 137(ptr) AccessChain 125(id) 39 |
| 146: 7(int) Load 145 |
| 150: 148(ptr) AccessChain 101(params) 147 12 |
| 151: 73(int) Load 150 |
| 152: 7(int) Bitcast 151 |
| 153: 7(int) IMul 146 152 |
| 154: 137(ptr) AccessChain 125(id) 12 |
| 155: 7(int) Load 154 |
| 156: 7(int) IAdd 153 155 |
| Store 139(index) 156 |
| 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 159 159 12 12 |
| 157: 7(int) Load 139(index) |
| 160: 148(ptr) AccessChain 101(params) 147 12 |
| 161: 73(int) Load 160 |
| 162: 148(ptr) AccessChain 101(params) 147 39 |
| 163: 73(int) Load 162 |
| 164: 73(int) IMul 161 163 |
| 165: 7(int) Bitcast 164 |
| 169: 166(bool) UGreaterThan 157 165 |
| SelectionMerge 171 None |
| BranchConditional 169 170 171 |
| 170: Label |
| 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 174 174 12 12 |
| Return |
| 171: Label |
| 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 188 188 12 12 |
| 204: 7(int) Load 139(index) |
| 208: 105(ptr) AccessChain 200 203 204 207 |
| 209: 16(float) Load 208 |
| 211: 166(bool) FOrdEqual 209 210 |
| SelectionMerge 213 None |
| BranchConditional 211 212 213 |
| 212: Label |
| 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 222 222 12 12 |
| 227: 7(int) Load 139(index) |
| 230: 7(int) Load 139(index) |
| 233: 231(ptr) AccessChain 225 203 230 203 |
| 234: 71(fvec4) Load 233 |
| 235: 231(ptr) AccessChain 225 203 227 203 |
| Store 235 234 |
| 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 238 238 12 12 |
| 236: 7(int) Load 139(index) |
| 242: 231(ptr) AccessChain 225 203 236 239 |
| Store 242 241 |
| 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 244 244 12 12 |
| Return |
| 213: Label |
| 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 250 250 12 12 |
| 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(force) 45 |
| 255: 231(ptr) AccessChain 101(params) 254 |
| 256: 71(fvec4) Load 255 |
| 257: 19(fvec3) VectorShuffle 256 256 0 1 2 |
| 258: 105(ptr) AccessChain 101(params) 239 |
| 259: 16(float) Load 258 |
| 260: 19(fvec3) VectorTimesScalar 257 259 |
| Store 247(force) 260 |
| 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 264 264 12 12 |
| 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(pos) 45 |
| 267: 7(int) Load 139(index) |
| 268: 231(ptr) AccessChain 200 203 267 203 |
| 269: 71(fvec4) Load 268 |
| 270: 19(fvec3) VectorShuffle 269 269 0 1 2 |
| Store 261(pos) 270 |
| 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 274 274 12 12 |
| 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 272 271(vel) 45 |
| 277: 7(int) Load 139(index) |
| 278: 231(ptr) AccessChain 200 203 277 239 |
| 279: 71(fvec4) Load 278 |
| 280: 19(fvec3) VectorShuffle 279 279 0 1 2 |
| Store 271(vel) 280 |
| 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 283 283 12 12 |
| 281: 137(ptr) AccessChain 125(id) 12 |
| 284: 7(int) Load 281 |
| 285: 166(bool) UGreaterThan 284 12 |
| SelectionMerge 287 None |
| BranchConditional 285 286 287 |
| 286: Label |
| 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 291 291 12 12 |
| 288: 7(int) Load 139(index) |
| 292: 7(int) ISub 288 39 |
| 294: 231(ptr) AccessChain 200 203 292 203 |
| 295: 71(fvec4) Load 294 |
| 296: 19(fvec3) VectorShuffle 295 295 0 1 2 |
| Store 293(param) 296 |
| 298: 19(fvec3) Load 261(pos) |
| Store 297(param) 298 |
| 300: 105(ptr) AccessChain 101(params) 207 |
| 301: 16(float) Load 300 |
| Store 299(param) 301 |
| 302: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 293(param) 297(param) 299(param) |
| 303: 19(fvec3) Load 247(force) |
| 304: 19(fvec3) FAdd 303 302 |
| Store 247(force) 304 |
| Branch 287 |
| 287: Label |
| 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 308 308 12 12 |
| 305: 137(ptr) AccessChain 125(id) 12 |
| 309: 7(int) Load 305 |
| 310: 148(ptr) AccessChain 101(params) 147 12 |
| 311: 73(int) Load 310 |
| 312: 73(int) ISub 311 239 |
| 313: 7(int) Bitcast 312 |
| 314: 166(bool) ULessThan 309 313 |
| SelectionMerge 316 None |
| BranchConditional 314 315 316 |
| 315: Label |
| 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 320 320 12 12 |
| 317: 7(int) Load 139(index) |
| 321: 7(int) IAdd 317 39 |
| 323: 231(ptr) AccessChain 200 203 321 203 |
| 324: 71(fvec4) Load 323 |
| 325: 19(fvec3) VectorShuffle 324 324 0 1 2 |
| Store 322(param) 325 |
| 327: 19(fvec3) Load 261(pos) |
| Store 326(param) 327 |
| 329: 105(ptr) AccessChain 101(params) 207 |
| 330: 16(float) Load 329 |
| Store 328(param) 330 |
| 331: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 322(param) 326(param) 328(param) |
| 332: 19(fvec3) Load 247(force) |
| 333: 19(fvec3) FAdd 332 331 |
| Store 247(force) 333 |
| Branch 316 |
| 316: Label |
| 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 337 337 12 12 |
| 334: 137(ptr) AccessChain 125(id) 39 |
| 338: 7(int) Load 334 |
| 339: 148(ptr) AccessChain 101(params) 147 39 |
| 340: 73(int) Load 339 |
| 341: 73(int) ISub 340 239 |
| 342: 7(int) Bitcast 341 |
| 343: 166(bool) ULessThan 338 342 |
| SelectionMerge 345 None |
| BranchConditional 343 344 345 |
| 344: Label |
| 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 349 349 12 12 |
| 346: 7(int) Load 139(index) |
| 350: 148(ptr) AccessChain 101(params) 147 12 |
| 351: 73(int) Load 350 |
| 352: 7(int) Bitcast 351 |
| 353: 7(int) IAdd 346 352 |
| 356: 231(ptr) AccessChain 200 203 353 203 |
| 357: 71(fvec4) Load 356 |
| 358: 19(fvec3) VectorShuffle 357 357 0 1 2 |
| Store 355(param) 358 |
| 360: 19(fvec3) Load 261(pos) |
| Store 359(param) 360 |
| 362: 105(ptr) AccessChain 101(params) 354 |
| 363: 16(float) Load 362 |
| Store 361(param) 363 |
| 364: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 355(param) 359(param) 361(param) |
| 365: 19(fvec3) Load 247(force) |
| 366: 19(fvec3) FAdd 365 364 |
| Store 247(force) 366 |
| Branch 345 |
| 345: Label |
| 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 370 370 12 12 |
| 367: 137(ptr) AccessChain 125(id) 39 |
| 371: 7(int) Load 367 |
| 372: 166(bool) UGreaterThan 371 12 |
| SelectionMerge 374 None |
| BranchConditional 372 373 374 |
| 373: Label |
| 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 378 378 12 12 |
| 375: 7(int) Load 139(index) |
| 379: 148(ptr) AccessChain 101(params) 147 12 |
| 380: 73(int) Load 379 |
| 381: 7(int) Bitcast 380 |
| 382: 7(int) ISub 375 381 |
| 384: 231(ptr) AccessChain 200 203 382 203 |
| 385: 71(fvec4) Load 384 |
| 386: 19(fvec3) VectorShuffle 385 385 0 1 2 |
| Store 383(param) 386 |
| 388: 19(fvec3) Load 261(pos) |
| Store 387(param) 388 |
| 390: 105(ptr) AccessChain 101(params) 354 |
| 391: 16(float) Load 390 |
| Store 389(param) 391 |
| 392: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 383(param) 387(param) 389(param) |
| 393: 19(fvec3) Load 247(force) |
| 394: 19(fvec3) FAdd 393 392 |
| Store 247(force) 394 |
| Branch 374 |
| 374: Label |
| 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 |
| 395: 137(ptr) AccessChain 125(id) 12 |
| 399: 7(int) Load 395 |
| 400: 166(bool) UGreaterThan 399 12 |
| SelectionMerge 402 None |
| BranchConditional 400 401 402 |
| 401: Label |
| 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 |
| 403: 137(ptr) AccessChain 125(id) 39 |
| 406: 7(int) Load 403 |
| 407: 148(ptr) AccessChain 101(params) 147 39 |
| 408: 73(int) Load 407 |
| 409: 73(int) ISub 408 239 |
| 410: 7(int) Bitcast 409 |
| 411: 166(bool) ULessThan 406 410 |
| Branch 402 |
| 402: Label |
| 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 412: 166(bool) Phi 400 374 411 401 |
| SelectionMerge 415 None |
| BranchConditional 412 414 415 |
| 414: Label |
| 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 419 419 12 12 |
| 416: 7(int) Load 139(index) |
| 420: 148(ptr) AccessChain 101(params) 147 12 |
| 421: 73(int) Load 420 |
| 422: 7(int) Bitcast 421 |
| 423: 7(int) IAdd 416 422 |
| 424: 7(int) ISub 423 39 |
| 427: 231(ptr) AccessChain 200 203 424 203 |
| 428: 71(fvec4) Load 427 |
| 429: 19(fvec3) VectorShuffle 428 428 0 1 2 |
| Store 426(param) 429 |
| 431: 19(fvec3) Load 261(pos) |
| Store 430(param) 431 |
| 433: 105(ptr) AccessChain 101(params) 425 |
| 434: 16(float) Load 433 |
| Store 432(param) 434 |
| 435: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 426(param) 430(param) 432(param) |
| 436: 19(fvec3) Load 247(force) |
| 437: 19(fvec3) FAdd 436 435 |
| Store 247(force) 437 |
| Branch 415 |
| 415: Label |
| 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 |
| 438: 137(ptr) AccessChain 125(id) 12 |
| 442: 7(int) Load 438 |
| 443: 166(bool) UGreaterThan 442 12 |
| SelectionMerge 445 None |
| BranchConditional 443 444 445 |
| 444: Label |
| 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 |
| 446: 137(ptr) AccessChain 125(id) 39 |
| 449: 7(int) Load 446 |
| 450: 166(bool) UGreaterThan 449 12 |
| Branch 445 |
| 445: Label |
| 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 451: 166(bool) Phi 443 415 450 444 |
| SelectionMerge 454 None |
| BranchConditional 451 453 454 |
| 453: Label |
| 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 458 458 12 12 |
| 455: 7(int) Load 139(index) |
| 459: 148(ptr) AccessChain 101(params) 147 12 |
| 460: 73(int) Load 459 |
| 461: 7(int) Bitcast 460 |
| 462: 7(int) ISub 455 461 |
| 463: 7(int) ISub 462 39 |
| 465: 231(ptr) AccessChain 200 203 463 203 |
| 466: 71(fvec4) Load 465 |
| 467: 19(fvec3) VectorShuffle 466 466 0 1 2 |
| Store 464(param) 467 |
| 469: 19(fvec3) Load 261(pos) |
| Store 468(param) 469 |
| 471: 105(ptr) AccessChain 101(params) 425 |
| 472: 16(float) Load 471 |
| Store 470(param) 472 |
| 473: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 464(param) 468(param) 470(param) |
| 474: 19(fvec3) Load 247(force) |
| 475: 19(fvec3) FAdd 474 473 |
| Store 247(force) 475 |
| Branch 454 |
| 454: Label |
| 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 478: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 |
| 476: 137(ptr) AccessChain 125(id) 12 |
| 480: 7(int) Load 476 |
| 481: 148(ptr) AccessChain 101(params) 147 12 |
| 482: 73(int) Load 481 |
| 483: 73(int) ISub 482 239 |
| 484: 7(int) Bitcast 483 |
| 485: 166(bool) ULessThan 480 484 |
| SelectionMerge 487 None |
| BranchConditional 485 486 487 |
| 486: Label |
| 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 |
| 488: 137(ptr) AccessChain 125(id) 39 |
| 491: 7(int) Load 488 |
| 492: 148(ptr) AccessChain 101(params) 147 39 |
| 493: 73(int) Load 492 |
| 494: 73(int) ISub 493 239 |
| 495: 7(int) Bitcast 494 |
| 496: 166(bool) ULessThan 491 495 |
| Branch 487 |
| 487: Label |
| 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 497: 166(bool) Phi 485 454 496 486 |
| SelectionMerge 500 None |
| BranchConditional 497 499 500 |
| 499: Label |
| 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 504 504 12 12 |
| 501: 7(int) Load 139(index) |
| 505: 148(ptr) AccessChain 101(params) 147 12 |
| 506: 73(int) Load 505 |
| 507: 7(int) Bitcast 506 |
| 508: 7(int) IAdd 501 507 |
| 509: 7(int) IAdd 508 39 |
| 511: 231(ptr) AccessChain 200 203 509 203 |
| 512: 71(fvec4) Load 511 |
| 513: 19(fvec3) VectorShuffle 512 512 0 1 2 |
| Store 510(param) 513 |
| 515: 19(fvec3) Load 261(pos) |
| Store 514(param) 515 |
| 517: 105(ptr) AccessChain 101(params) 425 |
| 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 247(force) |
| 521: 19(fvec3) FAdd 520 519 |
| Store 247(force) 521 |
| Branch 500 |
| 500: 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: 137(ptr) AccessChain 125(id) 12 |
| 526: 7(int) Load 522 |
| 527: 148(ptr) AccessChain 101(params) 147 12 |
| 528: 73(int) Load 527 |
| 529: 73(int) ISub 528 239 |
| 530: 7(int) Bitcast 529 |
| 531: 166(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: 137(ptr) AccessChain 125(id) 39 |
| 537: 7(int) Load 534 |
| 538: 166(bool) UGreaterThan 537 12 |
| Branch 533 |
| 533: Label |
| 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 539: 166(bool) Phi 531 500 538 532 |
| SelectionMerge 542 None |
| BranchConditional 539 541 542 |
| 541: Label |
| 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 546 546 12 12 |
| 543: 7(int) Load 139(index) |
| 547: 148(ptr) AccessChain 101(params) 147 12 |
| 548: 73(int) Load 547 |
| 549: 7(int) Bitcast 548 |
| 550: 7(int) ISub 543 549 |
| 551: 7(int) IAdd 550 39 |
| 553: 231(ptr) AccessChain 200 203 551 203 |
| 554: 71(fvec4) Load 553 |
| 555: 19(fvec3) VectorShuffle 554 554 0 1 2 |
| Store 552(param) 555 |
| 557: 19(fvec3) Load 261(pos) |
| Store 556(param) 557 |
| 559: 105(ptr) AccessChain 101(params) 425 |
| 560: 16(float) Load 559 |
| Store 558(param) 560 |
| 561: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 552(param) 556(param) 558(param) |
| 562: 19(fvec3) Load 247(force) |
| 563: 19(fvec3) FAdd 562 561 |
| Store 247(force) 563 |
| Branch 542 |
| 542: Label |
| 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 568 568 12 12 |
| 565: 105(ptr) AccessChain 101(params) 564 |
| 569: 16(float) Load 565 |
| 570: 16(float) FNegate 569 |
| 571: 19(fvec3) Load 271(vel) |
| 572: 19(fvec3) VectorTimesScalar 571 570 |
| 573: 19(fvec3) Load 247(force) |
| 574: 19(fvec3) FAdd 573 572 |
| Store 247(force) 574 |
| 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 578 578 12 12 |
| 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 576 575(f) 45 |
| 581: 19(fvec3) Load 247(force) |
| 582: 105(ptr) AccessChain 101(params) 239 |
| 583: 16(float) Load 582 |
| 584: 16(float) FDiv 210 583 |
| 585: 19(fvec3) VectorTimesScalar 581 584 |
| Store 575(f) 585 |
| 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 588 588 12 12 |
| 586: 7(int) Load 139(index) |
| 589: 19(fvec3) Load 261(pos) |
| 590: 19(fvec3) Load 271(vel) |
| 591: 105(ptr) AccessChain 101(params) 203 |
| 592: 16(float) Load 591 |
| 593: 19(fvec3) VectorTimesScalar 590 592 |
| 594: 19(fvec3) FAdd 589 593 |
| 596: 19(fvec3) Load 575(f) |
| 597: 19(fvec3) VectorTimesScalar 596 595 |
| 598: 105(ptr) AccessChain 101(params) 203 |
| 599: 16(float) Load 598 |
| 600: 19(fvec3) VectorTimesScalar 597 599 |
| 601: 105(ptr) AccessChain 101(params) 203 |
| 602: 16(float) Load 601 |
| 603: 19(fvec3) VectorTimesScalar 600 602 |
| 604: 19(fvec3) FAdd 594 603 |
| 605: 16(float) CompositeExtract 604 0 |
| 606: 16(float) CompositeExtract 604 1 |
| 607: 16(float) CompositeExtract 604 2 |
| 608: 71(fvec4) CompositeConstruct 605 606 607 210 |
| 609: 231(ptr) AccessChain 225 203 586 203 |
| Store 609 608 |
| 611: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 612 612 12 12 |
| 610: 7(int) Load 139(index) |
| 613: 19(fvec3) Load 271(vel) |
| 614: 19(fvec3) Load 575(f) |
| 615: 105(ptr) AccessChain 101(params) 203 |
| 616: 16(float) Load 615 |
| 617: 19(fvec3) VectorTimesScalar 614 616 |
| 618: 19(fvec3) FAdd 613 617 |
| 619: 16(float) CompositeExtract 618 0 |
| 620: 16(float) CompositeExtract 618 1 |
| 621: 16(float) CompositeExtract 618 2 |
| 622: 71(fvec4) CompositeConstruct 619 620 621 240 |
| 623: 231(ptr) AccessChain 225 203 610 239 |
| Store 623 622 |
| 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 627 627 12 12 |
| 628: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 625 624(sphereDist) 45 |
| 630: 7(int) Load 139(index) |
| 631: 231(ptr) AccessChain 225 203 630 203 |
| 632: 71(fvec4) Load 631 |
| 633: 19(fvec3) VectorShuffle 632 632 0 1 2 |
| 635: 231(ptr) AccessChain 101(params) 634 |
| 636: 71(fvec4) Load 635 |
| 637: 19(fvec3) VectorShuffle 636 636 0 1 2 |
| 638: 19(fvec3) FSub 633 637 |
| Store 624(sphereDist) 638 |
| 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 641 641 12 12 |
| 639: 19(fvec3) Load 624(sphereDist) |
| 642: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 639 |
| 644: 105(ptr) AccessChain 101(params) 643 |
| 645: 16(float) Load 644 |
| 647: 16(float) FAdd 645 646 |
| 648: 166(bool) FOrdLessThan 642 647 |
| SelectionMerge 650 None |
| BranchConditional 648 649 650 |
| 649: Label |
| 652: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 653: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 654 654 12 12 |
| 651: 7(int) Load 139(index) |
| 655: 231(ptr) AccessChain 101(params) 634 |
| 656: 71(fvec4) Load 655 |
| 657: 19(fvec3) VectorShuffle 656 656 0 1 2 |
| 658: 19(fvec3) Load 624(sphereDist) |
| 659: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 658 |
| 660: 105(ptr) AccessChain 101(params) 643 |
| 661: 16(float) Load 660 |
| 662: 16(float) FAdd 661 646 |
| 663: 19(fvec3) VectorTimesScalar 659 662 |
| 664: 19(fvec3) FAdd 657 663 |
| 665: 105(ptr) AccessChain 225 203 651 203 12 |
| 666: 16(float) CompositeExtract 664 0 |
| Store 665 666 |
| 667: 105(ptr) AccessChain 225 203 651 203 39 |
| 668: 16(float) CompositeExtract 664 1 |
| Store 667 668 |
| 669: 105(ptr) AccessChain 225 203 651 203 41 |
| 670: 16(float) CompositeExtract 664 2 |
| Store 669 670 |
| 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 673 673 12 12 |
| 671: 7(int) Load 139(index) |
| 674: 231(ptr) AccessChain 225 203 671 239 |
| Store 674 241 |
| Branch 650 |
| 650: Label |
| 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 692: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 681 681 12 12 |
| 690: 688(ptr) AccessChain 685(pushConsts) 203 |
| 693: 7(int) Load 690 |
| 694: 166(bool) IEqual 693 39 |
| SelectionMerge 696 None |
| BranchConditional 694 695 696 |
| 695: Label |
| 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 699 699 12 12 |
| 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 698 697(normal) 45 |
| Store 697(normal) 703 |
| 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 706 706 12 12 |
| 704: 137(ptr) AccessChain 125(id) 39 |
| 707: 7(int) Load 704 |
| 708: 166(bool) UGreaterThan 707 12 |
| SelectionMerge 710 None |
| BranchConditional 708 709 710 |
| 709: Label |
| 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 714 714 12 12 |
| 711: 137(ptr) AccessChain 125(id) 12 |
| 715: 7(int) Load 711 |
| 716: 166(bool) UGreaterThan 715 12 |
| SelectionMerge 718 None |
| BranchConditional 716 717 718 |
| 717: Label |
| 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 722 722 12 12 |
| 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 720 719(a) 45 |
| 726: 7(int) Load 139(index) |
| 727: 7(int) ISub 726 39 |
| 728: 231(ptr) AccessChain 200 203 727 203 |
| 729: 71(fvec4) Load 728 |
| 730: 19(fvec3) VectorShuffle 729 729 0 1 2 |
| 731: 19(fvec3) Load 261(pos) |
| 732: 19(fvec3) FSub 730 731 |
| Store 719(a) 732 |
| 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 736 736 12 12 |
| 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 734 733(b) 45 |
| 739: 7(int) Load 139(index) |
| 740: 148(ptr) AccessChain 101(params) 147 12 |
| 741: 73(int) Load 740 |
| 742: 7(int) Bitcast 741 |
| 743: 7(int) ISub 739 742 |
| 744: 7(int) ISub 743 39 |
| 745: 231(ptr) AccessChain 200 203 744 203 |
| 746: 71(fvec4) Load 745 |
| 747: 19(fvec3) VectorShuffle 746 746 0 1 2 |
| 748: 19(fvec3) Load 261(pos) |
| 749: 19(fvec3) FSub 747 748 |
| Store 733(b) 749 |
| 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 753 753 12 12 |
| 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 751 750(c) 45 |
| 756: 7(int) Load 139(index) |
| 757: 148(ptr) AccessChain 101(params) 147 12 |
| 758: 73(int) Load 757 |
| 759: 7(int) Bitcast 758 |
| 760: 7(int) ISub 756 759 |
| 761: 231(ptr) AccessChain 200 203 760 203 |
| 762: 71(fvec4) Load 761 |
| 763: 19(fvec3) VectorShuffle 762 762 0 1 2 |
| 764: 19(fvec3) Load 261(pos) |
| 765: 19(fvec3) FSub 763 764 |
| Store 750(c) 765 |
| 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 768 768 12 12 |
| 766: 19(fvec3) Load 719(a) |
| 769: 19(fvec3) Load 733(b) |
| 770: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 766 769 |
| 771: 19(fvec3) Load 733(b) |
| 772: 19(fvec3) Load 750(c) |
| 773: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 771 772 |
| 774: 19(fvec3) FAdd 770 773 |
| 775: 19(fvec3) Load 697(normal) |
| 776: 19(fvec3) FAdd 775 774 |
| Store 697(normal) 776 |
| Branch 718 |
| 718: Label |
| 778: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 779: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 780 780 12 12 |
| 777: 137(ptr) AccessChain 125(id) 12 |
| 781: 7(int) Load 777 |
| 782: 148(ptr) AccessChain 101(params) 147 12 |
| 783: 73(int) Load 782 |
| 784: 73(int) ISub 783 239 |
| 785: 7(int) Bitcast 784 |
| 786: 166(bool) ULessThan 781 785 |
| SelectionMerge 788 None |
| BranchConditional 786 787 788 |
| 787: Label |
| 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 792 792 12 12 |
| 789: 7(int) Load 139(index) |
| 793: 148(ptr) AccessChain 101(params) 147 12 |
| 794: 73(int) Load 793 |
| 795: 7(int) Bitcast 794 |
| 796: 7(int) ISub 789 795 |
| 797: 231(ptr) AccessChain 200 203 796 203 |
| 798: 71(fvec4) Load 797 |
| 799: 19(fvec3) VectorShuffle 798 798 0 1 2 |
| 800: 19(fvec3) Load 261(pos) |
| 801: 19(fvec3) FSub 799 800 |
| Store 719(a) 801 |
| 803: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 804 804 12 12 |
| 802: 7(int) Load 139(index) |
| 805: 148(ptr) AccessChain 101(params) 147 12 |
| 806: 73(int) Load 805 |
| 807: 7(int) Bitcast 806 |
| 808: 7(int) ISub 802 807 |
| 809: 7(int) IAdd 808 39 |
| 810: 231(ptr) AccessChain 200 203 809 203 |
| 811: 71(fvec4) Load 810 |
| 812: 19(fvec3) VectorShuffle 811 811 0 1 2 |
| 813: 19(fvec3) Load 261(pos) |
| 814: 19(fvec3) FSub 812 813 |
| Store 733(b) 814 |
| 816: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 817 817 12 12 |
| 815: 7(int) Load 139(index) |
| 818: 7(int) IAdd 815 39 |
| 819: 231(ptr) AccessChain 200 203 818 203 |
| 820: 71(fvec4) Load 819 |
| 821: 19(fvec3) VectorShuffle 820 820 0 1 2 |
| 822: 19(fvec3) Load 261(pos) |
| 823: 19(fvec3) FSub 821 822 |
| Store 750(c) 823 |
| 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 826 826 12 12 |
| 824: 19(fvec3) Load 719(a) |
| 827: 19(fvec3) Load 733(b) |
| 828: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 824 827 |
| 829: 19(fvec3) Load 733(b) |
| 830: 19(fvec3) Load 750(c) |
| 831: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 829 830 |
| 832: 19(fvec3) FAdd 828 831 |
| 833: 19(fvec3) Load 697(normal) |
| 834: 19(fvec3) FAdd 833 832 |
| Store 697(normal) 834 |
| Branch 788 |
| 788: Label |
| 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| Branch 710 |
| 710: Label |
| 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 839 839 12 12 |
| 836: 137(ptr) AccessChain 125(id) 39 |
| 840: 7(int) Load 836 |
| 841: 148(ptr) AccessChain 101(params) 147 39 |
| 842: 73(int) Load 841 |
| 843: 73(int) ISub 842 239 |
| 844: 7(int) Bitcast 843 |
| 845: 166(bool) ULessThan 840 844 |
| SelectionMerge 847 None |
| BranchConditional 845 846 847 |
| 846: Label |
| 849: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 851 851 12 12 |
| 848: 137(ptr) AccessChain 125(id) 12 |
| 852: 7(int) Load 848 |
| 853: 166(bool) UGreaterThan 852 12 |
| SelectionMerge 855 None |
| BranchConditional 853 854 855 |
| 854: Label |
| 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 859 859 12 12 |
| 856: 7(int) Load 139(index) |
| 860: 148(ptr) AccessChain 101(params) 147 12 |
| 861: 73(int) Load 860 |
| 862: 7(int) Bitcast 861 |
| 863: 7(int) IAdd 856 862 |
| 864: 231(ptr) AccessChain 200 203 863 203 |
| 865: 71(fvec4) Load 864 |
| 866: 19(fvec3) VectorShuffle 865 865 0 1 2 |
| 867: 19(fvec3) Load 261(pos) |
| 868: 19(fvec3) FSub 866 867 |
| Store 719(a) 868 |
| 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 871 871 12 12 |
| 869: 7(int) Load 139(index) |
| 872: 148(ptr) AccessChain 101(params) 147 12 |
| 873: 73(int) Load 872 |
| 874: 7(int) Bitcast 873 |
| 875: 7(int) IAdd 869 874 |
| 876: 7(int) ISub 875 39 |
| 877: 231(ptr) AccessChain 200 203 876 203 |
| 878: 71(fvec4) Load 877 |
| 879: 19(fvec3) VectorShuffle 878 878 0 1 2 |
| 880: 19(fvec3) Load 261(pos) |
| 881: 19(fvec3) FSub 879 880 |
| Store 733(b) 881 |
| 883: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 884 884 12 12 |
| 882: 7(int) Load 139(index) |
| 885: 7(int) ISub 882 39 |
| 886: 231(ptr) AccessChain 200 203 885 203 |
| 887: 71(fvec4) Load 886 |
| 888: 19(fvec3) VectorShuffle 887 887 0 1 2 |
| 889: 19(fvec3) Load 261(pos) |
| 890: 19(fvec3) FSub 888 889 |
| Store 750(c) 890 |
| 892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 893 893 12 12 |
| 891: 19(fvec3) Load 719(a) |
| 894: 19(fvec3) Load 733(b) |
| 895: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 891 894 |
| 896: 19(fvec3) Load 733(b) |
| 897: 19(fvec3) Load 750(c) |
| 898: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 896 897 |
| 899: 19(fvec3) FAdd 895 898 |
| 900: 19(fvec3) Load 697(normal) |
| 901: 19(fvec3) FAdd 900 899 |
| Store 697(normal) 901 |
| Branch 855 |
| 855: Label |
| 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 905 905 12 12 |
| 902: 137(ptr) AccessChain 125(id) 12 |
| 906: 7(int) Load 902 |
| 907: 148(ptr) AccessChain 101(params) 147 12 |
| 908: 73(int) Load 907 |
| 909: 73(int) ISub 908 239 |
| 910: 7(int) Bitcast 909 |
| 911: 166(bool) ULessThan 906 910 |
| SelectionMerge 913 None |
| BranchConditional 911 912 913 |
| 912: Label |
| 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 916: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 917 917 12 12 |
| 914: 7(int) Load 139(index) |
| 918: 7(int) IAdd 914 39 |
| 919: 231(ptr) AccessChain 200 203 918 203 |
| 920: 71(fvec4) Load 919 |
| 921: 19(fvec3) VectorShuffle 920 920 0 1 2 |
| 922: 19(fvec3) Load 261(pos) |
| 923: 19(fvec3) FSub 921 922 |
| Store 719(a) 923 |
| 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 926 926 12 12 |
| 924: 7(int) Load 139(index) |
| 927: 148(ptr) AccessChain 101(params) 147 12 |
| 928: 73(int) Load 927 |
| 929: 7(int) Bitcast 928 |
| 930: 7(int) IAdd 924 929 |
| 931: 7(int) IAdd 930 39 |
| 932: 231(ptr) AccessChain 200 203 931 203 |
| 933: 71(fvec4) Load 932 |
| 934: 19(fvec3) VectorShuffle 933 933 0 1 2 |
| 935: 19(fvec3) Load 261(pos) |
| 936: 19(fvec3) FSub 934 935 |
| Store 733(b) 936 |
| 938: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 939 939 12 12 |
| 937: 7(int) Load 139(index) |
| 940: 148(ptr) AccessChain 101(params) 147 12 |
| 941: 73(int) Load 940 |
| 942: 7(int) Bitcast 941 |
| 943: 7(int) IAdd 937 942 |
| 944: 231(ptr) AccessChain 200 203 943 203 |
| 945: 71(fvec4) Load 944 |
| 946: 19(fvec3) VectorShuffle 945 945 0 1 2 |
| 947: 19(fvec3) Load 261(pos) |
| 948: 19(fvec3) FSub 946 947 |
| Store 750(c) 948 |
| 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 951 951 12 12 |
| 949: 19(fvec3) Load 719(a) |
| 952: 19(fvec3) Load 733(b) |
| 953: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 949 952 |
| 954: 19(fvec3) Load 733(b) |
| 955: 19(fvec3) Load 750(c) |
| 956: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 954 955 |
| 957: 19(fvec3) FAdd 953 956 |
| 958: 19(fvec3) Load 697(normal) |
| 959: 19(fvec3) FAdd 958 957 |
| Store 697(normal) 959 |
| Branch 913 |
| 913: Label |
| 960: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| Branch 847 |
| 847: Label |
| 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 963: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 964 964 12 12 |
| 961: 7(int) Load 139(index) |
| 965: 19(fvec3) Load 697(normal) |
| 966: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 965 |
| 967: 16(float) CompositeExtract 966 0 |
| 968: 16(float) CompositeExtract 966 1 |
| 969: 16(float) CompositeExtract 966 2 |
| 970: 71(fvec4) CompositeConstruct 967 968 969 240 |
| 971: 231(ptr) AccessChain 225 203 961 564 |
| Store 971 970 |
| Branch 696 |
| 696: Label |
| 972: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 |
| 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 |
| 58(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 |
| 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(springForce(vf3;vf3;f1;) |
| 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 61 61 12 12 |
| 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 59 58(dist) 45 |
| 64: 19(fvec3) Load 28(p0) |
| 65: 19(fvec3) Load 29(p1) |
| 66: 19(fvec3) FSub 64 65 |
| Store 58(dist) 66 |
| 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 69 69 12 12 |
| 67: 19(fvec3) Load 58(dist) |
| 70: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 67 |
| 107: 105(ptr) AccessChain 101(params) 104 |
| 108: 16(float) Load 107 |
| 109: 19(fvec3) VectorTimesScalar 70 108 |
| 110: 19(fvec3) Load 58(dist) |
| 111: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 110 |
| 112: 16(float) Load 30(restDist) |
| 113: 16(float) FSub 111 112 |
| 114: 19(fvec3) VectorTimesScalar 109 113 |
| ReturnValue 114 |
| FunctionEnd |