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