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