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