yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
c5fd7d66
main
1hlsl.structcopy.comp 2Shader version: 500 3local_size = (128, 1, 1) 40:? Sequence 50:20 Function Definition: @main(u1; ( temp void) 60:20 Function Parameters: 70:20 'id' ( in uint) 80:? Sequence 90:21 move second child to first child ( temp structure{ temp uint a, temp uint b, temp uint c}) 100:21 direct index ( temp structure{ temp uint a, temp uint b, temp uint c}) 110:21 's' ( shared 128-element array of structure{ temp uint a, temp uint b, temp uint c}) 120:21 Constant: 130:21 0 (const int) 140:21 Constant: 150:21 1 (const uint) 160:21 2 (const uint) 170:21 3 (const uint) 180:22 Sequence 190:22 move second child to first child ( temp uint) 200:22 'count' ( temp uint) 210:22 count: direct index for structure ( temp uint) 220:22 direct index (layout( row_major std430) buffer structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data}) 230:22 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data}) 240:22 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data} @data}) 250:22 Constant: 260:22 0 (const uint) 270:22 Constant: 280:22 0 (const int) 290:22 Constant: 300:22 0 (const int) 310:23 Sequence 320:23 move second child to first child ( temp structure{ temp uint a, temp uint b, temp uint c}) 330:23 'ms' ( temp structure{ temp uint a, temp uint b, temp uint c}) 340:23 Test condition and select ( temp structure{ temp uint a, temp uint b, temp uint c}): no shortcircuit 350:23 Condition 360:23 Compare Greater Than ( temp bool) 370:23 'id' ( in uint) 380:23 'count' ( temp uint) 390:23 true case 400:23 indirect index ( temp structure{ temp uint a, temp uint b, temp uint c}) 410:23 's' ( shared 128-element array of structure{ temp uint a, temp uint b, temp uint c}) 420:23 subtract ( temp uint) 430:23 'id' ( in uint) 440:23 'count' ( temp uint) 450:23 false case 460:23 indirect index ( temp structure{ temp uint a, temp uint b, temp uint c}) 470:23 data: direct index for structure ( temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c}) 480:23 direct index (layout( row_major std430) buffer structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data}) 490:23 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data}) 500:23 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data} @data}) 510:23 Constant: 520:23 0 (const uint) 530:23 Constant: 540:23 0 (const int) 550:23 Constant: 560:23 1 (const int) 570:23 'id' ( in uint) 580:25 AtomicAdd ( temp uint) 590:25 a: direct index for structure ( temp uint) 600:25 direct index (layout( row_major std430) buffer structure{ temp uint a, temp uint b, temp uint c}) 610:25 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c}) 620:25 'o' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} @data}) 630:25 Constant: 640:25 0 (const uint) 650:25 Constant: 660:25 0 (const int) 670:25 Constant: 680:25 0 (const int) 690:25 a: direct index for structure ( temp uint) 700:25 'ms' ( temp structure{ temp uint a, temp uint b, temp uint c}) 710:25 Constant: 720:25 0 (const int) 730:26 AtomicAdd ( temp uint) 740:26 b: direct index for structure ( temp uint) 750:26 direct index (layout( row_major std430) buffer structure{ temp uint a, temp uint b, temp uint c}) 760:26 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c}) 770:26 'o' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} @data}) 780:26 Constant: 790:26 0 (const uint) 800:26 Constant: 810:26 0 (const int) 820:26 Constant: 830:26 1 (const int) 840:26 b: direct index for structure ( temp uint) 850:26 'ms' ( temp structure{ temp uint a, temp uint b, temp uint c}) 860:26 Constant: 870:26 1 (const int) 880:27 AtomicAdd ( temp uint) 890:27 c: direct index for structure ( temp uint) 900:27 direct index (layout( row_major std430) buffer structure{ temp uint a, temp uint b, temp uint c}) 910:27 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c}) 920:27 'o' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} @data}) 930:27 Constant: 940:27 0 (const uint) 950:27 Constant: 960:27 0 (const int) 970:27 Constant: 980:27 2 (const int) 990:27 c: direct index for structure ( temp uint) 1000:27 'ms' ( temp structure{ temp uint a, temp uint b, temp uint c}) 1010:27 Constant: 1020:27 2 (const int) 1030:20 Function Definition: main( ( temp void) 1040:20 Function Parameters: 1050:? Sequence 1060:20 move second child to first child ( temp uint) 1070:? 'id' ( temp uint) 1080:? 'id' ( in uint LocalInvocationIndex) 1090:20 Function Call: @main(u1; ( temp void) 1100:? 'id' ( temp uint) 1110:? Linker Objects 1120:? 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data} @data}) 1130:? 'o' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} @data}) 1140:? 's' ( shared 128-element array of structure{ temp uint a, temp uint b, temp uint c}) 1150:? 'deflt' ( const structure{ temp uint a, temp uint b, temp uint c}) 1160:? 1 (const uint) 1170:? 2 (const uint) 1180:? 3 (const uint) 1190:? 'id' ( in uint LocalInvocationIndex) 120 121 122Linked compute stage: 123 124 125Shader version: 500 126local_size = (128, 1, 1) 1270:? Sequence 1280:20 Function Definition: @main(u1; ( temp void) 1290:20 Function Parameters: 1300:20 'id' ( in uint) 1310:? Sequence 1320:21 move second child to first child ( temp structure{ temp uint a, temp uint b, temp uint c}) 1330:21 direct index ( temp structure{ temp uint a, temp uint b, temp uint c}) 1340:21 's' ( shared 128-element array of structure{ temp uint a, temp uint b, temp uint c}) 1350:21 Constant: 1360:21 0 (const int) 1370:21 Constant: 1380:21 1 (const uint) 1390:21 2 (const uint) 1400:21 3 (const uint) 1410:22 Sequence 1420:22 move second child to first child ( temp uint) 1430:22 'count' ( temp uint) 1440:22 count: direct index for structure ( temp uint) 1450:22 direct index (layout( row_major std430) buffer structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data}) 1460:22 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data}) 1470:22 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data} @data}) 1480:22 Constant: 1490:22 0 (const uint) 1500:22 Constant: 1510:22 0 (const int) 1520:22 Constant: 1530:22 0 (const int) 1540:23 Sequence 1550:23 move second child to first child ( temp structure{ temp uint a, temp uint b, temp uint c}) 1560:23 'ms' ( temp structure{ temp uint a, temp uint b, temp uint c}) 1570:23 Test condition and select ( temp structure{ temp uint a, temp uint b, temp uint c}): no shortcircuit 1580:23 Condition 1590:23 Compare Greater Than ( temp bool) 1600:23 'id' ( in uint) 1610:23 'count' ( temp uint) 1620:23 true case 1630:23 indirect index ( temp structure{ temp uint a, temp uint b, temp uint c}) 1640:23 's' ( shared 128-element array of structure{ temp uint a, temp uint b, temp uint c}) 1650:23 subtract ( temp uint) 1660:23 'id' ( in uint) 1670:23 'count' ( temp uint) 1680:23 false case 1690:23 indirect index ( temp structure{ temp uint a, temp uint b, temp uint c}) 1700:23 data: direct index for structure ( temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c}) 1710:23 direct index (layout( row_major std430) buffer structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data}) 1720:23 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data}) 1730:23 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data} @data}) 1740:23 Constant: 1750:23 0 (const uint) 1760:23 Constant: 1770:23 0 (const int) 1780:23 Constant: 1790:23 1 (const int) 1800:23 'id' ( in uint) 1810:25 AtomicAdd ( temp uint) 1820:25 a: direct index for structure ( temp uint) 1830:25 direct index (layout( row_major std430) buffer structure{ temp uint a, temp uint b, temp uint c}) 1840:25 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c}) 1850:25 'o' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} @data}) 1860:25 Constant: 1870:25 0 (const uint) 1880:25 Constant: 1890:25 0 (const int) 1900:25 Constant: 1910:25 0 (const int) 1920:25 a: direct index for structure ( temp uint) 1930:25 'ms' ( temp structure{ temp uint a, temp uint b, temp uint c}) 1940:25 Constant: 1950:25 0 (const int) 1960:26 AtomicAdd ( temp uint) 1970:26 b: direct index for structure ( temp uint) 1980:26 direct index (layout( row_major std430) buffer structure{ temp uint a, temp uint b, temp uint c}) 1990:26 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c}) 2000:26 'o' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} @data}) 2010:26 Constant: 2020:26 0 (const uint) 2030:26 Constant: 2040:26 0 (const int) 2050:26 Constant: 2060:26 1 (const int) 2070:26 b: direct index for structure ( temp uint) 2080:26 'ms' ( temp structure{ temp uint a, temp uint b, temp uint c}) 2090:26 Constant: 2100:26 1 (const int) 2110:27 AtomicAdd ( temp uint) 2120:27 c: direct index for structure ( temp uint) 2130:27 direct index (layout( row_major std430) buffer structure{ temp uint a, temp uint b, temp uint c}) 2140:27 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c}) 2150:27 'o' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} @data}) 2160:27 Constant: 2170:27 0 (const uint) 2180:27 Constant: 2190:27 0 (const int) 2200:27 Constant: 2210:27 2 (const int) 2220:27 c: direct index for structure ( temp uint) 2230:27 'ms' ( temp structure{ temp uint a, temp uint b, temp uint c}) 2240:27 Constant: 2250:27 2 (const int) 2260:20 Function Definition: main( ( temp void) 2270:20 Function Parameters: 2280:? Sequence 2290:20 move second child to first child ( temp uint) 2300:? 'id' ( temp uint) 2310:? 'id' ( in uint LocalInvocationIndex) 2320:20 Function Call: @main(u1; ( temp void) 2330:? 'id' ( temp uint) 2340:? Linker Objects 2350:? 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint count, temp unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} data} @data}) 2360:? 'o' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp uint a, temp uint b, temp uint c} @data}) 2370:? 's' ( shared 128-element array of structure{ temp uint a, temp uint b, temp uint c}) 2380:? 'deflt' ( const structure{ temp uint a, temp uint b, temp uint c}) 2390:? 1 (const uint) 2400:? 2 (const uint) 2410:? 3 (const uint) 2420:? 'id' ( in uint LocalInvocationIndex) 243 244Validation failed 245// Module Version 10000 246// Generated by (magic number): 8000b 247// Id's are bound by 88 248 249 Capability Shader 250 1: ExtInstImport "GLSL.std.450" 251 MemoryModel Logical GLSL450 252 EntryPoint GLCompute 4 "main" 83 253 ExecutionMode 4 LocalSize 128 1 1 254 Source HLSL 500 255 Name 4 "main" 256 Name 10 "@main(u1;" 257 Name 9 "id" 258 Name 12 "MyStruct" 259 MemberName 12(MyStruct) 0 "a" 260 MemberName 12(MyStruct) 1 "b" 261 MemberName 12(MyStruct) 2 "c" 262 Name 16 "s" 263 Name 25 "count" 264 Name 26 "MyStruct" 265 MemberName 26(MyStruct) 0 "a" 266 MemberName 26(MyStruct) 1 "b" 267 MemberName 26(MyStruct) 2 "c" 268 Name 28 "MyStructs" 269 MemberName 28(MyStructs) 0 "count" 270 MemberName 28(MyStructs) 1 "data" 271 Name 30 "sb" 272 MemberName 30(sb) 0 "@data" 273 Name 32 "sb" 274 Name 37 "ms" 275 Name 65 "o" 276 MemberName 65(o) 0 "@data" 277 Name 67 "o" 278 Name 81 "id" 279 Name 83 "id" 280 Name 85 "param" 281 MemberDecorate 26(MyStruct) 0 Offset 0 282 MemberDecorate 26(MyStruct) 1 Offset 4 283 MemberDecorate 26(MyStruct) 2 Offset 8 284 Decorate 27 ArrayStride 12 285 Decorate 28(MyStructs) BufferBlock 286 MemberDecorate 28(MyStructs) 0 Offset 0 287 MemberDecorate 28(MyStructs) 1 Offset 4 288 Decorate 29 ArrayStride 16 289 Decorate 30(sb) BufferBlock 290 MemberDecorate 30(sb) 0 NonWritable 291 MemberDecorate 30(sb) 0 Offset 0 292 Decorate 32(sb) NonWritable 293 Decorate 32(sb) Binding 0 294 Decorate 32(sb) DescriptorSet 0 295 Decorate 64 ArrayStride 12 296 Decorate 65(o) BufferBlock 297 MemberDecorate 65(o) 0 NonWritable 298 MemberDecorate 65(o) 0 Offset 0 299 Decorate 67(o) NonWritable 300 Decorate 67(o) Binding 1 301 Decorate 67(o) DescriptorSet 0 302 Decorate 83(id) BuiltIn LocalInvocationIndex 303 2: TypeVoid 304 3: TypeFunction 2 305 6: TypeInt 32 0 306 7: TypePointer Function 6(int) 307 8: TypeFunction 2 7(ptr) 308 12(MyStruct): TypeStruct 6(int) 6(int) 6(int) 309 13: 6(int) Constant 128 310 14: TypeArray 12(MyStruct) 13 311 15: TypePointer Workgroup 14 312 16(s): 15(ptr) Variable Workgroup 313 17: TypeInt 32 1 314 18: 17(int) Constant 0 315 19: 6(int) Constant 1 316 20: 6(int) Constant 2 317 21: 6(int) Constant 3 318 22:12(MyStruct) ConstantComposite 19 20 21 319 23: TypePointer Workgroup 12(MyStruct) 320 26(MyStruct): TypeStruct 6(int) 6(int) 6(int) 321 27: TypeRuntimeArray 26(MyStruct) 322 28(MyStructs): TypeStruct 6(int) 27 323 29: TypeRuntimeArray 28(MyStructs) 324 30(sb): TypeStruct 29 325 31: TypePointer Uniform 30(sb) 326 32(sb): 31(ptr) Variable Uniform 327 33: TypePointer Uniform 6(int) 328 36: TypePointer Function 12(MyStruct) 329 40: TypeBool 330 47: 17(int) Constant 1 331 49: TypePointer Uniform 26(MyStruct) 332 61: 17(int) Constant 2 333 64: TypeRuntimeArray 26(MyStruct) 334 65(o): TypeStruct 64 335 66: TypePointer Uniform 65(o) 336 67(o): 66(ptr) Variable Uniform 337 71: 6(int) Constant 0 338 82: TypePointer Input 6(int) 339 83(id): 82(ptr) Variable Input 340 4(main): 2 Function None 3 341 5: Label 342 81(id): 7(ptr) Variable Function 343 85(param): 7(ptr) Variable Function 344 84: 6(int) Load 83(id) 345 Store 81(id) 84 346 86: 6(int) Load 81(id) 347 Store 85(param) 86 348 87: 2 FunctionCall 10(@main(u1;) 85(param) 349 Return 350 FunctionEnd 351 10(@main(u1;): 2 Function None 8 352 9(id): 7(ptr) FunctionParameter 353 11: Label 354 25(count): 7(ptr) Variable Function 355 37(ms): 36(ptr) Variable Function 356 52: 36(ptr) Variable Function 357 24: 23(ptr) AccessChain 16(s) 18 358 Store 24 22 359 34: 33(ptr) AccessChain 32(sb) 18 18 18 360 35: 6(int) Load 34 361 Store 25(count) 35 362 38: 6(int) Load 9(id) 363 39: 6(int) Load 25(count) 364 41: 40(bool) UGreaterThan 38 39 365 42: 6(int) Load 9(id) 366 43: 6(int) Load 25(count) 367 44: 6(int) ISub 42 43 368 45: 23(ptr) AccessChain 16(s) 44 369 46:12(MyStruct) Load 45 370 48: 6(int) Load 9(id) 371 50: 49(ptr) AccessChain 32(sb) 18 18 47 48 372 51:26(MyStruct) Load 50 373 SelectionMerge 54 None 374 BranchConditional 41 53 55 375 53: Label 376 Store 52 46 377 Branch 54 378 55: Label 379 56: 6(int) CompositeExtract 51 0 380 57: 7(ptr) AccessChain 52 18 381 Store 57 56 382 58: 6(int) CompositeExtract 51 1 383 59: 7(ptr) AccessChain 52 47 384 Store 59 58 385 60: 6(int) CompositeExtract 51 2 386 62: 7(ptr) AccessChain 52 61 387 Store 62 60 388 Branch 54 389 54: Label 390 63:12(MyStruct) Load 52 391 Store 37(ms) 63 392 68: 33(ptr) AccessChain 67(o) 18 18 18 393 69: 7(ptr) AccessChain 37(ms) 18 394 70: 6(int) Load 69 395 72: 6(int) AtomicIAdd 68 19 71 70 396 73: 33(ptr) AccessChain 67(o) 18 18 47 397 74: 7(ptr) AccessChain 37(ms) 47 398 75: 6(int) Load 74 399 76: 6(int) AtomicIAdd 73 19 71 75 400 77: 33(ptr) AccessChain 67(o) 18 18 61 401 78: 7(ptr) AccessChain 37(ms) 61 402 79: 6(int) Load 78 403 80: 6(int) AtomicIAdd 77 19 71 79 404 Return 405 FunctionEnd