blob: 0ff605ccc9daaa7d24f20aa2f3600cee5775e39b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
|
spv.multiStruct.comp
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 161
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 1 1 1
Source GLSL 450
Name 4 "main"
Name 12 "MyStruct"
MemberName 12(MyStruct) 0 "foo"
MemberName 12(MyStruct) 1 "sb"
Name 14 "t"
Name 16 "MyStruct"
MemberName 16(MyStruct) 0 "foo"
MemberName 16(MyStruct) 1 "sb"
Name 17 "SSBO0"
MemberName 17(SSBO0) 0 "a"
Name 19 "inBuf"
Name 39 "SSBO1"
MemberName 39(SSBO1) 0 "b"
Name 41 "outBuf"
Name 58 "MyStruct"
MemberName 58(MyStruct) 0 "foo"
MemberName 58(MyStruct) 1 "sb"
Name 59 "UBO"
MemberName 59(UBO) 0 "c"
Name 61 "uBuf"
Name 86 "Nested"
MemberName 86(Nested) 0 "f"
MemberName 86(Nested) 1 "S"
Name 88 "n"
Name 90 "Nested"
MemberName 90(Nested) 0 "f"
MemberName 90(Nested) 1 "S"
Name 91 "UBON"
MemberName 91(UBON) 0 "N1"
Name 93 "uBufN"
Name 126 "Nested"
MemberName 126(Nested) 0 "f"
MemberName 126(Nested) 1 "S"
Name 127 "SSBO1N"
MemberName 127(SSBO1N) 0 "N2"
Name 129 "outBufN"
Decorate 15 ArrayStride 8
MemberDecorate 16(MyStruct) 0 Offset 0
MemberDecorate 16(MyStruct) 1 Offset 16
MemberDecorate 17(SSBO0) 0 Offset 0
Decorate 17(SSBO0) BufferBlock
Decorate 19(inBuf) DescriptorSet 0
Decorate 19(inBuf) Binding 0
MemberDecorate 39(SSBO1) 0 Offset 0
Decorate 39(SSBO1) BufferBlock
Decorate 41(outBuf) DescriptorSet 0
Decorate 41(outBuf) Binding 1
Decorate 57 ArrayStride 16
MemberDecorate 58(MyStruct) 0 Offset 0
MemberDecorate 58(MyStruct) 1 Offset 32
MemberDecorate 59(UBO) 0 Offset 0
Decorate 59(UBO) Block
Decorate 61(uBuf) DescriptorSet 0
Decorate 61(uBuf) Binding 2
Decorate 89 ArrayStride 48
MemberDecorate 90(Nested) 0 Offset 0
MemberDecorate 90(Nested) 1 Offset 16
MemberDecorate 91(UBON) 0 Offset 0
Decorate 91(UBON) Block
Decorate 93(uBufN) DescriptorSet 0
Decorate 93(uBufN) Binding 2
Decorate 125 ArrayStride 24
MemberDecorate 126(Nested) 0 Offset 0
MemberDecorate 126(Nested) 1 Offset 8
MemberDecorate 127(SSBO1N) 0 Offset 0
Decorate 127(SSBO1N) BufferBlock
Decorate 129(outBufN) DescriptorSet 0
Decorate 129(outBufN) Binding 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 2
8: TypeInt 32 0
9: 8(int) Constant 2
10: TypeArray 7(fvec2) 9
11: TypeBool
12(MyStruct): TypeStruct 10 11(bool)
13: TypePointer Function 12(MyStruct)
15: TypeArray 7(fvec2) 9
16(MyStruct): TypeStruct 15 8(int)
17(SSBO0): TypeStruct 16(MyStruct)
18: TypePointer Uniform 17(SSBO0)
19(inBuf): 18(ptr) Variable Uniform
20: TypeInt 32 1
21: 20(int) Constant 0
22: TypePointer Uniform 16(MyStruct)
26: TypePointer Function 10
29: TypePointer Function 7(fvec2)
32: 20(int) Constant 1
35: 8(int) Constant 0
37: TypePointer Function 11(bool)
39(SSBO1): TypeStruct 16(MyStruct)
40: TypePointer Uniform 39(SSBO1)
41(outBuf): 40(ptr) Variable Uniform
45: TypePointer Uniform 15
48: TypePointer Uniform 7(fvec2)
53: 8(int) Constant 1
55: TypePointer Uniform 8(int)
57: TypeArray 7(fvec2) 9
58(MyStruct): TypeStruct 57 8(int)
59(UBO): TypeStruct 58(MyStruct)
60: TypePointer Uniform 59(UBO)
61(uBuf): 60(ptr) Variable Uniform
62: TypePointer Uniform 58(MyStruct)
85: TypeArray 12(MyStruct) 9
86(Nested): TypeStruct 6(float) 85
87: TypePointer Function 86(Nested)
89: TypeArray 58(MyStruct) 9
90(Nested): TypeStruct 6(float) 89
91(UBON): TypeStruct 90(Nested)
92: TypePointer Uniform 91(UBON)
93(uBufN): 92(ptr) Variable Uniform
94: TypePointer Uniform 90(Nested)
98: TypePointer Function 6(float)
101: TypePointer Function 85
125: TypeArray 16(MyStruct) 9
126(Nested): TypeStruct 6(float) 125
127(SSBO1N): TypeStruct 126(Nested)
128: TypePointer Uniform 127(SSBO1N)
129(outBufN): 128(ptr) Variable Uniform
131: TypePointer Uniform 126(Nested)
134: TypePointer Uniform 6(float)
137: TypePointer Uniform 125
4(main): 2 Function None 3
5: Label
14(t): 13(ptr) Variable Function
88(n): 87(ptr) Variable Function
23: 22(ptr) AccessChain 19(inBuf) 21
24:16(MyStruct) Load 23
25: 15 CompositeExtract 24 0
27: 26(ptr) AccessChain 14(t) 21
28: 7(fvec2) CompositeExtract 25 0
30: 29(ptr) AccessChain 27 21
Store 30 28
31: 7(fvec2) CompositeExtract 25 1
33: 29(ptr) AccessChain 27 32
Store 33 31
34: 8(int) CompositeExtract 24 1
36: 11(bool) INotEqual 34 35
38: 37(ptr) AccessChain 14(t) 32
Store 38 36
42:12(MyStruct) Load 14(t)
43: 22(ptr) AccessChain 41(outBuf) 21
44: 10 CompositeExtract 42 0
46: 45(ptr) AccessChain 43 21
47: 7(fvec2) CompositeExtract 44 0
49: 48(ptr) AccessChain 46 21
Store 49 47
50: 7(fvec2) CompositeExtract 44 1
51: 48(ptr) AccessChain 46 32
Store 51 50
52: 11(bool) CompositeExtract 42 1
54: 8(int) Select 52 53 35
56: 55(ptr) AccessChain 43 32
Store 56 54
63: 62(ptr) AccessChain 61(uBuf) 21
64:58(MyStruct) Load 63
65: 57 CompositeExtract 64 0
66: 26(ptr) AccessChain 14(t) 21
67: 7(fvec2) CompositeExtract 65 0
68: 29(ptr) AccessChain 66 21
Store 68 67
69: 7(fvec2) CompositeExtract 65 1
70: 29(ptr) AccessChain 66 32
Store 70 69
71: 8(int) CompositeExtract 64 1
72: 11(bool) INotEqual 71 35
73: 37(ptr) AccessChain 14(t) 32
Store 73 72
74:12(MyStruct) Load 14(t)
75: 22(ptr) AccessChain 41(outBuf) 21
76: 10 CompositeExtract 74 0
77: 45(ptr) AccessChain 75 21
78: 7(fvec2) CompositeExtract 76 0
79: 48(ptr) AccessChain 77 21
Store 79 78
80: 7(fvec2) CompositeExtract 76 1
81: 48(ptr) AccessChain 77 32
Store 81 80
82: 11(bool) CompositeExtract 74 1
83: 8(int) Select 82 53 35
84: 55(ptr) AccessChain 75 32
Store 84 83
95: 94(ptr) AccessChain 93(uBufN) 21
96: 90(Nested) Load 95
97: 6(float) CompositeExtract 96 0
99: 98(ptr) AccessChain 88(n) 21
Store 99 97
100: 89 CompositeExtract 96 1
102: 101(ptr) AccessChain 88(n) 32
103:58(MyStruct) CompositeExtract 100 0
104: 13(ptr) AccessChain 102 21
105: 57 CompositeExtract 103 0
106: 26(ptr) AccessChain 104 21
107: 7(fvec2) CompositeExtract 105 0
108: 29(ptr) AccessChain 106 21
Store 108 107
109: 7(fvec2) CompositeExtract 105 1
110: 29(ptr) AccessChain 106 32
Store 110 109
111: 8(int) CompositeExtract 103 1
112: 11(bool) INotEqual 111 35
113: 37(ptr) AccessChain 104 32
Store 113 112
114:58(MyStruct) CompositeExtract 100 1
115: 13(ptr) AccessChain 102 32
116: 57 CompositeExtract 114 0
117: 26(ptr) AccessChain 115 21
118: 7(fvec2) CompositeExtract 116 0
119: 29(ptr) AccessChain 117 21
Store 119 118
120: 7(fvec2) CompositeExtract 116 1
121: 29(ptr) AccessChain 117 32
Store 121 120
122: 8(int) CompositeExtract 114 1
123: 11(bool) INotEqual 122 35
124: 37(ptr) AccessChain 115 32
Store 124 123
130: 86(Nested) Load 88(n)
132: 131(ptr) AccessChain 129(outBufN) 21
133: 6(float) CompositeExtract 130 0
135: 134(ptr) AccessChain 132 21
Store 135 133
136: 85 CompositeExtract 130 1
138: 137(ptr) AccessChain 132 32
139:12(MyStruct) CompositeExtract 136 0
140: 22(ptr) AccessChain 138 21
141: 10 CompositeExtract 139 0
142: 45(ptr) AccessChain 140 21
143: 7(fvec2) CompositeExtract 141 0
144: 48(ptr) AccessChain 142 21
Store 144 143
145: 7(fvec2) CompositeExtract 141 1
146: 48(ptr) AccessChain 142 32
Store 146 145
147: 11(bool) CompositeExtract 139 1
148: 8(int) Select 147 53 35
149: 55(ptr) AccessChain 140 32
Store 149 148
150:12(MyStruct) CompositeExtract 136 1
151: 22(ptr) AccessChain 138 32
152: 10 CompositeExtract 150 0
153: 45(ptr) AccessChain 151 21
154: 7(fvec2) CompositeExtract 152 0
155: 48(ptr) AccessChain 153 21
Store 155 154
156: 7(fvec2) CompositeExtract 152 1
157: 48(ptr) AccessChain 153 32
Store 157 156
158: 11(bool) CompositeExtract 150 1
159: 8(int) Select 158 53 35
160: 55(ptr) AccessChain 151 32
Store 160 159
Return
FunctionEnd
|