yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
e4c40890
main
1spv.debuginfo.hlsl.comp 2// Module Version 10000 3// Generated by (magic number): 8000b 4// Id's are bound by 1014 5 6 Capability Shader 7 Extension "SPV_KHR_non_semantic_info" 8 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 9 3: ExtInstImport "GLSL.std.450" 10 MemoryModel Logical GLSL450 11 EntryPoint GLCompute 6 "main" 1009 12 ExecutionMode 6 LocalSize 10 10 1 13 2: String "spv.debuginfo.hlsl.comp" 14 9: String "float" 15 12: String "uint" 16 32: String "springForce" 17 35: String "/* 18The MIT License (MIT) 19 20Copyright (c) 2022 Google LLC 21Copyright (c) 2022 Sascha Willems 22 23Permission is hereby granted, free of charge, to any person obtaining a copy 24of this software and associated documentation files (the "Software"), to deal 25in the Software without restriction, including without limitation the rights 26to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 27copies of the Software, and to permit persons to whom the Software is 28furnished to do so, subject to the following conditions: 29 30The above copyright notice and this permission notice shall be included in all 31copies or substantial portions of the Software. 32 33THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 34IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 35FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 36AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 37LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 38OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 39SOFTWARE. 40*/ 41 42struct Particle { 43 float4 pos; 44 float4 vel; 45 float4 uv; 46 float4 normal; 47 float pinned; 48}; 49 50[[vk::binding(0)]] 51StructuredBuffer<Particle> particleIn; 52[[vk::binding(1)]] 53RWStructuredBuffer<Particle> particleOut; 54 55struct UBO 56{ 57 float deltaT; 58 float particleMass; 59 float springStiffness; 60 float damping; 61 float restDistH; 62 float restDistV; 63 float restDistD; 64 float sphereRadius; 65 float4 spherePos; 66 float4 gravity; 67 int2 particleCount; 68}; 69 70cbuffer ubo : register(b2) 71{ 72 UBO params; 73}; 74 75#ifdef GLSLANG 76layout ( push_constant ) cbuffer PushConstants 77{ 78 uint calculateNormals; 79} pushConstants; 80#else 81struct PushConstants 82{ 83 uint calculateNormals; 84}; 85 86[[vk::push_constant]] 87PushConstants pushConstants; 88#endif 89 90float3 springForce(float3 p0, float3 p1, float restDist) 91{ 92 float3 dist = p0 - p1; 93 return normalize(dist) * params.springStiffness * (length(dist) - restDist); 94} 95 96[numthreads(10, 10, 1)] 97void main(uint3 id : SV_DispatchThreadID) 98{ 99 uint index = id.y * params.particleCount.x + id.x; 100 if (index > params.particleCount.x * params.particleCount.y) 101 return; 102 103 // Pinned? 104 if (particleIn[index].pinned == 1.0) { 105 particleOut[index].pos = particleOut[index].pos; 106 particleOut[index].vel = float4(0, 0, 0, 0); 107 return; 108 } 109 110 // Initial force from gravity 111 float3 force = params.gravity.xyz * params.particleMass; 112 113 float3 pos = particleIn[index].pos.xyz; 114 float3 vel = particleIn[index].vel.xyz; 115 116 // Spring forces from neighboring particles 117 // left 118 if (id.x > 0) { 119 force += springForce(particleIn[index-1].pos.xyz, pos, params.restDistH); 120 } 121 // right 122 if (id.x < params.particleCount.x - 1) { 123 force += springForce(particleIn[index + 1].pos.xyz, pos, params.restDistH); 124 } 125 // upper 126 if (id.y < params.particleCount.y - 1) { 127 force += springForce(particleIn[index + params.particleCount.x].pos.xyz, pos, params.restDistV); 128 } 129 // lower 130 if (id.y > 0) { 131 force += springForce(particleIn[index - params.particleCount.x].pos.xyz, pos, params.restDistV); 132 } 133 // upper-left 134 if ((id.x > 0) && (id.y < params.particleCount.y - 1)) { 135 force += springForce(particleIn[index + params.particleCount.x - 1].pos.xyz, pos, params.restDistD); 136 } 137 // lower-left 138 if ((id.x > 0) && (id.y > 0)) { 139 force += springForce(particleIn[index - params.particleCount.x - 1].pos.xyz, pos, params.restDistD); 140 } 141 // upper-right 142 if ((id.x < params.particleCount.x - 1) && (id.y < params.particleCount.y - 1)) { 143 force += springForce(particleIn[index + params.particleCount.x + 1].pos.xyz, pos, params.restDistD); 144 } 145 // lower-right 146 if ((id.x < params.particleCount.x - 1) && (id.y > 0)) { 147 force += springForce(particleIn[index - params.particleCount.x + 1].pos.xyz, pos, params.restDistD); 148 } 149 150 force += (-params.damping * vel); 151 152 // Integrate 153 float3 f = force * (1.0 / params.particleMass); 154 particleOut[index].pos = float4(pos + vel * params.deltaT + 0.5 * f * params.deltaT * params.deltaT, 1.0); 155 particleOut[index].vel = float4(vel + f * params.deltaT, 0.0); 156 157 // Sphere collision 158 float3 sphereDist = particleOut[index].pos.xyz - params.spherePos.xyz; 159 if (length(sphereDist) < params.sphereRadius + 0.01) { 160 // If the particle is inside the sphere, push it to the outer radius 161 particleOut[index].pos.xyz = params.spherePos.xyz + normalize(sphereDist) * (params.sphereRadius + 0.01); 162 // Cancel out velocity 163 particleOut[index].vel = float4(0, 0, 0, 0); 164 } 165 166 // Normals 167 if (pushConstants.calculateNormals == 1) { 168 float3 normal = float3(0, 0, 0); 169 float3 a, b, c; 170 if (id.y > 0) { 171 if (id.x > 0) { 172 a = particleIn[index - 1].pos.xyz - pos; 173 b = particleIn[index - params.particleCount.x - 1].pos.xyz - pos; 174 c = particleIn[index - params.particleCount.x].pos.xyz - pos; 175 normal += cross(a,b) + cross(b,c); 176 } 177 if (id.x < params.particleCount.x - 1) { 178 a = particleIn[index - params.particleCount.x].pos.xyz - pos; 179 b = particleIn[index - params.particleCount.x + 1].pos.xyz - pos; 180 c = particleIn[index + 1].pos.xyz - pos; 181 normal += cross(a,b) + cross(b,c); 182 } 183 } 184 if (id.y < params.particleCount.y - 1) { 185 if (id.x > 0) { 186 a = particleIn[index + params.particleCount.x].pos.xyz - pos; 187 b = particleIn[index + params.particleCount.x - 1].pos.xyz - pos; 188 c = particleIn[index - 1].pos.xyz - pos; 189 normal += cross(a,b) + cross(b,c); 190 } 191 if (id.x < params.particleCount.x - 1) { 192 a = particleIn[index + 1].pos.xyz - pos; 193 b = particleIn[index + params.particleCount.x + 1].pos.xyz - pos; 194 c = particleIn[index + params.particleCount.x].pos.xyz - pos; 195 normal += cross(a,b) + cross(b,c); 196 } 197 } 198 particleOut[index].normal = float4(normalize(normal), 0.0f); 199 } 200} 201" 202 42: String "p0" 203 48: String "p1" 204 52: String "restDist" 205 63: String "@main" 206 67: String "id" 207 75: String "dist" 208 90: String "int" 209 96: String "deltaT" 210 100: String "particleMass" 211 104: String "springStiffness" 212 108: String "damping" 213 112: String "restDistH" 214 116: String "restDistV" 215 119: String "restDistD" 216 122: String "sphereRadius" 217 125: String "spherePos" 218 129: String "gravity" 219 133: String "particleCount" 220 136: String "UBO" 221 139: String "params" 222 143: String "ubo" 223 148: String "" 224 172: String "index" 225 199: String "bool" 226 210: String "pos" 227 213: String "vel" 228 216: String "uv" 229 220: String "normal" 230 223: String "pinned" 231 226: String "Particle" 232 232: String "@data" 233 235: String "particleIn" 234 257: String "particleOut" 235 284: String "force" 236 598: String "f" 237 647: String "sphereDist" 238 699: String "calculateNormals" 239 702: String "PushConstants" 240 706: String "pushConstants" 241 709: String "$Global" 242 733: String "a" 243 739: String "b" 244 743: String "c" 245 Name 6 "main" 246 Name 30 "springForce(vf3;vf3;f1;" 247 Name 27 "p0" 248 Name 28 "p1" 249 Name 29 "restDist" 250 Name 61 "@main(vu3;" 251 Name 60 "id" 252 Name 73 "dist" 253 Name 94 "UBO" 254 MemberName 94(UBO) 0 "deltaT" 255 MemberName 94(UBO) 1 "particleMass" 256 MemberName 94(UBO) 2 "springStiffness" 257 MemberName 94(UBO) 3 "damping" 258 MemberName 94(UBO) 4 "restDistH" 259 MemberName 94(UBO) 5 "restDistV" 260 MemberName 94(UBO) 6 "restDistD" 261 MemberName 94(UBO) 7 "sphereRadius" 262 MemberName 94(UBO) 8 "spherePos" 263 MemberName 94(UBO) 9 "gravity" 264 MemberName 94(UBO) 10 "particleCount" 265 Name 137 "ubo" 266 MemberName 137(ubo) 0 "params" 267 Name 146 "" 268 Name 170 "index" 269 Name 208 "Particle" 270 MemberName 208(Particle) 0 "pos" 271 MemberName 208(Particle) 1 "vel" 272 MemberName 208(Particle) 2 "uv" 273 MemberName 208(Particle) 3 "normal" 274 MemberName 208(Particle) 4 "pinned" 275 Name 230 "particleIn" 276 MemberName 230(particleIn) 0 "@data" 277 Name 238 "particleIn" 278 Name 253 "particleOut" 279 MemberName 253(particleOut) 0 "@data" 280 Name 261 "particleOut" 281 Name 282 "force" 282 Name 296 "pos" 283 Name 305 "vel" 284 Name 327 "param" 285 Name 331 "param" 286 Name 333 "param" 287 Name 357 "param" 288 Name 361 "param" 289 Name 363 "param" 290 Name 391 "param" 291 Name 395 "param" 292 Name 397 "param" 293 Name 420 "param" 294 Name 424 "param" 295 Name 426 "param" 296 Name 459 "param" 297 Name 463 "param" 298 Name 465 "param" 299 Name 493 "param" 300 Name 497 "param" 301 Name 499 "param" 302 Name 535 "param" 303 Name 539 "param" 304 Name 541 "param" 305 Name 573 "param" 306 Name 577 "param" 307 Name 579 "param" 308 Name 596 "f" 309 Name 645 "sphereDist" 310 Name 697 "PushConstants" 311 MemberName 697(PushConstants) 0 "calculateNormals" 312 Name 704 "$Global" 313 MemberName 704($Global) 0 "pushConstants" 314 Name 712 "" 315 Name 724 "normal" 316 Name 731 "a" 317 Name 737 "b" 318 Name 741 "c" 319 Name 1007 "id" 320 Name 1009 "id" 321 Name 1011 "param" 322 MemberDecorate 94(UBO) 0 Offset 0 323 MemberDecorate 94(UBO) 1 Offset 4 324 MemberDecorate 94(UBO) 2 Offset 8 325 MemberDecorate 94(UBO) 3 Offset 12 326 MemberDecorate 94(UBO) 4 Offset 16 327 MemberDecorate 94(UBO) 5 Offset 20 328 MemberDecorate 94(UBO) 6 Offset 24 329 MemberDecorate 94(UBO) 7 Offset 28 330 MemberDecorate 94(UBO) 8 Offset 32 331 MemberDecorate 94(UBO) 9 Offset 48 332 MemberDecorate 94(UBO) 10 Offset 64 333 Decorate 137(ubo) Block 334 MemberDecorate 137(ubo) 0 Offset 0 335 Decorate 146 Binding 2 336 Decorate 146 DescriptorSet 0 337 MemberDecorate 208(Particle) 0 Offset 0 338 MemberDecorate 208(Particle) 1 Offset 16 339 MemberDecorate 208(Particle) 2 Offset 32 340 MemberDecorate 208(Particle) 3 Offset 48 341 MemberDecorate 208(Particle) 4 Offset 64 342 Decorate 228 ArrayStride 80 343 Decorate 230(particleIn) BufferBlock 344 MemberDecorate 230(particleIn) 0 NonWritable 345 MemberDecorate 230(particleIn) 0 Offset 0 346 Decorate 238(particleIn) NonWritable 347 Decorate 238(particleIn) Binding 0 348 Decorate 238(particleIn) DescriptorSet 0 349 Decorate 251 ArrayStride 80 350 Decorate 253(particleOut) BufferBlock 351 MemberDecorate 253(particleOut) 0 Offset 0 352 Decorate 261(particleOut) Binding 1 353 Decorate 261(particleOut) DescriptorSet 0 354 MemberDecorate 697(PushConstants) 0 Offset 0 355 Decorate 704($Global) Block 356 MemberDecorate 704($Global) 0 Offset 0 357 Decorate 712 Binding 3 358 Decorate 712 DescriptorSet 0 359 Decorate 1009(id) BuiltIn GlobalInvocationId 360 4: TypeVoid 361 5: TypeFunction 4 362 8: TypeFloat 32 363 11: TypeInt 32 0 364 14: 11(int) Constant 32 365 15: 11(int) Constant 6 366 16: 11(int) Constant 0 367 13: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 14 15 16 368 17: 11(int) Constant 3 369 10: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 14 17 16 370 18: TypeVector 8(float) 3 371 19: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 372 20: TypePointer Function 18(fvec3) 373 21: 11(int) Constant 7 374 22: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 19 21 16 375 23: TypePointer Function 8(float) 376 24: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 377 25: TypeFunction 18(fvec3) 20(ptr) 20(ptr) 23(ptr) 378 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 19 19 19 10 379 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 35 380 36: 11(int) Constant 75 381 38: 11(int) Constant 1 382 39: 11(int) Constant 4 383 40: 11(int) Constant 5 384 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 38 39 34 40 385 33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 32 26 34 36 16 37 32 17 36 386 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 42 19 34 36 16 33 39 38 387 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 388 49: 11(int) Constant 2 389 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 48 19 34 36 16 33 39 49 390 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 52 10 34 36 16 33 39 17 391 54: TypeVector 11(int) 3 392 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 393 56: TypePointer Function 54(ivec3) 394 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 55 21 16 395 58: TypeFunction 4 56(ptr) 396 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 55 397 65: 11(int) Constant 82 398 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 63 59 34 65 16 37 63 17 65 399 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 67 55 34 65 16 64 39 38 400 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 33 401 76: 11(int) Constant 76 402 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 75 19 34 76 16 72 39 403 85: 11(int) Constant 77 404 87: TypeVector 8(float) 4 405 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 39 406 89: TypeInt 32 1 407 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 90 14 39 16 408 92: TypeVector 89(int) 2 409 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 91 49 410 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) 411 97: 11(int) Constant 41 412 98: 11(int) Constant 14 413 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 414 101: 11(int) Constant 42 415 102: 11(int) Constant 20 416 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 100 10 34 101 102 16 16 17 417 105: 11(int) Constant 43 418 106: 11(int) Constant 23 419 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 104 10 34 105 106 16 16 17 420 109: 11(int) Constant 44 421 110: 11(int) Constant 15 422 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 108 10 34 109 110 16 16 17 423 113: 11(int) Constant 45 424 114: 11(int) Constant 17 425 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 112 10 34 113 114 16 16 17 426 117: 11(int) Constant 46 427 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 116 10 34 117 114 16 16 17 428 120: 11(int) Constant 47 429 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 119 10 34 120 114 16 16 17 430 123: 11(int) Constant 48 431 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 122 10 34 123 102 16 16 17 432 126: 11(int) Constant 49 433 127: 11(int) Constant 18 434 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 125 88 34 126 127 16 16 17 435 130: 11(int) Constant 50 436 131: 11(int) Constant 16 437 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 129 88 34 130 131 16 16 17 438 134: 11(int) Constant 51 439 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 133 93 34 134 102 16 16 17 440 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 441 137(ubo): TypeStruct 94(UBO) 442 140: 11(int) Constant 56 443 141: 11(int) Constant 12 444 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 139 135 34 140 141 16 16 17 445 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 143 38 34 85 16 37 143 16 17 138 446 144: TypePointer Uniform 137(ubo) 447 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 142 49 16 448 146: 144(ptr) Variable Uniform 449 149: 11(int) Constant 8 450 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 148 142 34 85 16 37 148 146 149 451 150: 89(int) Constant 0 452 151: 89(int) Constant 2 453 152: TypePointer Uniform 8(float) 454 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 455 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 64 456 168: TypePointer Function 11(int) 457 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 458 173: 11(int) Constant 83 459 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 172 13 34 173 16 167 39 460 179: 89(int) Constant 10 461 180: TypePointer Uniform 89(int) 462 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 91 49 16 463 191: 11(int) Constant 84 464 198: TypeBool 465 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 199 14 49 16 466 206: 11(int) Constant 85 467 208(Particle): TypeStruct 87(fvec4) 87(fvec4) 87(fvec4) 87(fvec4) 8(float) 468 211: 11(int) Constant 27 469 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 210 88 34 211 141 16 16 17 470 214: 11(int) Constant 28 471 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 213 88 34 214 141 16 16 17 472 217: 11(int) Constant 29 473 218: 11(int) Constant 11 474 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 216 88 34 217 218 16 16 17 475 221: 11(int) Constant 30 476 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 220 88 34 221 110 16 16 17 477 224: 11(int) Constant 31 478 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 223 10 34 224 98 16 16 17 479 227: 11(int) Constant 88 480 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 226 38 34 227 16 37 226 16 17 209 212 215 219 222 481 228: TypeRuntimeArray 208(Particle) 482 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 225 16 483 230(particleIn): TypeStruct 228 484 233: 11(int) Constant 35 485 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 232 229 34 233 214 16 16 17 486 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 235 38 34 227 16 37 235 16 17 231 487 236: TypePointer Uniform 230(particleIn) 488 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 234 49 16 489 238(particleIn): 236(ptr) Variable Uniform 490 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 235 234 34 227 16 37 235 238(particleIn) 149 491 243: 89(int) Constant 4 492 246: 8(float) Constant 1065353216 493 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 494 251: TypeRuntimeArray 208(Particle) 495 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 225 16 496253(particleOut): TypeStruct 251 497 255: 11(int) Constant 37 498 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 232 252 34 255 221 16 16 17 499 258: 11(int) Constant 89 500 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 38 34 258 16 37 257 16 17 254 501 259: TypePointer Uniform 253(particleOut) 502 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 256 49 16 503261(particleOut): 259(ptr) Variable Uniform 504 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 257 256 34 258 16 37 257 261(particleOut) 149 505 267: TypePointer Uniform 87(fvec4) 506 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 49 16 507 274: 11(int) Constant 90 508 275: 89(int) Constant 1 509 276: 8(float) Constant 0 510 277: 87(fvec4) ConstantComposite 276 276 276 276 511 280: 11(int) Constant 91 512 285: 11(int) Constant 95 513 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 284 19 34 285 16 167 39 514 289: 89(int) Constant 9 515 298: 11(int) Constant 97 516 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 210 19 34 298 16 167 39 517 307: 11(int) Constant 98 518 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 19 34 307 16 167 39 519 316: 11(int) Constant 102 520 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 521 325: 11(int) Constant 103 522 342: 11(int) Constant 106 523 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 524 355: 11(int) Constant 107 525 372: 11(int) Constant 110 526 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 527 385: 11(int) Constant 111 528 390: 89(int) Constant 5 529 406: 11(int) Constant 114 530 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 531 415: 11(int) Constant 115 532 435: 11(int) Constant 118 533 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 534 452: 11(int) Constant 119 535 458: 89(int) Constant 6 536 474: 11(int) Constant 122 537 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 538 487: 11(int) Constant 123 539 508: 11(int) Constant 126 540 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 541 529: 11(int) Constant 127 542 550: 11(int) Constant 130 543 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 544 567: 11(int) Constant 131 545 585: 89(int) Constant 3 546 589: 11(int) Constant 134 547 599: 11(int) Constant 137 548 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 598 19 34 599 16 167 39 549 609: 11(int) Constant 138 550 616: 8(float) Constant 1056964608 551 633: 11(int) Constant 139 552 648: 11(int) Constant 142 553 646: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 647 19 34 648 16 167 39 554 655: 89(int) Constant 8 555 662: 11(int) Constant 143 556 664: 89(int) Constant 7 557 667: 8(float) Constant 1008981770 558 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 559 676: 11(int) Constant 145 560 695: 11(int) Constant 147 561697(PushConstants): TypeStruct 11(int) 562 700: 11(int) Constant 67 563 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 699 13 34 700 106 16 16 17 564 703: 11(int) Constant 151 565 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 702 38 34 703 16 37 702 16 17 698 566 704($Global): TypeStruct 697(PushConstants) 567 707: 11(int) Constant 71 568 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 706 701 34 707 110 16 16 17 569 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 709 38 34 703 16 37 709 16 17 705 570 710: TypePointer Uniform 704($Global) 571 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 708 49 16 572 712: 710(ptr) Variable Uniform 573 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 148 708 34 703 16 37 148 712 149 574 714: TypePointer Uniform 11(int) 575 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 576 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 167 577 726: 11(int) Constant 152 578 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 220 19 34 726 16 723 39 579 730: 18(fvec3) ConstantComposite 276 276 276 580 734: 11(int) Constant 153 581 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 733 19 34 734 16 723 39 582 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 739 19 34 734 16 723 39 583 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 743 19 34 734 16 723 39 584 747: 11(int) Constant 154 585 752: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 723 586 756: 11(int) Constant 155 587 761: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 752 588 765: 11(int) Constant 156 589 774: 11(int) Constant 157 590 787: 11(int) Constant 158 591 799: 11(int) Constant 159 592 811: 11(int) Constant 161 593 820: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 752 594 824: 11(int) Constant 162 595 836: 11(int) Constant 163 596 849: 11(int) Constant 164 597 858: 11(int) Constant 165 598 870: 11(int) Constant 168 599 879: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 723 600 883: 11(int) Constant 169 601 888: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 879 602 892: 11(int) Constant 170 603 904: 11(int) Constant 171 604 917: 11(int) Constant 172 605 926: 11(int) Constant 173 606 938: 11(int) Constant 175 607 947: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 879 608 951: 11(int) Constant 176 609 960: 11(int) Constant 177 610 973: 11(int) Constant 178 611 985: 11(int) Constant 179 612 997: 11(int) Constant 182 613 1008: TypePointer Input 54(ivec3) 614 1009(id): 1008(ptr) Variable Input 615 6(main): 4 Function None 5 616 7: Label 617 1007(id): 56(ptr) Variable Function 618 1011(param): 56(ptr) Variable Function 619 1010: 54(ivec3) Load 1009(id) 620 Store 1007(id) 1010 621 1012: 54(ivec3) Load 1007(id) 622 Store 1011(param) 1012 623 1013: 4 FunctionCall 61(@main(vu3;) 1011(param) 624 Return 625 FunctionEnd 62630(springForce(vf3;vf3;f1;): 18(fvec3) Function None 25 627 27(p0): 20(ptr) FunctionParameter 628 28(p1): 20(ptr) FunctionParameter 629 29(restDist): 23(ptr) FunctionParameter 630 31: Label 631 73(dist): 20(ptr) Variable Function 632 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 33 633 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 36 36 16 16 634 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 41 27(p0) 44 635 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 47 28(p1) 44 636 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 29(restDist) 44 637 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 33 30(springForce(vf3;vf3;f1;) 638 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 72 639 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 76 76 16 16 640 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 74 73(dist) 44 641 80: 18(fvec3) Load 27(p0) 642 81: 18(fvec3) Load 28(p1) 643 82: 18(fvec3) FSub 80 81 644 Store 73(dist) 82 645 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 85 85 16 16 646 83: 18(fvec3) Load 73(dist) 647 86: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 83 648 154: 152(ptr) AccessChain 146 150 151 649 155: 8(float) Load 154 650 156: 18(fvec3) VectorTimesScalar 86 155 651 157: 18(fvec3) Load 73(dist) 652 158: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 157 653 159: 8(float) Load 29(restDist) 654 160: 8(float) FSub 158 159 655 161: 18(fvec3) VectorTimesScalar 156 160 656 ReturnValue 161 657 FunctionEnd 658 61(@main(vu3;): 4 Function None 58 659 60(id): 56(ptr) FunctionParameter 660 62: Label 661 170(index): 168(ptr) Variable Function 662 282(force): 20(ptr) Variable Function 663 296(pos): 20(ptr) Variable Function 664 305(vel): 20(ptr) Variable Function 665 327(param): 20(ptr) Variable Function 666 331(param): 20(ptr) Variable Function 667 333(param): 23(ptr) Variable Function 668 357(param): 20(ptr) Variable Function 669 361(param): 20(ptr) Variable Function 670 363(param): 23(ptr) Variable Function 671 391(param): 20(ptr) Variable Function 672 395(param): 20(ptr) Variable Function 673 397(param): 23(ptr) Variable Function 674 420(param): 20(ptr) Variable Function 675 424(param): 20(ptr) Variable Function 676 426(param): 23(ptr) Variable Function 677 459(param): 20(ptr) Variable Function 678 463(param): 20(ptr) Variable Function 679 465(param): 23(ptr) Variable Function 680 493(param): 20(ptr) Variable Function 681 497(param): 20(ptr) Variable Function 682 499(param): 23(ptr) Variable Function 683 535(param): 20(ptr) Variable Function 684 539(param): 20(ptr) Variable Function 685 541(param): 23(ptr) Variable Function 686 573(param): 20(ptr) Variable Function 687 577(param): 20(ptr) Variable Function 688 579(param): 23(ptr) Variable Function 689 596(f): 20(ptr) Variable Function 690 645(sphereDist): 20(ptr) Variable Function 691 724(normal): 20(ptr) Variable Function 692 731(a): 20(ptr) Variable Function 693 737(b): 20(ptr) Variable Function 694 741(c): 20(ptr) Variable Function 695 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 696 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16 697 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 66 60(id) 44 698 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) 699 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 700 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 173 173 16 16 701 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 171 170(index) 44 702 177: 168(ptr) AccessChain 60(id) 38 703 178: 11(int) Load 177 704 182: 180(ptr) AccessChain 146 150 179 16 705 183: 89(int) Load 182 706 184: 11(int) Bitcast 183 707 185: 11(int) IMul 178 184 708 186: 168(ptr) AccessChain 60(id) 16 709 187: 11(int) Load 186 710 188: 11(int) IAdd 185 187 711 Store 170(index) 188 712 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 191 191 16 16 713 189: 11(int) Load 170(index) 714 192: 180(ptr) AccessChain 146 150 179 16 715 193: 89(int) Load 192 716 194: 180(ptr) AccessChain 146 150 179 38 717 195: 89(int) Load 194 718 196: 89(int) IMul 193 195 719 197: 11(int) Bitcast 196 720 201: 198(bool) UGreaterThan 189 197 721 SelectionMerge 203 None 722 BranchConditional 201 202 203 723 202: Label 724 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 725 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 206 206 16 16 726 Return 727 203: Label 728 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 729 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 227 227 16 16 730 240: 11(int) Load 170(index) 731 244: 152(ptr) AccessChain 238(particleIn) 150 240 243 732 245: 8(float) Load 244 733 247: 198(bool) FOrdEqual 245 246 734 SelectionMerge 249 None 735 BranchConditional 247 248 249 736 248: Label 737 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 250 738 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 258 258 16 16 739 263: 11(int) Load 170(index) 740 266: 11(int) Load 170(index) 741 269: 267(ptr) AccessChain 261(particleOut) 150 266 150 742 270: 87(fvec4) Load 269 743 271: 267(ptr) AccessChain 261(particleOut) 150 263 150 744 Store 271 270 745 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 274 274 16 16 746 272: 11(int) Load 170(index) 747 278: 267(ptr) AccessChain 261(particleOut) 150 272 275 748 Store 278 277 749 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 280 280 16 16 750 Return 751 249: Label 752 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 753 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 285 285 16 16 754 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 283 282(force) 44 755 290: 267(ptr) AccessChain 146 150 289 756 291: 87(fvec4) Load 290 757 292: 18(fvec3) VectorShuffle 291 291 0 1 2 758 293: 152(ptr) AccessChain 146 150 275 759 294: 8(float) Load 293 760 295: 18(fvec3) VectorTimesScalar 292 294 761 Store 282(force) 295 762 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 298 298 16 16 763 299: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 297 296(pos) 44 764 301: 11(int) Load 170(index) 765 302: 267(ptr) AccessChain 238(particleIn) 150 301 150 766 303: 87(fvec4) Load 302 767 304: 18(fvec3) VectorShuffle 303 303 0 1 2 768 Store 296(pos) 304 769 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 307 307 16 16 770 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 306 305(vel) 44 771 310: 11(int) Load 170(index) 772 311: 267(ptr) AccessChain 238(particleIn) 150 310 275 773 312: 87(fvec4) Load 311 774 313: 18(fvec3) VectorShuffle 312 312 0 1 2 775 Store 305(vel) 313 776 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 316 316 16 16 777 314: 168(ptr) AccessChain 60(id) 16 778 317: 11(int) Load 314 779 318: 198(bool) UGreaterThan 317 16 780 SelectionMerge 320 None 781 BranchConditional 318 319 320 782 319: Label 783 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 321 784 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 325 325 16 16 785 322: 11(int) Load 170(index) 786 326: 11(int) ISub 322 38 787 328: 267(ptr) AccessChain 238(particleIn) 150 326 150 788 329: 87(fvec4) Load 328 789 330: 18(fvec3) VectorShuffle 329 329 0 1 2 790 Store 327(param) 330 791 332: 18(fvec3) Load 296(pos) 792 Store 331(param) 332 793 334: 152(ptr) AccessChain 146 150 243 794 335: 8(float) Load 334 795 Store 333(param) 335 796 336: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 327(param) 331(param) 333(param) 797 337: 18(fvec3) Load 282(force) 798 338: 18(fvec3) FAdd 337 336 799 Store 282(force) 338 800 Branch 320 801 320: Label 802 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 803 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 342 342 16 16 804 339: 168(ptr) AccessChain 60(id) 16 805 343: 11(int) Load 339 806 344: 180(ptr) AccessChain 146 150 179 16 807 345: 89(int) Load 344 808 346: 89(int) ISub 345 275 809 347: 11(int) Bitcast 346 810 348: 198(bool) ULessThan 343 347 811 SelectionMerge 350 None 812 BranchConditional 348 349 350 813 349: Label 814 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 351 815 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 355 355 16 16 816 352: 11(int) Load 170(index) 817 356: 11(int) IAdd 352 38 818 358: 267(ptr) AccessChain 238(particleIn) 150 356 150 819 359: 87(fvec4) Load 358 820 360: 18(fvec3) VectorShuffle 359 359 0 1 2 821 Store 357(param) 360 822 362: 18(fvec3) Load 296(pos) 823 Store 361(param) 362 824 364: 152(ptr) AccessChain 146 150 243 825 365: 8(float) Load 364 826 Store 363(param) 365 827 366: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 357(param) 361(param) 363(param) 828 367: 18(fvec3) Load 282(force) 829 368: 18(fvec3) FAdd 367 366 830 Store 282(force) 368 831 Branch 350 832 350: Label 833 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 834 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 372 372 16 16 835 369: 168(ptr) AccessChain 60(id) 38 836 373: 11(int) Load 369 837 374: 180(ptr) AccessChain 146 150 179 38 838 375: 89(int) Load 374 839 376: 89(int) ISub 375 275 840 377: 11(int) Bitcast 376 841 378: 198(bool) ULessThan 373 377 842 SelectionMerge 380 None 843 BranchConditional 378 379 380 844 379: Label 845 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 381 846 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 385 385 16 16 847 382: 11(int) Load 170(index) 848 386: 180(ptr) AccessChain 146 150 179 16 849 387: 89(int) Load 386 850 388: 11(int) Bitcast 387 851 389: 11(int) IAdd 382 388 852 392: 267(ptr) AccessChain 238(particleIn) 150 389 150 853 393: 87(fvec4) Load 392 854 394: 18(fvec3) VectorShuffle 393 393 0 1 2 855 Store 391(param) 394 856 396: 18(fvec3) Load 296(pos) 857 Store 395(param) 396 858 398: 152(ptr) AccessChain 146 150 390 859 399: 8(float) Load 398 860 Store 397(param) 399 861 400: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 391(param) 395(param) 397(param) 862 401: 18(fvec3) Load 282(force) 863 402: 18(fvec3) FAdd 401 400 864 Store 282(force) 402 865 Branch 380 866 380: Label 867 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 868 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 406 406 16 16 869 403: 168(ptr) AccessChain 60(id) 38 870 407: 11(int) Load 403 871 408: 198(bool) UGreaterThan 407 16 872 SelectionMerge 410 None 873 BranchConditional 408 409 410 874 409: Label 875 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 411 876 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 415 415 16 16 877 412: 11(int) Load 170(index) 878 416: 180(ptr) AccessChain 146 150 179 16 879 417: 89(int) Load 416 880 418: 11(int) Bitcast 417 881 419: 11(int) ISub 412 418 882 421: 267(ptr) AccessChain 238(particleIn) 150 419 150 883 422: 87(fvec4) Load 421 884 423: 18(fvec3) VectorShuffle 422 422 0 1 2 885 Store 420(param) 423 886 425: 18(fvec3) Load 296(pos) 887 Store 424(param) 425 888 427: 152(ptr) AccessChain 146 150 390 889 428: 8(float) Load 427 890 Store 426(param) 428 891 429: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 420(param) 424(param) 426(param) 892 430: 18(fvec3) Load 282(force) 893 431: 18(fvec3) FAdd 430 429 894 Store 282(force) 431 895 Branch 410 896 410: Label 897 433: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 898 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 435 435 16 16 899 432: 168(ptr) AccessChain 60(id) 16 900 436: 11(int) Load 432 901 437: 198(bool) UGreaterThan 436 16 902 438: 168(ptr) AccessChain 60(id) 38 903 439: 11(int) Load 438 904 440: 180(ptr) AccessChain 146 150 179 38 905 441: 89(int) Load 440 906 442: 89(int) ISub 441 275 907 443: 11(int) Bitcast 442 908 444: 198(bool) ULessThan 439 443 909 445: 198(bool) LogicalAnd 437 444 910 SelectionMerge 447 None 911 BranchConditional 445 446 447 912 446: Label 913 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 448 914 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 452 452 16 16 915 449: 11(int) Load 170(index) 916 453: 180(ptr) AccessChain 146 150 179 16 917 454: 89(int) Load 453 918 455: 11(int) Bitcast 454 919 456: 11(int) IAdd 449 455 920 457: 11(int) ISub 456 38 921 460: 267(ptr) AccessChain 238(particleIn) 150 457 150 922 461: 87(fvec4) Load 460 923 462: 18(fvec3) VectorShuffle 461 461 0 1 2 924 Store 459(param) 462 925 464: 18(fvec3) Load 296(pos) 926 Store 463(param) 464 927 466: 152(ptr) AccessChain 146 150 458 928 467: 8(float) Load 466 929 Store 465(param) 467 930 468: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 459(param) 463(param) 465(param) 931 469: 18(fvec3) Load 282(force) 932 470: 18(fvec3) FAdd 469 468 933 Store 282(force) 470 934 Branch 447 935 447: Label 936 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 937 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 474 474 16 16 938 471: 168(ptr) AccessChain 60(id) 16 939 475: 11(int) Load 471 940 476: 198(bool) UGreaterThan 475 16 941 477: 168(ptr) AccessChain 60(id) 38 942 478: 11(int) Load 477 943 479: 198(bool) UGreaterThan 478 16 944 480: 198(bool) LogicalAnd 476 479 945 SelectionMerge 482 None 946 BranchConditional 480 481 482 947 481: Label 948 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 483 949 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 487 487 16 16 950 484: 11(int) Load 170(index) 951 488: 180(ptr) AccessChain 146 150 179 16 952 489: 89(int) Load 488 953 490: 11(int) Bitcast 489 954 491: 11(int) ISub 484 490 955 492: 11(int) ISub 491 38 956 494: 267(ptr) AccessChain 238(particleIn) 150 492 150 957 495: 87(fvec4) Load 494 958 496: 18(fvec3) VectorShuffle 495 495 0 1 2 959 Store 493(param) 496 960 498: 18(fvec3) Load 296(pos) 961 Store 497(param) 498 962 500: 152(ptr) AccessChain 146 150 458 963 501: 8(float) Load 500 964 Store 499(param) 501 965 502: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 493(param) 497(param) 499(param) 966 503: 18(fvec3) Load 282(force) 967 504: 18(fvec3) FAdd 503 502 968 Store 282(force) 504 969 Branch 482 970 482: Label 971 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 972 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 508 508 16 16 973 505: 168(ptr) AccessChain 60(id) 16 974 509: 11(int) Load 505 975 510: 180(ptr) AccessChain 146 150 179 16 976 511: 89(int) Load 510 977 512: 89(int) ISub 511 275 978 513: 11(int) Bitcast 512 979 514: 198(bool) ULessThan 509 513 980 515: 168(ptr) AccessChain 60(id) 38 981 516: 11(int) Load 515 982 517: 180(ptr) AccessChain 146 150 179 38 983 518: 89(int) Load 517 984 519: 89(int) ISub 518 275 985 520: 11(int) Bitcast 519 986 521: 198(bool) ULessThan 516 520 987 522: 198(bool) LogicalAnd 514 521 988 SelectionMerge 524 None 989 BranchConditional 522 523 524 990 523: Label 991 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 525 992 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 529 529 16 16 993 526: 11(int) Load 170(index) 994 530: 180(ptr) AccessChain 146 150 179 16 995 531: 89(int) Load 530 996 532: 11(int) Bitcast 531 997 533: 11(int) IAdd 526 532 998 534: 11(int) IAdd 533 38 999 536: 267(ptr) AccessChain 238(particleIn) 150 534 150 1000 537: 87(fvec4) Load 536 1001 538: 18(fvec3) VectorShuffle 537 537 0 1 2 1002 Store 535(param) 538 1003 540: 18(fvec3) Load 296(pos) 1004 Store 539(param) 540 1005 542: 152(ptr) AccessChain 146 150 458 1006 543: 8(float) Load 542 1007 Store 541(param) 543 1008 544: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 535(param) 539(param) 541(param) 1009 545: 18(fvec3) Load 282(force) 1010 546: 18(fvec3) FAdd 545 544 1011 Store 282(force) 546 1012 Branch 524 1013 524: Label 1014 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 1015 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 550 550 16 16 1016 547: 168(ptr) AccessChain 60(id) 16 1017 551: 11(int) Load 547 1018 552: 180(ptr) AccessChain 146 150 179 16 1019 553: 89(int) Load 552 1020 554: 89(int) ISub 553 275 1021 555: 11(int) Bitcast 554 1022 556: 198(bool) ULessThan 551 555 1023 557: 168(ptr) AccessChain 60(id) 38 1024 558: 11(int) Load 557 1025 559: 198(bool) UGreaterThan 558 16 1026 560: 198(bool) LogicalAnd 556 559 1027 SelectionMerge 562 None 1028 BranchConditional 560 561 562 1029 561: Label 1030 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 563 1031 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 567 567 16 16 1032 564: 11(int) Load 170(index) 1033 568: 180(ptr) AccessChain 146 150 179 16 1034 569: 89(int) Load 568 1035 570: 11(int) Bitcast 569 1036 571: 11(int) ISub 564 570 1037 572: 11(int) IAdd 571 38 1038 574: 267(ptr) AccessChain 238(particleIn) 150 572 150 1039 575: 87(fvec4) Load 574 1040 576: 18(fvec3) VectorShuffle 575 575 0 1 2 1041 Store 573(param) 576 1042 578: 18(fvec3) Load 296(pos) 1043 Store 577(param) 578 1044 580: 152(ptr) AccessChain 146 150 458 1045 581: 8(float) Load 580 1046 Store 579(param) 581 1047 582: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 573(param) 577(param) 579(param) 1048 583: 18(fvec3) Load 282(force) 1049 584: 18(fvec3) FAdd 583 582 1050 Store 282(force) 584 1051 Branch 562 1052 562: Label 1053 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 1054 588: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 589 589 16 16 1055 586: 152(ptr) AccessChain 146 150 585 1056 590: 8(float) Load 586 1057 591: 8(float) FNegate 590 1058 592: 18(fvec3) Load 305(vel) 1059 593: 18(fvec3) VectorTimesScalar 592 591 1060 594: 18(fvec3) Load 282(force) 1061 595: 18(fvec3) FAdd 594 593 1062 Store 282(force) 595 1063 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 599 599 16 16 1064 600: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 597 596(f) 44 1065 602: 18(fvec3) Load 282(force) 1066 603: 152(ptr) AccessChain 146 150 275 1067 604: 8(float) Load 603 1068 605: 8(float) FDiv 246 604 1069 606: 18(fvec3) VectorTimesScalar 602 605 1070 Store 596(f) 606 1071 608: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 609 609 16 16 1072 607: 11(int) Load 170(index) 1073 610: 18(fvec3) Load 296(pos) 1074 611: 18(fvec3) Load 305(vel) 1075 612: 152(ptr) AccessChain 146 150 150 1076 613: 8(float) Load 612 1077 614: 18(fvec3) VectorTimesScalar 611 613 1078 615: 18(fvec3) FAdd 610 614 1079 617: 18(fvec3) Load 596(f) 1080 618: 18(fvec3) VectorTimesScalar 617 616 1081 619: 152(ptr) AccessChain 146 150 150 1082 620: 8(float) Load 619 1083 621: 18(fvec3) VectorTimesScalar 618 620 1084 622: 152(ptr) AccessChain 146 150 150 1085 623: 8(float) Load 622 1086 624: 18(fvec3) VectorTimesScalar 621 623 1087 625: 18(fvec3) FAdd 615 624 1088 626: 8(float) CompositeExtract 625 0 1089 627: 8(float) CompositeExtract 625 1 1090 628: 8(float) CompositeExtract 625 2 1091 629: 87(fvec4) CompositeConstruct 626 627 628 246 1092 630: 267(ptr) AccessChain 261(particleOut) 150 607 150 1093 Store 630 629 1094 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 633 633 16 16 1095 631: 11(int) Load 170(index) 1096 634: 18(fvec3) Load 305(vel) 1097 635: 18(fvec3) Load 596(f) 1098 636: 152(ptr) AccessChain 146 150 150 1099 637: 8(float) Load 636 1100 638: 18(fvec3) VectorTimesScalar 635 637 1101 639: 18(fvec3) FAdd 634 638 1102 640: 8(float) CompositeExtract 639 0 1103 641: 8(float) CompositeExtract 639 1 1104 642: 8(float) CompositeExtract 639 2 1105 643: 87(fvec4) CompositeConstruct 640 641 642 276 1106 644: 267(ptr) AccessChain 261(particleOut) 150 631 275 1107 Store 644 643 1108 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 648 648 16 16 1109 649: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 646 645(sphereDist) 44 1110 651: 11(int) Load 170(index) 1111 652: 267(ptr) AccessChain 261(particleOut) 150 651 150 1112 653: 87(fvec4) Load 652 1113 654: 18(fvec3) VectorShuffle 653 653 0 1 2 1114 656: 267(ptr) AccessChain 146 150 655 1115 657: 87(fvec4) Load 656 1116 658: 18(fvec3) VectorShuffle 657 657 0 1 2 1117 659: 18(fvec3) FSub 654 658 1118 Store 645(sphereDist) 659 1119 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 662 662 16 16 1120 660: 18(fvec3) Load 645(sphereDist) 1121 663: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 660 1122 665: 152(ptr) AccessChain 146 150 664 1123 666: 8(float) Load 665 1124 668: 8(float) FAdd 666 667 1125 669: 198(bool) FOrdLessThan 663 668 1126 SelectionMerge 671 None 1127 BranchConditional 669 670 671 1128 670: Label 1129 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 672 1130 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 676 676 16 16 1131 673: 11(int) Load 170(index) 1132 677: 267(ptr) AccessChain 146 150 655 1133 678: 87(fvec4) Load 677 1134 679: 18(fvec3) VectorShuffle 678 678 0 1 2 1135 680: 18(fvec3) Load 645(sphereDist) 1136 681: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 680 1137 682: 152(ptr) AccessChain 146 150 664 1138 683: 8(float) Load 682 1139 684: 8(float) FAdd 683 667 1140 685: 18(fvec3) VectorTimesScalar 681 684 1141 686: 18(fvec3) FAdd 679 685 1142 687: 152(ptr) AccessChain 261(particleOut) 150 673 150 16 1143 688: 8(float) CompositeExtract 686 0 1144 Store 687 688 1145 689: 152(ptr) AccessChain 261(particleOut) 150 673 150 38 1146 690: 8(float) CompositeExtract 686 1 1147 Store 689 690 1148 691: 152(ptr) AccessChain 261(particleOut) 150 673 150 49 1149 692: 8(float) CompositeExtract 686 2 1150 Store 691 692 1151 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 695 695 16 16 1152 693: 11(int) Load 170(index) 1153 696: 267(ptr) AccessChain 261(particleOut) 150 693 275 1154 Store 696 277 1155 Branch 671 1156 671: Label 1157 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 167 1158 718: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 703 703 16 16 1159 716: 714(ptr) AccessChain 712 150 150 1160 719: 11(int) Load 716 1161 720: 198(bool) IEqual 719 38 1162 SelectionMerge 722 None 1163 BranchConditional 720 721 722 1164 721: Label 1165 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 723 1166 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 726 726 16 16 1167 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 725 724(normal) 44 1168 Store 724(normal) 730 1169 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 734 734 16 16 1170 735: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 732 731(a) 44 1171 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 738 737(b) 44 1172 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 742 741(c) 44 1173 746: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 747 747 16 16 1174 745: 168(ptr) AccessChain 60(id) 38 1175 748: 11(int) Load 745 1176 749: 198(bool) UGreaterThan 748 16 1177 SelectionMerge 751 None 1178 BranchConditional 749 750 751 1179 750: Label 1180 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 752 1181 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 756 756 16 16 1182 753: 168(ptr) AccessChain 60(id) 16 1183 757: 11(int) Load 753 1184 758: 198(bool) UGreaterThan 757 16 1185 SelectionMerge 760 None 1186 BranchConditional 758 759 760 1187 759: Label 1188 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 761 1189 764: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 765 765 16 16 1190 762: 11(int) Load 170(index) 1191 766: 11(int) ISub 762 38 1192 767: 267(ptr) AccessChain 238(particleIn) 150 766 150 1193 768: 87(fvec4) Load 767 1194 769: 18(fvec3) VectorShuffle 768 768 0 1 2 1195 770: 18(fvec3) Load 296(pos) 1196 771: 18(fvec3) FSub 769 770 1197 Store 731(a) 771 1198 773: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 774 774 16 16 1199 772: 11(int) Load 170(index) 1200 775: 180(ptr) AccessChain 146 150 179 16 1201 776: 89(int) Load 775 1202 777: 11(int) Bitcast 776 1203 778: 11(int) ISub 772 777 1204 779: 11(int) ISub 778 38 1205 780: 267(ptr) AccessChain 238(particleIn) 150 779 150 1206 781: 87(fvec4) Load 780 1207 782: 18(fvec3) VectorShuffle 781 781 0 1 2 1208 783: 18(fvec3) Load 296(pos) 1209 784: 18(fvec3) FSub 782 783 1210 Store 737(b) 784 1211 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 787 787 16 16 1212 785: 11(int) Load 170(index) 1213 788: 180(ptr) AccessChain 146 150 179 16 1214 789: 89(int) Load 788 1215 790: 11(int) Bitcast 789 1216 791: 11(int) ISub 785 790 1217 792: 267(ptr) AccessChain 238(particleIn) 150 791 150 1218 793: 87(fvec4) Load 792 1219 794: 18(fvec3) VectorShuffle 793 793 0 1 2 1220 795: 18(fvec3) Load 296(pos) 1221 796: 18(fvec3) FSub 794 795 1222 Store 741(c) 796 1223 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 799 799 16 16 1224 797: 18(fvec3) Load 731(a) 1225 800: 18(fvec3) Load 737(b) 1226 801: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 797 800 1227 802: 18(fvec3) Load 737(b) 1228 803: 18(fvec3) Load 741(c) 1229 804: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 802 803 1230 805: 18(fvec3) FAdd 801 804 1231 806: 18(fvec3) Load 724(normal) 1232 807: 18(fvec3) FAdd 806 805 1233 Store 724(normal) 807 1234 Branch 760 1235 760: Label 1236 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 752 1237 810: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 811 811 16 16 1238 808: 168(ptr) AccessChain 60(id) 16 1239 812: 11(int) Load 808 1240 813: 180(ptr) AccessChain 146 150 179 16 1241 814: 89(int) Load 813 1242 815: 89(int) ISub 814 275 1243 816: 11(int) Bitcast 815 1244 817: 198(bool) ULessThan 812 816 1245 SelectionMerge 819 None 1246 BranchConditional 817 818 819 1247 818: Label 1248 822: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 820 1249 823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 824 824 16 16 1250 821: 11(int) Load 170(index) 1251 825: 180(ptr) AccessChain 146 150 179 16 1252 826: 89(int) Load 825 1253 827: 11(int) Bitcast 826 1254 828: 11(int) ISub 821 827 1255 829: 267(ptr) AccessChain 238(particleIn) 150 828 150 1256 830: 87(fvec4) Load 829 1257 831: 18(fvec3) VectorShuffle 830 830 0 1 2 1258 832: 18(fvec3) Load 296(pos) 1259 833: 18(fvec3) FSub 831 832 1260 Store 731(a) 833 1261 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 836 836 16 16 1262 834: 11(int) Load 170(index) 1263 837: 180(ptr) AccessChain 146 150 179 16 1264 838: 89(int) Load 837 1265 839: 11(int) Bitcast 838 1266 840: 11(int) ISub 834 839 1267 841: 11(int) IAdd 840 38 1268 842: 267(ptr) AccessChain 238(particleIn) 150 841 150 1269 843: 87(fvec4) Load 842 1270 844: 18(fvec3) VectorShuffle 843 843 0 1 2 1271 845: 18(fvec3) Load 296(pos) 1272 846: 18(fvec3) FSub 844 845 1273 Store 737(b) 846 1274 848: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 849 849 16 16 1275 847: 11(int) Load 170(index) 1276 850: 11(int) IAdd 847 38 1277 851: 267(ptr) AccessChain 238(particleIn) 150 850 150 1278 852: 87(fvec4) Load 851 1279 853: 18(fvec3) VectorShuffle 852 852 0 1 2 1280 854: 18(fvec3) Load 296(pos) 1281 855: 18(fvec3) FSub 853 854 1282 Store 741(c) 855 1283 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 858 858 16 16 1284 856: 18(fvec3) Load 731(a) 1285 859: 18(fvec3) Load 737(b) 1286 860: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 856 859 1287 861: 18(fvec3) Load 737(b) 1288 862: 18(fvec3) Load 741(c) 1289 863: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 861 862 1290 864: 18(fvec3) FAdd 860 863 1291 865: 18(fvec3) Load 724(normal) 1292 866: 18(fvec3) FAdd 865 864 1293 Store 724(normal) 866 1294 Branch 819 1295 819: Label 1296 Branch 751 1297 751: Label 1298 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 723 1299 869: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 870 870 16 16 1300 867: 168(ptr) AccessChain 60(id) 38 1301 871: 11(int) Load 867 1302 872: 180(ptr) AccessChain 146 150 179 38 1303 873: 89(int) Load 872 1304 874: 89(int) ISub 873 275 1305 875: 11(int) Bitcast 874 1306 876: 198(bool) ULessThan 871 875 1307 SelectionMerge 878 None 1308 BranchConditional 876 877 878 1309 877: Label 1310 881: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 879 1311 882: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 883 883 16 16 1312 880: 168(ptr) AccessChain 60(id) 16 1313 884: 11(int) Load 880 1314 885: 198(bool) UGreaterThan 884 16 1315 SelectionMerge 887 None 1316 BranchConditional 885 886 887 1317 886: Label 1318 890: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 888 1319 891: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 892 892 16 16 1320 889: 11(int) Load 170(index) 1321 893: 180(ptr) AccessChain 146 150 179 16 1322 894: 89(int) Load 893 1323 895: 11(int) Bitcast 894 1324 896: 11(int) IAdd 889 895 1325 897: 267(ptr) AccessChain 238(particleIn) 150 896 150 1326 898: 87(fvec4) Load 897 1327 899: 18(fvec3) VectorShuffle 898 898 0 1 2 1328 900: 18(fvec3) Load 296(pos) 1329 901: 18(fvec3) FSub 899 900 1330 Store 731(a) 901 1331 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 904 904 16 16 1332 902: 11(int) Load 170(index) 1333 905: 180(ptr) AccessChain 146 150 179 16 1334 906: 89(int) Load 905 1335 907: 11(int) Bitcast 906 1336 908: 11(int) IAdd 902 907 1337 909: 11(int) ISub 908 38 1338 910: 267(ptr) AccessChain 238(particleIn) 150 909 150 1339 911: 87(fvec4) Load 910 1340 912: 18(fvec3) VectorShuffle 911 911 0 1 2 1341 913: 18(fvec3) Load 296(pos) 1342 914: 18(fvec3) FSub 912 913 1343 Store 737(b) 914 1344 916: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 917 917 16 16 1345 915: 11(int) Load 170(index) 1346 918: 11(int) ISub 915 38 1347 919: 267(ptr) AccessChain 238(particleIn) 150 918 150 1348 920: 87(fvec4) Load 919 1349 921: 18(fvec3) VectorShuffle 920 920 0 1 2 1350 922: 18(fvec3) Load 296(pos) 1351 923: 18(fvec3) FSub 921 922 1352 Store 741(c) 923 1353 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 926 926 16 16 1354 924: 18(fvec3) Load 731(a) 1355 927: 18(fvec3) Load 737(b) 1356 928: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 924 927 1357 929: 18(fvec3) Load 737(b) 1358 930: 18(fvec3) Load 741(c) 1359 931: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 929 930 1360 932: 18(fvec3) FAdd 928 931 1361 933: 18(fvec3) Load 724(normal) 1362 934: 18(fvec3) FAdd 933 932 1363 Store 724(normal) 934 1364 Branch 887 1365 887: Label 1366 936: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 879 1367 937: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 938 938 16 16 1368 935: 168(ptr) AccessChain 60(id) 16 1369 939: 11(int) Load 935 1370 940: 180(ptr) AccessChain 146 150 179 16 1371 941: 89(int) Load 940 1372 942: 89(int) ISub 941 275 1373 943: 11(int) Bitcast 942 1374 944: 198(bool) ULessThan 939 943 1375 SelectionMerge 946 None 1376 BranchConditional 944 945 946 1377 945: Label 1378 949: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 947 1379 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 1380 948: 11(int) Load 170(index) 1381 952: 11(int) IAdd 948 38 1382 953: 267(ptr) AccessChain 238(particleIn) 150 952 150 1383 954: 87(fvec4) Load 953 1384 955: 18(fvec3) VectorShuffle 954 954 0 1 2 1385 956: 18(fvec3) Load 296(pos) 1386 957: 18(fvec3) FSub 955 956 1387 Store 731(a) 957 1388 959: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 960 960 16 16 1389 958: 11(int) Load 170(index) 1390 961: 180(ptr) AccessChain 146 150 179 16 1391 962: 89(int) Load 961 1392 963: 11(int) Bitcast 962 1393 964: 11(int) IAdd 958 963 1394 965: 11(int) IAdd 964 38 1395 966: 267(ptr) AccessChain 238(particleIn) 150 965 150 1396 967: 87(fvec4) Load 966 1397 968: 18(fvec3) VectorShuffle 967 967 0 1 2 1398 969: 18(fvec3) Load 296(pos) 1399 970: 18(fvec3) FSub 968 969 1400 Store 737(b) 970 1401 972: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 973 973 16 16 1402 971: 11(int) Load 170(index) 1403 974: 180(ptr) AccessChain 146 150 179 16 1404 975: 89(int) Load 974 1405 976: 11(int) Bitcast 975 1406 977: 11(int) IAdd 971 976 1407 978: 267(ptr) AccessChain 238(particleIn) 150 977 150 1408 979: 87(fvec4) Load 978 1409 980: 18(fvec3) VectorShuffle 979 979 0 1 2 1410 981: 18(fvec3) Load 296(pos) 1411 982: 18(fvec3) FSub 980 981 1412 Store 741(c) 982 1413 984: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 985 985 16 16 1414 983: 18(fvec3) Load 731(a) 1415 986: 18(fvec3) Load 737(b) 1416 987: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 983 986 1417 988: 18(fvec3) Load 737(b) 1418 989: 18(fvec3) Load 741(c) 1419 990: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 988 989 1420 991: 18(fvec3) FAdd 987 990 1421 992: 18(fvec3) Load 724(normal) 1422 993: 18(fvec3) FAdd 992 991 1423 Store 724(normal) 993 1424 Branch 946 1425 946: Label 1426 Branch 878 1427 878: Label 1428 995: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 723 1429 996: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 997 997 16 16 1430 994: 11(int) Load 170(index) 1431 998: 18(fvec3) Load 724(normal) 1432 999: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 998 1433 1000: 8(float) CompositeExtract 999 0 1434 1001: 8(float) CompositeExtract 999 1 1435 1002: 8(float) CompositeExtract 999 2 1436 1003: 87(fvec4) CompositeConstruct 1000 1001 1002 276 1437 1004: 267(ptr) AccessChain 261(particleOut) 150 994 585 1438 Store 1004 1003 1439 Branch 722 1440 722: Label 1441 1005: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 1442 1006: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 997 997 16 16 1443 Return 1444 FunctionEnd