f92605f9e2dd96d439a0654f0ab466189688e049
[platform/upstream/glslang.git] / Test / baseResults / hlsl.entry-out.frag.out
1 hlsl.entry-out.frag
2 Shader version: 450
3 gl_FragCoord origin is upper left
4 0:? Sequence
5 0:7  Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void)
6 0:7    Function Parameters: 
7 0:7      'op' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
8 0:?     Sequence
9 0:8      move second child to first child ( temp 2-component vector of float)
10 0:8        v: direct index for structure ( temp 2-component vector of float)
11 0:8          'op' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
12 0:8          Constant:
13 0:8            0 (const int)
14 0:8        Constant:
15 0:8          0.400000
16 0:8          0.400000
17 0:9      move second child to first child ( temp 2-component vector of int)
18 0:9        i: direct index for structure ( temp 2-component vector of int)
19 0:9          'op' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
20 0:9          Constant:
21 0:9            1 (const int)
22 0:9        Constant:
23 0:9          7 (const int)
24 0:9          7 (const int)
25 0:13  Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float)
26 0:13    Function Parameters: 
27 0:13      'input' ( in 4-component vector of float)
28 0:13      'out1' ( out 4-component vector of float)
29 0:13      'out2' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
30 0:13      'out3' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
31 0:?     Sequence
32 0:14      move second child to first child ( temp 4-component vector of float)
33 0:14        'out1' ( out 4-component vector of float)
34 0:14        'input' ( in 4-component vector of float)
35 0:15      move second child to first child ( temp 2-component vector of float)
36 0:15        v: direct index for structure ( temp 2-component vector of float)
37 0:15          'out2' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
38 0:15          Constant:
39 0:15            0 (const int)
40 0:15        Constant:
41 0:15          2.000000
42 0:15          2.000000
43 0:16      move second child to first child ( temp 2-component vector of int)
44 0:16        i: direct index for structure ( temp 2-component vector of int)
45 0:16          'out2' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
46 0:16          Constant:
47 0:16            1 (const int)
48 0:16        Constant:
49 0:16          3 (const int)
50 0:16          3 (const int)
51 0:18      move second child to first child ( temp 2-component vector of float)
52 0:18        v: direct index for structure ( temp 2-component vector of float)
53 0:18          'local' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
54 0:18          Constant:
55 0:18            0 (const int)
56 0:18        Constant:
57 0:18          12.000000
58 0:18          12.000000
59 0:19      move second child to first child ( temp 2-component vector of int)
60 0:19        i: direct index for structure ( temp 2-component vector of int)
61 0:19          'local' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
62 0:19          Constant:
63 0:19            1 (const int)
64 0:19        Constant:
65 0:19          13 (const int)
66 0:19          13 (const int)
67 0:20      Function Call: fun(struct-OutParam-vf2-vi21; ( temp void)
68 0:20        'out3' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
69 0:22      Branch: Return with expression
70 0:22        'out1' ( out 4-component vector of float)
71 0:13  Function Definition: PixelShaderFunction( ( temp void)
72 0:13    Function Parameters: 
73 0:?     Sequence
74 0:13      move second child to first child ( temp 4-component vector of float)
75 0:?         'input' ( temp 4-component vector of float)
76 0:?         'input' (layout( location=0) in 4-component vector of float)
77 0:13      move second child to first child ( temp 4-component vector of float)
78 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
79 0:13        Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float)
80 0:?           'input' ( temp 4-component vector of float)
81 0:?           'out1' ( temp 4-component vector of float)
82 0:?           'out2' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
83 0:?           'out3' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
84 0:13      move second child to first child ( temp 4-component vector of float)
85 0:?         'out1' (layout( location=1) out 4-component vector of float)
86 0:?         'out1' ( temp 4-component vector of float)
87 0:13      Sequence
88 0:13        move second child to first child ( temp 2-component vector of float)
89 0:?           'v' (layout( location=2) out 2-component vector of float)
90 0:13          v: direct index for structure ( temp 2-component vector of float)
91 0:?             'out2' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
92 0:13            Constant:
93 0:13              0 (const int)
94 0:13        move second child to first child ( temp 2-component vector of int)
95 0:?           'i' (layout( location=3) out 2-component vector of int)
96 0:13          i: direct index for structure ( temp 2-component vector of int)
97 0:?             'out2' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
98 0:13            Constant:
99 0:13              1 (const int)
100 0:13      Sequence
101 0:13        move second child to first child ( temp 2-component vector of float)
102 0:?           'v' (layout( location=4) out 2-component vector of float)
103 0:13          v: direct index for structure ( temp 2-component vector of float)
104 0:?             'out3' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
105 0:13            Constant:
106 0:13              0 (const int)
107 0:13        move second child to first child ( temp 2-component vector of int)
108 0:?           'i' (layout( location=5) out 2-component vector of int)
109 0:13          i: direct index for structure ( temp 2-component vector of int)
110 0:?             'out3' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
111 0:13            Constant:
112 0:13              1 (const int)
113 0:?   Linker Objects
114 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
115 0:?     'input' (layout( location=0) in 4-component vector of float)
116 0:?     'out1' (layout( location=1) out 4-component vector of float)
117 0:?     'v' (layout( location=2) out 2-component vector of float)
118 0:?     'i' (layout( location=3) out 2-component vector of int)
119 0:?     'v' (layout( location=4) out 2-component vector of float)
120 0:?     'i' (layout( location=5) out 2-component vector of int)
121
122
123 Linked fragment stage:
124
125
126 Shader version: 450
127 gl_FragCoord origin is upper left
128 0:? Sequence
129 0:7  Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void)
130 0:7    Function Parameters: 
131 0:7      'op' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
132 0:?     Sequence
133 0:8      move second child to first child ( temp 2-component vector of float)
134 0:8        v: direct index for structure ( temp 2-component vector of float)
135 0:8          'op' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
136 0:8          Constant:
137 0:8            0 (const int)
138 0:8        Constant:
139 0:8          0.400000
140 0:8          0.400000
141 0:9      move second child to first child ( temp 2-component vector of int)
142 0:9        i: direct index for structure ( temp 2-component vector of int)
143 0:9          'op' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
144 0:9          Constant:
145 0:9            1 (const int)
146 0:9        Constant:
147 0:9          7 (const int)
148 0:9          7 (const int)
149 0:13  Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float)
150 0:13    Function Parameters: 
151 0:13      'input' ( in 4-component vector of float)
152 0:13      'out1' ( out 4-component vector of float)
153 0:13      'out2' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
154 0:13      'out3' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
155 0:?     Sequence
156 0:14      move second child to first child ( temp 4-component vector of float)
157 0:14        'out1' ( out 4-component vector of float)
158 0:14        'input' ( in 4-component vector of float)
159 0:15      move second child to first child ( temp 2-component vector of float)
160 0:15        v: direct index for structure ( temp 2-component vector of float)
161 0:15          'out2' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
162 0:15          Constant:
163 0:15            0 (const int)
164 0:15        Constant:
165 0:15          2.000000
166 0:15          2.000000
167 0:16      move second child to first child ( temp 2-component vector of int)
168 0:16        i: direct index for structure ( temp 2-component vector of int)
169 0:16          'out2' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
170 0:16          Constant:
171 0:16            1 (const int)
172 0:16        Constant:
173 0:16          3 (const int)
174 0:16          3 (const int)
175 0:18      move second child to first child ( temp 2-component vector of float)
176 0:18        v: direct index for structure ( temp 2-component vector of float)
177 0:18          'local' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
178 0:18          Constant:
179 0:18            0 (const int)
180 0:18        Constant:
181 0:18          12.000000
182 0:18          12.000000
183 0:19      move second child to first child ( temp 2-component vector of int)
184 0:19        i: direct index for structure ( temp 2-component vector of int)
185 0:19          'local' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
186 0:19          Constant:
187 0:19            1 (const int)
188 0:19        Constant:
189 0:19          13 (const int)
190 0:19          13 (const int)
191 0:20      Function Call: fun(struct-OutParam-vf2-vi21; ( temp void)
192 0:20        'out3' ( out structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
193 0:22      Branch: Return with expression
194 0:22        'out1' ( out 4-component vector of float)
195 0:13  Function Definition: PixelShaderFunction( ( temp void)
196 0:13    Function Parameters: 
197 0:?     Sequence
198 0:13      move second child to first child ( temp 4-component vector of float)
199 0:?         'input' ( temp 4-component vector of float)
200 0:?         'input' (layout( location=0) in 4-component vector of float)
201 0:13      move second child to first child ( temp 4-component vector of float)
202 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
203 0:13        Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float)
204 0:?           'input' ( temp 4-component vector of float)
205 0:?           'out1' ( temp 4-component vector of float)
206 0:?           'out2' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
207 0:?           'out3' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
208 0:13      move second child to first child ( temp 4-component vector of float)
209 0:?         'out1' (layout( location=1) out 4-component vector of float)
210 0:?         'out1' ( temp 4-component vector of float)
211 0:13      Sequence
212 0:13        move second child to first child ( temp 2-component vector of float)
213 0:?           'v' (layout( location=2) out 2-component vector of float)
214 0:13          v: direct index for structure ( temp 2-component vector of float)
215 0:?             'out2' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
216 0:13            Constant:
217 0:13              0 (const int)
218 0:13        move second child to first child ( temp 2-component vector of int)
219 0:?           'i' (layout( location=3) out 2-component vector of int)
220 0:13          i: direct index for structure ( temp 2-component vector of int)
221 0:?             'out2' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
222 0:13            Constant:
223 0:13              1 (const int)
224 0:13      Sequence
225 0:13        move second child to first child ( temp 2-component vector of float)
226 0:?           'v' (layout( location=4) out 2-component vector of float)
227 0:13          v: direct index for structure ( temp 2-component vector of float)
228 0:?             'out3' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
229 0:13            Constant:
230 0:13              0 (const int)
231 0:13        move second child to first child ( temp 2-component vector of int)
232 0:?           'i' (layout( location=5) out 2-component vector of int)
233 0:13          i: direct index for structure ( temp 2-component vector of int)
234 0:?             'out3' ( temp structure{ temp 2-component vector of float v,  temp 2-component vector of int i})
235 0:13            Constant:
236 0:13              1 (const int)
237 0:?   Linker Objects
238 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
239 0:?     'input' (layout( location=0) in 4-component vector of float)
240 0:?     'out1' (layout( location=1) out 4-component vector of float)
241 0:?     'v' (layout( location=2) out 2-component vector of float)
242 0:?     'i' (layout( location=3) out 2-component vector of int)
243 0:?     'v' (layout( location=4) out 2-component vector of float)
244 0:?     'i' (layout( location=5) out 2-component vector of int)
245
246 // Module Version 10000
247 // Generated by (magic number): 80001
248 // Id's are bound by 89
249
250                               Capability Shader
251                1:             ExtInstImport  "GLSL.std.450"
252                               MemoryModel Logical GLSL450
253                               EntryPoint Fragment 4  "PixelShaderFunction" 57 60 73 76 80 83 86
254                               ExecutionMode 4 OriginUpperLeft
255                               Name 4  "PixelShaderFunction"
256                               Name 10  "OutParam"
257                               MemberName 10(OutParam) 0  "v"
258                               MemberName 10(OutParam) 1  "i"
259                               Name 14  "fun(struct-OutParam-vf2-vi21;"
260                               Name 13  "op"
261                               Name 23  "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;"
262                               Name 19  "input"
263                               Name 20  "out1"
264                               Name 21  "out2"
265                               Name 22  "out3"
266                               Name 42  "local"
267                               Name 49  "param"
268                               Name 55  "input"
269                               Name 57  "input"
270                               Name 60  "@entryPointOutput"
271                               Name 61  "out1"
272                               Name 62  "out2"
273                               Name 63  "out3"
274                               Name 64  "param"
275                               Name 66  "param"
276                               Name 67  "param"
277                               Name 68  "param"
278                               Name 73  "out1"
279                               Name 76  "v"
280                               Name 80  "i"
281                               Name 83  "v"
282                               Name 86  "i"
283                               Decorate 57(input) Location 0
284                               Decorate 60(@entryPointOutput) Location 0
285                               Decorate 73(out1) Location 1
286                               Decorate 76(v) Location 2
287                               Decorate 80(i) Location 3
288                               Decorate 83(v) Location 4
289                               Decorate 86(i) Location 5
290                2:             TypeVoid
291                3:             TypeFunction 2
292                6:             TypeFloat 32
293                7:             TypeVector 6(float) 2
294                8:             TypeInt 32 1
295                9:             TypeVector 8(int) 2
296     10(OutParam):             TypeStruct 7(fvec2) 9(ivec2)
297               11:             TypePointer Function 10(OutParam)
298               12:             TypeFunction 2 11(ptr)
299               16:             TypeVector 6(float) 4
300               17:             TypePointer Function 16(fvec4)
301               18:             TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr)
302               25:      8(int) Constant 0
303               26:    6(float) Constant 1053609165
304               27:    7(fvec2) ConstantComposite 26 26
305               28:             TypePointer Function 7(fvec2)
306               30:      8(int) Constant 1
307               31:      8(int) Constant 7
308               32:    9(ivec2) ConstantComposite 31 31
309               33:             TypePointer Function 9(ivec2)
310               36:    6(float) Constant 1073741824
311               37:    7(fvec2) ConstantComposite 36 36
312               39:      8(int) Constant 3
313               40:    9(ivec2) ConstantComposite 39 39
314               43:    6(float) Constant 1094713344
315               44:    7(fvec2) ConstantComposite 43 43
316               46:      8(int) Constant 13
317               47:    9(ivec2) ConstantComposite 46 46
318               56:             TypePointer Input 16(fvec4)
319        57(input):     56(ptr) Variable Input
320               59:             TypePointer Output 16(fvec4)
321 60(@entryPointOutput):     59(ptr) Variable Output
322         73(out1):     59(ptr) Variable Output
323               75:             TypePointer Output 7(fvec2)
324            76(v):     75(ptr) Variable Output
325               79:             TypePointer Output 9(ivec2)
326            80(i):     79(ptr) Variable Output
327            83(v):     75(ptr) Variable Output
328            86(i):     79(ptr) Variable Output
329 4(PixelShaderFunction):           2 Function None 3
330                5:             Label
331        55(input):     17(ptr) Variable Function
332         61(out1):     17(ptr) Variable Function
333         62(out2):     11(ptr) Variable Function
334         63(out3):     11(ptr) Variable Function
335        64(param):     17(ptr) Variable Function
336        66(param):     17(ptr) Variable Function
337        67(param):     11(ptr) Variable Function
338        68(param):     11(ptr) Variable Function
339               58:   16(fvec4) Load 57(input)
340                               Store 55(input) 58
341               65:   16(fvec4) Load 55(input)
342                               Store 64(param) 65
343               69:   16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param)
344               70:   16(fvec4) Load 66(param)
345                               Store 61(out1) 70
346               71:10(OutParam) Load 67(param)
347                               Store 62(out2) 71
348               72:10(OutParam) Load 68(param)
349                               Store 63(out3) 72
350                               Store 60(@entryPointOutput) 69
351               74:   16(fvec4) Load 61(out1)
352                               Store 73(out1) 74
353               77:     28(ptr) AccessChain 62(out2) 25
354               78:    7(fvec2) Load 77
355                               Store 76(v) 78
356               81:     33(ptr) AccessChain 62(out2) 30
357               82:    9(ivec2) Load 81
358                               Store 80(i) 82
359               84:     28(ptr) AccessChain 63(out3) 25
360               85:    7(fvec2) Load 84
361                               Store 83(v) 85
362               87:     33(ptr) AccessChain 63(out3) 30
363               88:    9(ivec2) Load 87
364                               Store 86(i) 88
365                               Return
366                               FunctionEnd
367 14(fun(struct-OutParam-vf2-vi21;):           2 Function None 12
368           13(op):     11(ptr) FunctionParameter
369               15:             Label
370               29:     28(ptr) AccessChain 13(op) 25
371                               Store 29 27
372               34:     33(ptr) AccessChain 13(op) 30
373                               Store 34 32
374                               Return
375                               FunctionEnd
376 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;):   16(fvec4) Function None 18
377        19(input):     17(ptr) FunctionParameter
378         20(out1):     17(ptr) FunctionParameter
379         21(out2):     11(ptr) FunctionParameter
380         22(out3):     11(ptr) FunctionParameter
381               24:             Label
382        42(local):     11(ptr) Variable Function
383        49(param):     11(ptr) Variable Function
384               35:   16(fvec4) Load 19(input)
385                               Store 20(out1) 35
386               38:     28(ptr) AccessChain 21(out2) 25
387                               Store 38 37
388               41:     33(ptr) AccessChain 21(out2) 30
389                               Store 41 40
390               45:     28(ptr) AccessChain 42(local) 25
391                               Store 45 44
392               48:     33(ptr) AccessChain 42(local) 30
393                               Store 48 47
394               50:           2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param)
395               51:10(OutParam) Load 49(param)
396                               Store 22(out3) 51
397               52:   16(fvec4) Load 20(out1)
398                               ReturnValue 52
399                               FunctionEnd