Update CHANGES for release 11.12.0
[platform/upstream/glslang.git] / Test / baseResults / hlsl.entry-out.frag.out
1 hlsl.entry-out.frag
2 Shader version: 500
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:?           'out2.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:?           'out2.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:?           'out3.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:?           'out3.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:?     'out2.v' (layout( location=2) out 2-component vector of float)
118 0:?     'out2.i' (layout( location=3) out 2-component vector of int)
119 0:?     'out3.v' (layout( location=4) out 2-component vector of float)
120 0:?     'out3.i' (layout( location=5) out 2-component vector of int)
121
122
123 Linked fragment stage:
124
125
126 Shader version: 500
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:?           'out2.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:?           'out2.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:?           'out3.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:?           'out3.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:?     'out2.v' (layout( location=2) out 2-component vector of float)
242 0:?     'out2.i' (layout( location=3) out 2-component vector of int)
243 0:?     'out3.v' (layout( location=4) out 2-component vector of float)
244 0:?     'out3.i' (layout( location=5) out 2-component vector of int)
245
246 // Module Version 10000
247 // Generated by (magic number): 8000b
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                               Source HLSL 500
256                               Name 4  "PixelShaderFunction"
257                               Name 10  "OutParam"
258                               MemberName 10(OutParam) 0  "v"
259                               MemberName 10(OutParam) 1  "i"
260                               Name 14  "fun(struct-OutParam-vf2-vi21;"
261                               Name 13  "op"
262                               Name 23  "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;"
263                               Name 19  "input"
264                               Name 20  "out1"
265                               Name 21  "out2"
266                               Name 22  "out3"
267                               Name 42  "local"
268                               Name 49  "param"
269                               Name 55  "input"
270                               Name 57  "input"
271                               Name 60  "@entryPointOutput"
272                               Name 61  "out1"
273                               Name 62  "out2"
274                               Name 63  "out3"
275                               Name 64  "param"
276                               Name 66  "param"
277                               Name 67  "param"
278                               Name 68  "param"
279                               Name 73  "out1"
280                               Name 76  "out2.v"
281                               Name 80  "out2.i"
282                               Name 83  "out3.v"
283                               Name 86  "out3.i"
284                               Decorate 57(input) Location 0
285                               Decorate 60(@entryPointOutput) Location 0
286                               Decorate 73(out1) Location 1
287                               Decorate 76(out2.v) Location 2
288                               Decorate 80(out2.i) Location 3
289                               Decorate 83(out3.v) Location 4
290                               Decorate 86(out3.i) Location 5
291                2:             TypeVoid
292                3:             TypeFunction 2
293                6:             TypeFloat 32
294                7:             TypeVector 6(float) 2
295                8:             TypeInt 32 1
296                9:             TypeVector 8(int) 2
297     10(OutParam):             TypeStruct 7(fvec2) 9(ivec2)
298               11:             TypePointer Function 10(OutParam)
299               12:             TypeFunction 2 11(ptr)
300               16:             TypeVector 6(float) 4
301               17:             TypePointer Function 16(fvec4)
302               18:             TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr)
303               25:      8(int) Constant 0
304               26:    6(float) Constant 1053609165
305               27:    7(fvec2) ConstantComposite 26 26
306               28:             TypePointer Function 7(fvec2)
307               30:      8(int) Constant 1
308               31:      8(int) Constant 7
309               32:    9(ivec2) ConstantComposite 31 31
310               33:             TypePointer Function 9(ivec2)
311               36:    6(float) Constant 1073741824
312               37:    7(fvec2) ConstantComposite 36 36
313               39:      8(int) Constant 3
314               40:    9(ivec2) ConstantComposite 39 39
315               43:    6(float) Constant 1094713344
316               44:    7(fvec2) ConstantComposite 43 43
317               46:      8(int) Constant 13
318               47:    9(ivec2) ConstantComposite 46 46
319               56:             TypePointer Input 16(fvec4)
320        57(input):     56(ptr) Variable Input
321               59:             TypePointer Output 16(fvec4)
322 60(@entryPointOutput):     59(ptr) Variable Output
323         73(out1):     59(ptr) Variable Output
324               75:             TypePointer Output 7(fvec2)
325       76(out2.v):     75(ptr) Variable Output
326               79:             TypePointer Output 9(ivec2)
327       80(out2.i):     79(ptr) Variable Output
328       83(out3.v):     75(ptr) Variable Output
329       86(out3.i):     79(ptr) Variable Output
330 4(PixelShaderFunction):           2 Function None 3
331                5:             Label
332        55(input):     17(ptr) Variable Function
333         61(out1):     17(ptr) Variable Function
334         62(out2):     11(ptr) Variable Function
335         63(out3):     11(ptr) Variable Function
336        64(param):     17(ptr) Variable Function
337        66(param):     17(ptr) Variable Function
338        67(param):     11(ptr) Variable Function
339        68(param):     11(ptr) Variable Function
340               58:   16(fvec4) Load 57(input)
341                               Store 55(input) 58
342               65:   16(fvec4) Load 55(input)
343                               Store 64(param) 65
344               69:   16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param)
345               70:   16(fvec4) Load 66(param)
346                               Store 61(out1) 70
347               71:10(OutParam) Load 67(param)
348                               Store 62(out2) 71
349               72:10(OutParam) Load 68(param)
350                               Store 63(out3) 72
351                               Store 60(@entryPointOutput) 69
352               74:   16(fvec4) Load 61(out1)
353                               Store 73(out1) 74
354               77:     28(ptr) AccessChain 62(out2) 25
355               78:    7(fvec2) Load 77
356                               Store 76(out2.v) 78
357               81:     33(ptr) AccessChain 62(out2) 30
358               82:    9(ivec2) Load 81
359                               Store 80(out2.i) 82
360               84:     28(ptr) AccessChain 63(out3) 25
361               85:    7(fvec2) Load 84
362                               Store 83(out3.v) 85
363               87:     33(ptr) AccessChain 63(out3) 30
364               88:    9(ivec2) Load 87
365                               Store 86(out3.i) 88
366                               Return
367                               FunctionEnd
368 14(fun(struct-OutParam-vf2-vi21;):           2 Function None 12
369           13(op):     11(ptr) FunctionParameter
370               15:             Label
371               29:     28(ptr) AccessChain 13(op) 25
372                               Store 29 27
373               34:     33(ptr) AccessChain 13(op) 30
374                               Store 34 32
375                               Return
376                               FunctionEnd
377 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;):   16(fvec4) Function None 18
378        19(input):     17(ptr) FunctionParameter
379         20(out1):     17(ptr) FunctionParameter
380         21(out2):     11(ptr) FunctionParameter
381         22(out3):     11(ptr) FunctionParameter
382               24:             Label
383        42(local):     11(ptr) Variable Function
384        49(param):     11(ptr) Variable Function
385               35:   16(fvec4) Load 19(input)
386                               Store 20(out1) 35
387               38:     28(ptr) AccessChain 21(out2) 25
388                               Store 38 37
389               41:     33(ptr) AccessChain 21(out2) 30
390                               Store 41 40
391               45:     28(ptr) AccessChain 42(local) 25
392                               Store 45 44
393               48:     33(ptr) AccessChain 42(local) 30
394                               Store 48 47
395               50:           2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param)
396               51:10(OutParam) Load 49(param)
397                               Store 22(out3) 51
398               52:   16(fvec4) Load 20(out1)
399                               ReturnValue 52
400                               FunctionEnd