aboutsummaryrefslogtreecommitdiff
path: root/Test/baseResults/hlsl.struct.split.array.geom.out
blob: 3d75fb87d7d0b65dc34652b290d02174816793e2 (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
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
hlsl.struct.split.array.geom
Shader version: 500
invocations = -1
max_vertices = 4
input primitive = points
output primitive = triangle_strip
0:? Sequence
0:13  Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
0:13    Function Parameters: 
0:13      'v' ( in 1-element array of uint)
0:13      'OutputStream' ( out structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:?     Sequence
0:16      Sequence
0:16        move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:16          'Out' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:16          Constant:
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0 (const uint)
0:18      Sequence
0:18        move second child to first child ( temp int)
0:18          'x' ( temp int)
0:18          Constant:
0:18            0 (const int)
0:18        Loop with condition tested first
0:18          Loop Condition
0:18          Compare Less Than ( temp bool)
0:18            'x' ( temp int)
0:18            Constant:
0:18              2 (const int)
0:18          Loop Body
0:19          Sequence
0:19            move second child to first child ( temp int)
0:19              'y' ( temp int)
0:19              Constant:
0:19                0 (const int)
0:19            Loop with condition tested first
0:19              Loop Condition
0:19              Compare Less Than ( temp bool)
0:19                'y' ( temp int)
0:19                Constant:
0:19                  2 (const int)
0:19              Loop Body
0:20              move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:20                indirect index ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:20                  indirect index ( temp 3-element array of structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:20                    'Verts' ( temp 2-element array of 3-element array of structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:20                    'x' ( temp int)
0:20                  'y' ( temp int)
0:20                'Out' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:19              Loop Terminal Expression
0:19              Pre-Increment ( temp int)
0:19                'y' ( temp int)
0:18          Loop Terminal Expression
0:18          Pre-Increment ( temp int)
0:18            'x' ( temp int)
0:13  Function Definition: main( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      move second child to first child ( temp 1-element array of uint)
0:?         'v' ( temp 1-element array of uint)
0:?         'v' (layout( location=0) in 1-element array of uint)
0:13      Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
0:?         'v' ( temp 1-element array of uint)
0:?         'OutputStream' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:?   Linker Objects
0:?     'v' (layout( location=0) in 1-element array of uint)
0:?     'OutputStream.Pos' ( out 4-component vector of float Position)
0:?     'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float)
0:?     'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float)
0:?     'OutputStream.VertexID' (layout( location=2) out uint)


Linked geometry stage:


Shader version: 500
invocations = 1
max_vertices = 4
input primitive = points
output primitive = triangle_strip
0:? Sequence
0:13  Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
0:13    Function Parameters: 
0:13      'v' ( in 1-element array of uint)
0:13      'OutputStream' ( out structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:?     Sequence
0:16      Sequence
0:16        move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:16          'Out' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:16          Constant:
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0.000000
0:16            0 (const uint)
0:18      Sequence
0:18        move second child to first child ( temp int)
0:18          'x' ( temp int)
0:18          Constant:
0:18            0 (const int)
0:18        Loop with condition tested first
0:18          Loop Condition
0:18          Compare Less Than ( temp bool)
0:18            'x' ( temp int)
0:18            Constant:
0:18              2 (const int)
0:18          Loop Body
0:19          Sequence
0:19            move second child to first child ( temp int)
0:19              'y' ( temp int)
0:19              Constant:
0:19                0 (const int)
0:19            Loop with condition tested first
0:19              Loop Condition
0:19              Compare Less Than ( temp bool)
0:19                'y' ( temp int)
0:19                Constant:
0:19                  2 (const int)
0:19              Loop Body
0:20              move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:20                indirect index ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:20                  indirect index ( temp 3-element array of structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:20                    'Verts' ( temp 2-element array of 3-element array of structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:20                    'x' ( temp int)
0:20                  'y' ( temp int)
0:20                'Out' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:19              Loop Terminal Expression
0:19              Pre-Increment ( temp int)
0:19                'y' ( temp int)
0:18          Loop Terminal Expression
0:18          Pre-Increment ( temp int)
0:18            'x' ( temp int)
0:13  Function Definition: main( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      move second child to first child ( temp 1-element array of uint)
0:?         'v' ( temp 1-element array of uint)
0:?         'v' (layout( location=0) in 1-element array of uint)
0:13      Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
0:?         'v' ( temp 1-element array of uint)
0:?         'OutputStream' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
0:?   Linker Objects
0:?     'v' (layout( location=0) in 1-element array of uint)
0:?     'OutputStream.Pos' ( out 4-component vector of float Position)
0:?     'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float)
0:?     'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float)
0:?     'OutputStream.VertexID' (layout( location=2) out uint)

// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 82

                              Capability Geometry
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Geometry 4  "main" 66 75 77 79 81
                              ExecutionMode 4 InputPoints
                              ExecutionMode 4 Invocations 1
                              ExecutionMode 4 OutputTriangleStrip
                              ExecutionMode 4 OutputVertices 4
                              Source HLSL 500
                              Name 4  "main"
                              Name 14  "PSInput"
                              MemberName 14(PSInput) 0  "Pos"
                              MemberName 14(PSInput) 1  "TexCoord"
                              MemberName 14(PSInput) 2  "TerrainPos"
                              MemberName 14(PSInput) 3  "VertexID"
                              Name 19  "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;"
                              Name 17  "v"
                              Name 18  "OutputStream"
                              Name 21  "Out"
                              Name 30  "x"
                              Name 41  "y"
                              Name 54  "Verts"
                              Name 64  "v"
                              Name 66  "v"
                              Name 68  "OutputStream"
                              Name 69  "param"
                              Name 71  "param"
                              Name 75  "OutputStream.Pos"
                              Name 77  "OutputStream.TexCoord"
                              Name 79  "OutputStream.TerrainPos"
                              Name 81  "OutputStream.VertexID"
                              Decorate 66(v) Location 0
                              Decorate 75(OutputStream.Pos) BuiltIn Position
                              Decorate 77(OutputStream.TexCoord) Location 0
                              Decorate 79(OutputStream.TerrainPos) Location 1
                              Decorate 81(OutputStream.VertexID) Location 2
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:      6(int) Constant 1
               8:             TypeArray 6(int) 7
               9:             TypePointer Function 8
              10:             TypeFloat 32
              11:             TypeVector 10(float) 4
              12:             TypeVector 10(float) 2
              13:             TypeVector 10(float) 3
     14(PSInput):             TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
              15:             TypePointer Function 14(PSInput)
              16:             TypeFunction 2 9(ptr) 15(ptr)
              22:   10(float) Constant 0
              23:   11(fvec4) ConstantComposite 22 22 22 22
              24:   12(fvec2) ConstantComposite 22 22
              25:   13(fvec3) ConstantComposite 22 22 22
              26:      6(int) Constant 0
              27: 14(PSInput) ConstantComposite 23 24 25 26
              28:             TypeInt 32 1
              29:             TypePointer Function 28(int)
              31:     28(int) Constant 0
              38:     28(int) Constant 2
              39:             TypeBool
              49:      6(int) Constant 3
              50:             TypeArray 14(PSInput) 49
              51:      6(int) Constant 2
              52:             TypeArray 50 51
              53:             TypePointer Function 52
              60:     28(int) Constant 1
              65:             TypePointer Input 8
           66(v):     65(ptr) Variable Input
              74:             TypePointer Output 11(fvec4)
75(OutputStream.Pos):     74(ptr) Variable Output
              76:             TypePointer Output 12(fvec2)
77(OutputStream.TexCoord):     76(ptr) Variable Output
              78:             TypePointer Output 13(fvec3)
79(OutputStream.TerrainPos):     78(ptr) Variable Output
              80:             TypePointer Output 6(int)
81(OutputStream.VertexID):     80(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           64(v):      9(ptr) Variable Function
68(OutputStream):     15(ptr) Variable Function
       69(param):      9(ptr) Variable Function
       71(param):     15(ptr) Variable Function
              67:           8 Load 66(v)
                              Store 64(v) 67
              70:           8 Load 64(v)
                              Store 69(param) 70
              72:           2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 69(param) 71(param)
              73: 14(PSInput) Load 71(param)
                              Store 68(OutputStream) 73
                              Return
                              FunctionEnd
19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;):           2 Function None 16
           17(v):      9(ptr) FunctionParameter
18(OutputStream):     15(ptr) FunctionParameter
              20:             Label
         21(Out):     15(ptr) Variable Function
           30(x):     29(ptr) Variable Function
           41(y):     29(ptr) Variable Function
       54(Verts):     53(ptr) Variable Function
                              Store 21(Out) 27
                              Store 30(x) 31
                              Branch 32
              32:             Label
                              LoopMerge 34 35 None
                              Branch 36
              36:             Label
              37:     28(int) Load 30(x)
              40:    39(bool) SLessThan 37 38
                              BranchConditional 40 33 34
              33:               Label
                                Store 41(y) 31
                                Branch 42
              42:               Label
                                LoopMerge 44 45 None
                                Branch 46
              46:               Label
              47:     28(int)   Load 41(y)
              48:    39(bool)   SLessThan 47 38
                                BranchConditional 48 43 44
              43:                 Label
              55:     28(int)     Load 30(x)
              56:     28(int)     Load 41(y)
              57: 14(PSInput)     Load 21(Out)
              58:     15(ptr)     AccessChain 54(Verts) 55 56
                                  Store 58 57
                                  Branch 45
              45:                 Label
              59:     28(int)     Load 41(y)
              61:     28(int)     IAdd 59 60
                                  Store 41(y) 61
                                  Branch 42
              44:               Label
                                Branch 35
              35:               Label
              62:     28(int)   Load 30(x)
              63:     28(int)   IAdd 62 60
                                Store 30(x) 63
                                Branch 32
              34:             Label
                              Return
                              FunctionEnd