xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/baseResults/spv.structCopy.comp.out (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1spv.structCopy.comp
2// Module Version 10000
3// Generated by (magic number): 8000b
4// Id's are bound by 81
5
6                              Capability Shader
7               1:             ExtInstImport  "GLSL.std.450"
8                              MemoryModel Logical GLSL450
9                              EntryPoint GLCompute 4  "main" 24
10                              ExecutionMode 4 LocalSize 512 1 1
11                              Source GLSL 460
12                              Name 4  "main"
13                              Name 7  "MyStruct"
14                              MemberName 7(MyStruct) 0  "a"
15                              MemberName 7(MyStruct) 1  "b"
16                              MemberName 7(MyStruct) 2  "c"
17                              Name 11  "s"
18                              Name 21  "id"
19                              Name 24  "gl_GlobalInvocationID"
20                              Name 30  "ms"
21                              Name 32  "MyStruct"
22                              MemberName 32(MyStruct) 0  "a"
23                              MemberName 32(MyStruct) 1  "b"
24                              MemberName 32(MyStruct) 2  "c"
25                              Name 34  "MyStructs"
26                              MemberName 34(MyStructs) 0  "count"
27                              MemberName 34(MyStructs) 1  "data"
28                              Name 36  "my_structs"
29                              Name 65  "Output"
30                              MemberName 65(Output) 0  "a"
31                              MemberName 65(Output) 1  "b"
32                              MemberName 65(Output) 2  "c"
33                              Name 67  "o"
34                              Decorate 24(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
35                              MemberDecorate 32(MyStruct) 0 Offset 0
36                              MemberDecorate 32(MyStruct) 1 Offset 4
37                              MemberDecorate 32(MyStruct) 2 Offset 8
38                              Decorate 33 ArrayStride 12
39                              Decorate 34(MyStructs) BufferBlock
40                              MemberDecorate 34(MyStructs) 0 Offset 0
41                              MemberDecorate 34(MyStructs) 1 Offset 4
42                              Decorate 36(my_structs) Binding 0
43                              Decorate 36(my_structs) DescriptorSet 0
44                              Decorate 65(Output) BufferBlock
45                              MemberDecorate 65(Output) 0 Offset 0
46                              MemberDecorate 65(Output) 1 Offset 4
47                              MemberDecorate 65(Output) 2 Offset 8
48                              Decorate 67(o) Binding 1
49                              Decorate 67(o) DescriptorSet 0
50                              Decorate 80 BuiltIn WorkgroupSize
51               2:             TypeVoid
52               3:             TypeFunction 2
53               6:             TypeInt 32 0
54     7(MyStruct):             TypeStruct 6(int) 6(int) 6(int)
55               8:      6(int) Constant 512
56               9:             TypeArray 7(MyStruct) 8
57              10:             TypePointer Workgroup 9
58           11(s):     10(ptr) Variable Workgroup
59              12:             TypeInt 32 1
60              13:     12(int) Constant 0
61              14:      6(int) Constant 1
62              15:      6(int) Constant 2
63              16:      6(int) Constant 3
64              17: 7(MyStruct) ConstantComposite 14 15 16
65              18:             TypePointer Workgroup 7(MyStruct)
66              20:             TypePointer Function 6(int)
67              22:             TypeVector 6(int) 3
68              23:             TypePointer Input 22(ivec3)
6924(gl_GlobalInvocationID):     23(ptr) Variable Input
70              25:      6(int) Constant 0
71              26:             TypePointer Input 6(int)
72              29:             TypePointer Function 7(MyStruct)
73    32(MyStruct):             TypeStruct 6(int) 6(int) 6(int)
74              33:             TypeRuntimeArray 32(MyStruct)
75   34(MyStructs):             TypeStruct 6(int) 33
76              35:             TypePointer Uniform 34(MyStructs)
77  36(my_structs):     35(ptr) Variable Uniform
78              37:             TypePointer Uniform 6(int)
79              40:             TypeBool
80              52:     12(int) Constant 1
81              54:             TypePointer Uniform 32(MyStruct)
82              62:     12(int) Constant 2
83      65(Output):             TypeStruct 6(int) 6(int) 6(int)
84              66:             TypePointer Uniform 65(Output)
85           67(o):     66(ptr) Variable Uniform
86              80:   22(ivec3) ConstantComposite 8 14 14
87         4(main):           2 Function None 3
88               5:             Label
89          21(id):     20(ptr) Variable Function
90          30(ms):     29(ptr) Variable Function
91              42:     29(ptr) Variable Function
92              19:     18(ptr) AccessChain 11(s) 13
93                              Store 19 17
94              27:     26(ptr) AccessChain 24(gl_GlobalInvocationID) 25
95              28:      6(int) Load 27
96                              Store 21(id) 28
97              31:      6(int) Load 21(id)
98              38:     37(ptr) AccessChain 36(my_structs) 13
99              39:      6(int) Load 38
100              41:    40(bool) UGreaterThan 31 39
101                              SelectionMerge 44 None
102                              BranchConditional 41 43 51
103              43:               Label
104              45:      6(int)   Load 21(id)
105              46:     37(ptr)   AccessChain 36(my_structs) 13
106              47:      6(int)   Load 46
107              48:      6(int)   ISub 45 47
108              49:     18(ptr)   AccessChain 11(s) 48
109              50: 7(MyStruct)   Load 49
110                                Store 42 50
111                                Branch 44
112              51:               Label
113              53:      6(int)   Load 21(id)
114              55:     54(ptr)   AccessChain 36(my_structs) 52 53
115              56:32(MyStruct)   Load 55
116              57:      6(int)   CompositeExtract 56 0
117              58:     20(ptr)   AccessChain 42 13
118                                Store 58 57
119              59:      6(int)   CompositeExtract 56 1
120              60:     20(ptr)   AccessChain 42 52
121                                Store 60 59
122              61:      6(int)   CompositeExtract 56 2
123              63:     20(ptr)   AccessChain 42 62
124                                Store 63 61
125                                Branch 44
126              44:             Label
127              64: 7(MyStruct) Load 42
128                              Store 30(ms) 64
129              68:     37(ptr) AccessChain 67(o) 13
130              69:     20(ptr) AccessChain 30(ms) 13
131              70:      6(int) Load 69
132              71:      6(int) AtomicIAdd 68 14 25 70
133              72:     37(ptr) AccessChain 67(o) 52
134              73:     20(ptr) AccessChain 30(ms) 52
135              74:      6(int) Load 73
136              75:      6(int) AtomicIAdd 72 14 25 74
137              76:     37(ptr) AccessChain 67(o) 62
138              77:     20(ptr) AccessChain 30(ms) 62
139              78:      6(int) Load 77
140              79:      6(int) AtomicIAdd 76 14 25 78
141                              Return
142                              FunctionEnd
143