| spv.structCopy.comp |
| // Module Version 10000 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 81 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 4 "main" 24 |
| ExecutionMode 4 LocalSize 512 1 1 |
| Source GLSL 460 |
| Name 4 "main" |
| Name 7 "MyStruct" |
| MemberName 7(MyStruct) 0 "a" |
| MemberName 7(MyStruct) 1 "b" |
| MemberName 7(MyStruct) 2 "c" |
| Name 11 "s" |
| Name 21 "id" |
| Name 24 "gl_GlobalInvocationID" |
| Name 30 "ms" |
| Name 32 "MyStruct" |
| MemberName 32(MyStruct) 0 "a" |
| MemberName 32(MyStruct) 1 "b" |
| MemberName 32(MyStruct) 2 "c" |
| Name 34 "MyStructs" |
| MemberName 34(MyStructs) 0 "count" |
| MemberName 34(MyStructs) 1 "data" |
| Name 36 "my_structs" |
| Name 65 "Output" |
| MemberName 65(Output) 0 "a" |
| MemberName 65(Output) 1 "b" |
| MemberName 65(Output) 2 "c" |
| Name 67 "o" |
| Decorate 24(gl_GlobalInvocationID) BuiltIn GlobalInvocationId |
| MemberDecorate 32(MyStruct) 0 Offset 0 |
| MemberDecorate 32(MyStruct) 1 Offset 4 |
| MemberDecorate 32(MyStruct) 2 Offset 8 |
| Decorate 33 ArrayStride 12 |
| MemberDecorate 34(MyStructs) 0 Offset 0 |
| MemberDecorate 34(MyStructs) 1 Offset 4 |
| Decorate 34(MyStructs) BufferBlock |
| Decorate 36(my_structs) DescriptorSet 0 |
| Decorate 36(my_structs) Binding 0 |
| MemberDecorate 65(Output) 0 Offset 0 |
| MemberDecorate 65(Output) 1 Offset 4 |
| MemberDecorate 65(Output) 2 Offset 8 |
| Decorate 65(Output) BufferBlock |
| Decorate 67(o) DescriptorSet 0 |
| Decorate 67(o) Binding 1 |
| Decorate 80 BuiltIn WorkgroupSize |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeInt 32 0 |
| 7(MyStruct): TypeStruct 6(int) 6(int) 6(int) |
| 8: 6(int) Constant 512 |
| 9: TypeArray 7(MyStruct) 8 |
| 10: TypePointer Workgroup 9 |
| 11(s): 10(ptr) Variable Workgroup |
| 12: TypeInt 32 1 |
| 13: 12(int) Constant 0 |
| 14: 6(int) Constant 1 |
| 15: 6(int) Constant 2 |
| 16: 6(int) Constant 3 |
| 17: 7(MyStruct) ConstantComposite 14 15 16 |
| 18: TypePointer Workgroup 7(MyStruct) |
| 20: TypePointer Function 6(int) |
| 22: TypeVector 6(int) 3 |
| 23: TypePointer Input 22(ivec3) |
| 24(gl_GlobalInvocationID): 23(ptr) Variable Input |
| 25: 6(int) Constant 0 |
| 26: TypePointer Input 6(int) |
| 29: TypePointer Function 7(MyStruct) |
| 32(MyStruct): TypeStruct 6(int) 6(int) 6(int) |
| 33: TypeRuntimeArray 32(MyStruct) |
| 34(MyStructs): TypeStruct 6(int) 33 |
| 35: TypePointer Uniform 34(MyStructs) |
| 36(my_structs): 35(ptr) Variable Uniform |
| 37: TypePointer Uniform 6(int) |
| 40: TypeBool |
| 52: 12(int) Constant 1 |
| 54: TypePointer Uniform 32(MyStruct) |
| 62: 12(int) Constant 2 |
| 65(Output): TypeStruct 6(int) 6(int) 6(int) |
| 66: TypePointer Uniform 65(Output) |
| 67(o): 66(ptr) Variable Uniform |
| 80: 22(ivec3) ConstantComposite 8 14 14 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 21(id): 20(ptr) Variable Function |
| 30(ms): 29(ptr) Variable Function |
| 42: 29(ptr) Variable Function |
| 19: 18(ptr) AccessChain 11(s) 13 |
| Store 19 17 |
| 27: 26(ptr) AccessChain 24(gl_GlobalInvocationID) 25 |
| 28: 6(int) Load 27 |
| Store 21(id) 28 |
| 31: 6(int) Load 21(id) |
| 38: 37(ptr) AccessChain 36(my_structs) 13 |
| 39: 6(int) Load 38 |
| 41: 40(bool) UGreaterThan 31 39 |
| SelectionMerge 44 None |
| BranchConditional 41 43 51 |
| 43: Label |
| 45: 6(int) Load 21(id) |
| 46: 37(ptr) AccessChain 36(my_structs) 13 |
| 47: 6(int) Load 46 |
| 48: 6(int) ISub 45 47 |
| 49: 18(ptr) AccessChain 11(s) 48 |
| 50: 7(MyStruct) Load 49 |
| Store 42 50 |
| Branch 44 |
| 51: Label |
| 53: 6(int) Load 21(id) |
| 55: 54(ptr) AccessChain 36(my_structs) 52 53 |
| 56:32(MyStruct) Load 55 |
| 57: 6(int) CompositeExtract 56 0 |
| 58: 20(ptr) AccessChain 42 13 |
| Store 58 57 |
| 59: 6(int) CompositeExtract 56 1 |
| 60: 20(ptr) AccessChain 42 52 |
| Store 60 59 |
| 61: 6(int) CompositeExtract 56 2 |
| 63: 20(ptr) AccessChain 42 62 |
| Store 63 61 |
| Branch 44 |
| 44: Label |
| 64: 7(MyStruct) Load 42 |
| Store 30(ms) 64 |
| 68: 37(ptr) AccessChain 67(o) 13 |
| 69: 20(ptr) AccessChain 30(ms) 13 |
| 70: 6(int) Load 69 |
| 71: 6(int) AtomicIAdd 68 14 25 70 |
| 72: 37(ptr) AccessChain 67(o) 52 |
| 73: 20(ptr) AccessChain 30(ms) 52 |
| 74: 6(int) Load 73 |
| 75: 6(int) AtomicIAdd 72 14 25 74 |
| 76: 37(ptr) AccessChain 67(o) 62 |
| 77: 20(ptr) AccessChain 30(ms) 62 |
| 78: 6(int) Load 77 |
| 79: 6(int) AtomicIAdd 76 14 25 78 |
| Return |
| FunctionEnd |