e3b0e497619c1b62e90e03dcb7b3c981287bf433
[platform/upstream/glslang.git] / Test / baseResults / hlsl.struct.split.array.geom.out
1 hlsl.struct.split.array.geom
2 Shader version: 450
3 invocations = -1
4 max_vertices = 4
5 input primitive = points
6 output primitive = triangle_strip
7 0:? Sequence
8 0:13  Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
9 0:13    Function Parameters: 
10 0:13      'v' ( in 1-element array of uint)
11 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})
12 0:?     Sequence
13 0:16      Sequence
14 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})
15 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})
16 0:16          Constant:
17 0:16            0.000000
18 0:16            0.000000
19 0:16            0.000000
20 0:16            0.000000
21 0:16            0.000000
22 0:16            0.000000
23 0:16            0.000000
24 0:16            0.000000
25 0:16            0.000000
26 0:16            0 (const uint)
27 0:18      Sequence
28 0:18        move second child to first child ( temp int)
29 0:18          'x' ( temp int)
30 0:18          Constant:
31 0:18            0 (const int)
32 0:18        Loop with condition tested first
33 0:18          Loop Condition
34 0:18          Compare Less Than ( temp bool)
35 0:18            'x' ( temp int)
36 0:18            Constant:
37 0:18              2 (const int)
38 0:18          Loop Body
39 0:19          Sequence
40 0:19            move second child to first child ( temp int)
41 0:19              'y' ( temp int)
42 0:19              Constant:
43 0:19                0 (const int)
44 0:19            Loop with condition tested first
45 0:19              Loop Condition
46 0:19              Compare Less Than ( temp bool)
47 0:19                'y' ( temp int)
48 0:19                Constant:
49 0:19                  2 (const int)
50 0:19              Loop Body
51 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})
52 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})
53 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})
54 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})
55 0:20                    'x' ( temp int)
56 0:20                  'y' ( temp int)
57 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})
58 0:19              Loop Terminal Expression
59 0:19              Pre-Increment ( temp int)
60 0:19                'y' ( temp int)
61 0:18          Loop Terminal Expression
62 0:18          Pre-Increment ( temp int)
63 0:18            'x' ( temp int)
64 0:13  Function Definition: main( ( temp void)
65 0:13    Function Parameters: 
66 0:?     Sequence
67 0:13      move second child to first child ( temp 1-element array of uint)
68 0:?         'v' ( temp 1-element array of uint)
69 0:?         'v' (layout( location=0) in 1-element array of uint)
70 0:13      Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
71 0:?         'v' ( temp 1-element array of uint)
72 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})
73 0:?   Linker Objects
74 0:?     'v' (layout( location=0) in 1-element array of uint)
75 0:?     'OutputStream' (layout( location=0) out structure{ temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
76
77
78 Linked geometry stage:
79
80
81 Shader version: 450
82 invocations = 1
83 max_vertices = 4
84 input primitive = points
85 output primitive = triangle_strip
86 0:? Sequence
87 0:13  Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
88 0:13    Function Parameters: 
89 0:13      'v' ( in 1-element array of uint)
90 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})
91 0:?     Sequence
92 0:16      Sequence
93 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})
94 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})
95 0:16          Constant:
96 0:16            0.000000
97 0:16            0.000000
98 0:16            0.000000
99 0:16            0.000000
100 0:16            0.000000
101 0:16            0.000000
102 0:16            0.000000
103 0:16            0.000000
104 0:16            0.000000
105 0:16            0 (const uint)
106 0:18      Sequence
107 0:18        move second child to first child ( temp int)
108 0:18          'x' ( temp int)
109 0:18          Constant:
110 0:18            0 (const int)
111 0:18        Loop with condition tested first
112 0:18          Loop Condition
113 0:18          Compare Less Than ( temp bool)
114 0:18            'x' ( temp int)
115 0:18            Constant:
116 0:18              2 (const int)
117 0:18          Loop Body
118 0:19          Sequence
119 0:19            move second child to first child ( temp int)
120 0:19              'y' ( temp int)
121 0:19              Constant:
122 0:19                0 (const int)
123 0:19            Loop with condition tested first
124 0:19              Loop Condition
125 0:19              Compare Less Than ( temp bool)
126 0:19                'y' ( temp int)
127 0:19                Constant:
128 0:19                  2 (const int)
129 0:19              Loop Body
130 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})
131 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})
132 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})
133 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})
134 0:20                    'x' ( temp int)
135 0:20                  'y' ( temp int)
136 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})
137 0:19              Loop Terminal Expression
138 0:19              Pre-Increment ( temp int)
139 0:19                'y' ( temp int)
140 0:18          Loop Terminal Expression
141 0:18          Pre-Increment ( temp int)
142 0:18            'x' ( temp int)
143 0:13  Function Definition: main( ( temp void)
144 0:13    Function Parameters: 
145 0:?     Sequence
146 0:13      move second child to first child ( temp 1-element array of uint)
147 0:?         'v' ( temp 1-element array of uint)
148 0:?         'v' (layout( location=0) in 1-element array of uint)
149 0:13      Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
150 0:?         'v' ( temp 1-element array of uint)
151 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})
152 0:?   Linker Objects
153 0:?     'v' (layout( location=0) in 1-element array of uint)
154 0:?     'OutputStream' (layout( location=0) out structure{ temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
155
156 // Module Version 10000
157 // Generated by (magic number): 80001
158 // Id's are bound by 77
159
160                               Capability Geometry
161                1:             ExtInstImport  "GLSL.std.450"
162                               MemoryModel Logical GLSL450
163                               EntryPoint Geometry 4  "main" 66 76
164                               ExecutionMode 4 InputPoints
165                               ExecutionMode 4 Invocations 1
166                               ExecutionMode 4 OutputTriangleStrip
167                               ExecutionMode 4 OutputVertices 4
168                               Name 4  "main"
169                               Name 14  "PSInput"
170                               MemberName 14(PSInput) 0  "Pos"
171                               MemberName 14(PSInput) 1  "TexCoord"
172                               MemberName 14(PSInput) 2  "TerrainPos"
173                               MemberName 14(PSInput) 3  "VertexID"
174                               Name 19  "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;"
175                               Name 17  "v"
176                               Name 18  "OutputStream"
177                               Name 21  "Out"
178                               Name 30  "x"
179                               Name 41  "y"
180                               Name 54  "Verts"
181                               Name 64  "v"
182                               Name 66  "v"
183                               Name 68  "OutputStream"
184                               Name 69  "param"
185                               Name 71  "param"
186                               Name 74  "PSInput"
187                               MemberName 74(PSInput) 0  "TexCoord"
188                               MemberName 74(PSInput) 1  "TerrainPos"
189                               MemberName 74(PSInput) 2  "VertexID"
190                               Name 76  "OutputStream"
191                               Decorate 66(v) Location 0
192                               Decorate 76(OutputStream) Location 0
193                2:             TypeVoid
194                3:             TypeFunction 2
195                6:             TypeInt 32 0
196                7:      6(int) Constant 1
197                8:             TypeArray 6(int) 7
198                9:             TypePointer Function 8
199               10:             TypeFloat 32
200               11:             TypeVector 10(float) 4
201               12:             TypeVector 10(float) 2
202               13:             TypeVector 10(float) 3
203      14(PSInput):             TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
204               15:             TypePointer Function 14(PSInput)
205               16:             TypeFunction 2 9(ptr) 15(ptr)
206               22:   10(float) Constant 0
207               23:   11(fvec4) ConstantComposite 22 22 22 22
208               24:   12(fvec2) ConstantComposite 22 22
209               25:   13(fvec3) ConstantComposite 22 22 22
210               26:      6(int) Constant 0
211               27: 14(PSInput) ConstantComposite 23 24 25 26
212               28:             TypeInt 32 1
213               29:             TypePointer Function 28(int)
214               31:     28(int) Constant 0
215               38:     28(int) Constant 2
216               39:             TypeBool
217               49:      6(int) Constant 3
218               50:             TypeArray 14(PSInput) 49
219               51:      6(int) Constant 2
220               52:             TypeArray 50 51
221               53:             TypePointer Function 52
222               60:     28(int) Constant 1
223               65:             TypePointer Input 8
224            66(v):     65(ptr) Variable Input
225      74(PSInput):             TypeStruct 12(fvec2) 13(fvec3) 6(int)
226               75:             TypePointer Output 74(PSInput)
227 76(OutputStream):     75(ptr) Variable Output
228          4(main):           2 Function None 3
229                5:             Label
230            64(v):      9(ptr) Variable Function
231 68(OutputStream):     15(ptr) Variable Function
232        69(param):      9(ptr) Variable Function
233        71(param):     15(ptr) Variable Function
234               67:           8 Load 66(v)
235                               Store 64(v) 67
236               70:           8 Load 64(v)
237                               Store 69(param) 70
238               72:           2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 69(param) 71(param)
239               73: 14(PSInput) Load 71(param)
240                               Store 68(OutputStream) 73
241                               Return
242                               FunctionEnd
243 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;):           2 Function None 16
244            17(v):      9(ptr) FunctionParameter
245 18(OutputStream):     15(ptr) FunctionParameter
246               20:             Label
247          21(Out):     15(ptr) Variable Function
248            30(x):     29(ptr) Variable Function
249            41(y):     29(ptr) Variable Function
250        54(Verts):     53(ptr) Variable Function
251                               Store 21(Out) 27
252                               Store 30(x) 31
253                               Branch 32
254               32:             Label
255                               LoopMerge 34 35 None
256                               Branch 36
257               36:             Label
258               37:     28(int) Load 30(x)
259               40:    39(bool) SLessThan 37 38
260                               BranchConditional 40 33 34
261               33:               Label
262                                 Store 41(y) 31
263                                 Branch 42
264               42:               Label
265                                 LoopMerge 44 45 None
266                                 Branch 46
267               46:               Label
268               47:     28(int)   Load 41(y)
269               48:    39(bool)   SLessThan 47 38
270                                 BranchConditional 48 43 44
271               43:                 Label
272               55:     28(int)     Load 30(x)
273               56:     28(int)     Load 41(y)
274               57: 14(PSInput)     Load 21(Out)
275               58:     15(ptr)     AccessChain 54(Verts) 55 56
276                                   Store 58 57
277                                   Branch 45
278               45:                 Label
279               59:     28(int)     Load 41(y)
280               61:     28(int)     IAdd 59 60
281                                   Store 41(y) 61
282                                   Branch 42
283               44:               Label
284                                 Branch 35
285               35:               Label
286               62:     28(int)   Load 30(x)
287               63:     28(int)   IAdd 62 60
288                                 Store 30(x) 63
289                                 Branch 32
290               34:             Label
291                               Return
292                               FunctionEnd