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