Update CHANGES for release 11.12.0
[platform/upstream/glslang.git] / Test / baseResults / hlsl.hull.3.tesc.out
1 hlsl.hull.3.tesc
2 Shader version: 500
3 vertices = 4
4 vertex spacing = equal_spacing
5 0:? Sequence
6 0:26  Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
7 0:26    Function Parameters: 
8 0:26      'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
9 0:?     Sequence
10 0:28      move second child to first child ( temp 3-component vector of float)
11 0:28        cpoint: direct index for structure ( temp 3-component vector of float)
12 0:28          'output' ( temp structure{ temp 3-component vector of float cpoint})
13 0:28          Constant:
14 0:28            0 (const int)
15 0:28        cpoint: direct index for structure ( temp 3-component vector of float)
16 0:28          direct index ( temp structure{ temp 3-component vector of float cpoint})
17 0:28            'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
18 0:28            Constant:
19 0:28              0 (const int)
20 0:28          Constant:
21 0:28            0 (const int)
22 0:29      Branch: Return with expression
23 0:29        'output' ( temp structure{ temp 3-component vector of float cpoint})
24 0:26  Function Definition: main( ( temp void)
25 0:26    Function Parameters: 
26 0:?     Sequence
27 0:26      Sequence
28 0:26        move second child to first child ( temp 3-component vector of float)
29 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
30 0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
31 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
32 0:26              Constant:
33 0:26                0 (const int)
34 0:26            Constant:
35 0:26              0 (const int)
36 0:26          direct index (layout( location=0) in 3-component vector of float)
37 0:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
38 0:26            Constant:
39 0:26              0 (const int)
40 0:26        move second child to first child ( temp 3-component vector of float)
41 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
42 0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
43 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
44 0:26              Constant:
45 0:26                1 (const int)
46 0:26            Constant:
47 0:26              0 (const int)
48 0:26          direct index (layout( location=0) in 3-component vector of float)
49 0:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
50 0:26            Constant:
51 0:26              1 (const int)
52 0:26        move second child to first child ( temp 3-component vector of float)
53 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
54 0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
55 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
56 0:26              Constant:
57 0:26                2 (const int)
58 0:26            Constant:
59 0:26              0 (const int)
60 0:26          direct index (layout( location=0) in 3-component vector of float)
61 0:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
62 0:26            Constant:
63 0:26              2 (const int)
64 0:26        move second child to first child ( temp 3-component vector of float)
65 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
66 0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
67 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
68 0:26              Constant:
69 0:26                3 (const int)
70 0:26            Constant:
71 0:26              0 (const int)
72 0:26          direct index (layout( location=0) in 3-component vector of float)
73 0:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
74 0:26            Constant:
75 0:26              3 (const int)
76 0:26      Sequence
77 0:26        move second child to first child ( temp 3-component vector of float)
78 0:26          indirect index (layout( location=0) out 3-component vector of float)
79 0:?             '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
80 0:?             'InvocationId' ( in uint InvocationID)
81 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
82 0:26            Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
83 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
84 0:26            Constant:
85 0:26              0 (const int)
86 0:?       Barrier ( temp void)
87 0:?       Test condition and select ( temp void)
88 0:?         Condition
89 0:?         Compare Equal ( temp bool)
90 0:?           'InvocationId' ( in uint InvocationID)
91 0:?           Constant:
92 0:?             0 (const int)
93 0:?         true case
94 0:?         Sequence
95 0:?           move second child to first child ( temp structure{ temp 2-element array of float edges})
96 0:?             '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
97 0:?             Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
98 0:?               'pid' ( in uint PrimitiveID)
99 0:?               'pos' ( in 4-component vector of float Position)
100 0:?           Sequence
101 0:?             move second child to first child ( temp float)
102 0:?               direct index ( patch out float TessLevelOuter)
103 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
104 0:?                 Constant:
105 0:?                   0 (const int)
106 0:?               direct index ( temp float)
107 0:?                 edges: direct index for structure ( temp 2-element array of float)
108 0:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
109 0:?                   Constant:
110 0:?                     0 (const int)
111 0:?                 Constant:
112 0:?                   0 (const int)
113 0:?             move second child to first child ( temp float)
114 0:?               direct index ( patch out float TessLevelOuter)
115 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
116 0:?                 Constant:
117 0:?                   1 (const int)
118 0:?               direct index ( temp float)
119 0:?                 edges: direct index for structure ( temp 2-element array of float)
120 0:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
121 0:?                   Constant:
122 0:?                     0 (const int)
123 0:?                 Constant:
124 0:?                   1 (const int)
125 0:33  Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
126 0:33    Function Parameters: 
127 0:33      'pid' ( in uint)
128 0:33      'pos' ( in 4-component vector of float)
129 0:?     Sequence
130 0:36      move second child to first child ( temp float)
131 0:36        direct index ( temp float)
132 0:36          edges: direct index for structure ( temp 2-element array of float)
133 0:36            'output' ( temp structure{ temp 2-element array of float edges})
134 0:36            Constant:
135 0:36              0 (const int)
136 0:36          Constant:
137 0:36            0 (const int)
138 0:36        Constant:
139 0:36          2.000000
140 0:37      move second child to first child ( temp float)
141 0:37        direct index ( temp float)
142 0:37          edges: direct index for structure ( temp 2-element array of float)
143 0:37            'output' ( temp structure{ temp 2-element array of float edges})
144 0:37            Constant:
145 0:37              0 (const int)
146 0:37          Constant:
147 0:37            1 (const int)
148 0:37        Constant:
149 0:37          8.000000
150 0:38      Branch: Return with expression
151 0:38        'output' ( temp structure{ temp 2-element array of float edges})
152 0:?   Linker Objects
153 0:?     '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
154 0:?     'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
155 0:?     'InvocationId' ( in uint InvocationID)
156 0:?     'pid' ( in uint PrimitiveID)
157 0:?     'pos' ( in 4-component vector of float Position)
158 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
159
160
161 Linked tessellation control stage:
162
163
164 Shader version: 500
165 vertices = 4
166 vertex spacing = equal_spacing
167 0:? Sequence
168 0:26  Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
169 0:26    Function Parameters: 
170 0:26      'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
171 0:?     Sequence
172 0:28      move second child to first child ( temp 3-component vector of float)
173 0:28        cpoint: direct index for structure ( temp 3-component vector of float)
174 0:28          'output' ( temp structure{ temp 3-component vector of float cpoint})
175 0:28          Constant:
176 0:28            0 (const int)
177 0:28        cpoint: direct index for structure ( temp 3-component vector of float)
178 0:28          direct index ( temp structure{ temp 3-component vector of float cpoint})
179 0:28            'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
180 0:28            Constant:
181 0:28              0 (const int)
182 0:28          Constant:
183 0:28            0 (const int)
184 0:29      Branch: Return with expression
185 0:29        'output' ( temp structure{ temp 3-component vector of float cpoint})
186 0:26  Function Definition: main( ( temp void)
187 0:26    Function Parameters: 
188 0:?     Sequence
189 0:26      Sequence
190 0:26        move second child to first child ( temp 3-component vector of float)
191 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
192 0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
193 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
194 0:26              Constant:
195 0:26                0 (const int)
196 0:26            Constant:
197 0:26              0 (const int)
198 0:26          direct index (layout( location=0) in 3-component vector of float)
199 0:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
200 0:26            Constant:
201 0:26              0 (const int)
202 0:26        move second child to first child ( temp 3-component vector of float)
203 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
204 0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
205 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
206 0:26              Constant:
207 0:26                1 (const int)
208 0:26            Constant:
209 0:26              0 (const int)
210 0:26          direct index (layout( location=0) in 3-component vector of float)
211 0:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
212 0:26            Constant:
213 0:26              1 (const int)
214 0:26        move second child to first child ( temp 3-component vector of float)
215 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
216 0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
217 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
218 0:26              Constant:
219 0:26                2 (const int)
220 0:26            Constant:
221 0:26              0 (const int)
222 0:26          direct index (layout( location=0) in 3-component vector of float)
223 0:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
224 0:26            Constant:
225 0:26              2 (const int)
226 0:26        move second child to first child ( temp 3-component vector of float)
227 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
228 0:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
229 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
230 0:26              Constant:
231 0:26                3 (const int)
232 0:26            Constant:
233 0:26              0 (const int)
234 0:26          direct index (layout( location=0) in 3-component vector of float)
235 0:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
236 0:26            Constant:
237 0:26              3 (const int)
238 0:26      Sequence
239 0:26        move second child to first child ( temp 3-component vector of float)
240 0:26          indirect index (layout( location=0) out 3-component vector of float)
241 0:?             '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
242 0:?             'InvocationId' ( in uint InvocationID)
243 0:26          cpoint: direct index for structure ( temp 3-component vector of float)
244 0:26            Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
245 0:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
246 0:26            Constant:
247 0:26              0 (const int)
248 0:?       Barrier ( temp void)
249 0:?       Test condition and select ( temp void)
250 0:?         Condition
251 0:?         Compare Equal ( temp bool)
252 0:?           'InvocationId' ( in uint InvocationID)
253 0:?           Constant:
254 0:?             0 (const int)
255 0:?         true case
256 0:?         Sequence
257 0:?           move second child to first child ( temp structure{ temp 2-element array of float edges})
258 0:?             '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
259 0:?             Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
260 0:?               'pid' ( in uint PrimitiveID)
261 0:?               'pos' ( in 4-component vector of float Position)
262 0:?           Sequence
263 0:?             move second child to first child ( temp float)
264 0:?               direct index ( patch out float TessLevelOuter)
265 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
266 0:?                 Constant:
267 0:?                   0 (const int)
268 0:?               direct index ( temp float)
269 0:?                 edges: direct index for structure ( temp 2-element array of float)
270 0:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
271 0:?                   Constant:
272 0:?                     0 (const int)
273 0:?                 Constant:
274 0:?                   0 (const int)
275 0:?             move second child to first child ( temp float)
276 0:?               direct index ( patch out float TessLevelOuter)
277 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
278 0:?                 Constant:
279 0:?                   1 (const int)
280 0:?               direct index ( temp float)
281 0:?                 edges: direct index for structure ( temp 2-element array of float)
282 0:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
283 0:?                   Constant:
284 0:?                     0 (const int)
285 0:?                 Constant:
286 0:?                   1 (const int)
287 0:33  Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
288 0:33    Function Parameters: 
289 0:33      'pid' ( in uint)
290 0:33      'pos' ( in 4-component vector of float)
291 0:?     Sequence
292 0:36      move second child to first child ( temp float)
293 0:36        direct index ( temp float)
294 0:36          edges: direct index for structure ( temp 2-element array of float)
295 0:36            'output' ( temp structure{ temp 2-element array of float edges})
296 0:36            Constant:
297 0:36              0 (const int)
298 0:36          Constant:
299 0:36            0 (const int)
300 0:36        Constant:
301 0:36          2.000000
302 0:37      move second child to first child ( temp float)
303 0:37        direct index ( temp float)
304 0:37          edges: direct index for structure ( temp 2-element array of float)
305 0:37            'output' ( temp structure{ temp 2-element array of float edges})
306 0:37            Constant:
307 0:37              0 (const int)
308 0:37          Constant:
309 0:37            1 (const int)
310 0:37        Constant:
311 0:37          8.000000
312 0:38      Branch: Return with expression
313 0:38        'output' ( temp structure{ temp 2-element array of float edges})
314 0:?   Linker Objects
315 0:?     '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
316 0:?     'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
317 0:?     'InvocationId' ( in uint InvocationID)
318 0:?     'pid' ( in uint PrimitiveID)
319 0:?     'pos' ( in 4-component vector of float Position)
320 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
321
322 // Module Version 10000
323 // Generated by (magic number): 8000b
324 // Id's are bound by 106
325
326                               Capability Tessellation
327                1:             ExtInstImport  "GLSL.std.450"
328                               MemoryModel Logical GLSL450
329                               EntryPoint TessellationControl 4  "main" 43 61 63 79 81 89
330                               ExecutionMode 4 OutputVertices 4
331                               ExecutionMode 4 Triangles
332                               ExecutionMode 4 SpacingEqual
333                               ExecutionMode 4 PointMode
334                               Source HLSL 500
335                               Name 4  "main"
336                               Name 8  "VS_OUT"
337                               MemberName 8(VS_OUT) 0  "cpoint"
338                               Name 13  "HS_OUT"
339                               MemberName 13(HS_OUT) 0  "cpoint"
340                               Name 16  "@main(struct-VS_OUT-vf31[4];"
341                               Name 15  "ip"
342                               Name 23  "HS_CONSTANT_OUT"
343                               MemberName 23(HS_CONSTANT_OUT) 0  "edges"
344                               Name 27  "PCF(u1;vf4;"
345                               Name 25  "pid"
346                               Name 26  "pos"
347                               Name 30  "output"
348                               Name 40  "ip"
349                               Name 43  "ip.cpoint"
350                               Name 61  "@entryPointOutput.cpoint"
351                               Name 63  "InvocationId"
352                               Name 65  "param"
353                               Name 78  "@patchConstantResult"
354                               Name 79  "pid"
355                               Name 81  "pos"
356                               Name 82  "param"
357                               Name 84  "param"
358                               Name 89  "@patchConstantOutput.edges"
359                               Name 98  "output"
360                               Decorate 43(ip.cpoint) Location 0
361                               Decorate 61(@entryPointOutput.cpoint) Location 0
362                               Decorate 63(InvocationId) BuiltIn InvocationId
363                               Decorate 79(pid) BuiltIn PrimitiveId
364                               Decorate 81(pos) BuiltIn Position
365                               Decorate 89(@patchConstantOutput.edges) Patch
366                               Decorate 89(@patchConstantOutput.edges) BuiltIn TessLevelOuter
367                2:             TypeVoid
368                3:             TypeFunction 2
369                6:             TypeFloat 32
370                7:             TypeVector 6(float) 3
371        8(VS_OUT):             TypeStruct 7(fvec3)
372                9:             TypeInt 32 0
373               10:      9(int) Constant 4
374               11:             TypeArray 8(VS_OUT) 10
375               12:             TypePointer Function 11
376       13(HS_OUT):             TypeStruct 7(fvec3)
377               14:             TypeFunction 13(HS_OUT) 12(ptr)
378               18:             TypePointer Function 9(int)
379               19:             TypeVector 6(float) 4
380               20:             TypePointer Function 19(fvec4)
381               21:      9(int) Constant 2
382               22:             TypeArray 6(float) 21
383 23(HS_CONSTANT_OUT):             TypeStruct 22
384               24:             TypeFunction 23(HS_CONSTANT_OUT) 18(ptr) 20(ptr)
385               29:             TypePointer Function 13(HS_OUT)
386               31:             TypeInt 32 1
387               32:     31(int) Constant 0
388               33:             TypePointer Function 7(fvec3)
389               41:             TypeArray 7(fvec3) 10
390               42:             TypePointer Input 41
391    43(ip.cpoint):     42(ptr) Variable Input
392               44:             TypePointer Input 7(fvec3)
393               48:     31(int) Constant 1
394               52:     31(int) Constant 2
395               56:     31(int) Constant 3
396               60:             TypePointer Output 41
397 61(@entryPointOutput.cpoint):     60(ptr) Variable Output
398               62:             TypePointer Input 9(int)
399 63(InvocationId):     62(ptr) Variable Input
400               69:             TypePointer Output 7(fvec3)
401               71:      9(int) Constant 0
402               73:             TypeBool
403               77:             TypePointer Function 23(HS_CONSTANT_OUT)
404          79(pid):     62(ptr) Variable Input
405               80:             TypePointer Input 19(fvec4)
406          81(pos):     80(ptr) Variable Input
407               87:             TypeArray 6(float) 10
408               88:             TypePointer Output 87
409 89(@patchConstantOutput.edges):     88(ptr) Variable Output
410               90:             TypePointer Function 6(float)
411               93:             TypePointer Output 6(float)
412               99:    6(float) Constant 1073741824
413              101:    6(float) Constant 1090519040
414          4(main):           2 Function None 3
415                5:             Label
416           40(ip):     12(ptr) Variable Function
417        65(param):     12(ptr) Variable Function
418 78(@patchConstantResult):     77(ptr) Variable Function
419        82(param):     18(ptr) Variable Function
420        84(param):     20(ptr) Variable Function
421               45:     44(ptr) AccessChain 43(ip.cpoint) 32
422               46:    7(fvec3) Load 45
423               47:     33(ptr) AccessChain 40(ip) 32 32
424                               Store 47 46
425               49:     44(ptr) AccessChain 43(ip.cpoint) 48
426               50:    7(fvec3) Load 49
427               51:     33(ptr) AccessChain 40(ip) 48 32
428                               Store 51 50
429               53:     44(ptr) AccessChain 43(ip.cpoint) 52
430               54:    7(fvec3) Load 53
431               55:     33(ptr) AccessChain 40(ip) 52 32
432                               Store 55 54
433               57:     44(ptr) AccessChain 43(ip.cpoint) 56
434               58:    7(fvec3) Load 57
435               59:     33(ptr) AccessChain 40(ip) 56 32
436                               Store 59 58
437               64:      9(int) Load 63(InvocationId)
438               66:          11 Load 40(ip)
439                               Store 65(param) 66
440               67:  13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[4];) 65(param)
441               68:    7(fvec3) CompositeExtract 67 0
442               70:     69(ptr) AccessChain 61(@entryPointOutput.cpoint) 64
443                               Store 70 68
444                               ControlBarrier 21 10 71
445               72:      9(int) Load 63(InvocationId)
446               74:    73(bool) IEqual 72 32
447                               SelectionMerge 76 None
448                               BranchConditional 74 75 76
449               75:               Label
450               83:      9(int)   Load 79(pid)
451                                 Store 82(param) 83
452               85:   19(fvec4)   Load 81(pos)
453                                 Store 84(param) 85
454               86:23(HS_CONSTANT_OUT)   FunctionCall 27(PCF(u1;vf4;) 82(param) 84(param)
455                                 Store 78(@patchConstantResult) 86
456               91:     90(ptr)   AccessChain 78(@patchConstantResult) 32 32
457               92:    6(float)   Load 91
458               94:     93(ptr)   AccessChain 89(@patchConstantOutput.edges) 32
459                                 Store 94 92
460               95:     90(ptr)   AccessChain 78(@patchConstantResult) 32 48
461               96:    6(float)   Load 95
462               97:     93(ptr)   AccessChain 89(@patchConstantOutput.edges) 48
463                                 Store 97 96
464                                 Branch 76
465               76:             Label
466                               Return
467                               FunctionEnd
468 16(@main(struct-VS_OUT-vf31[4];):  13(HS_OUT) Function None 14
469           15(ip):     12(ptr) FunctionParameter
470               17:             Label
471       30(output):     29(ptr) Variable Function
472               34:     33(ptr) AccessChain 15(ip) 32 32
473               35:    7(fvec3) Load 34
474               36:     33(ptr) AccessChain 30(output) 32
475                               Store 36 35
476               37:  13(HS_OUT) Load 30(output)
477                               ReturnValue 37
478                               FunctionEnd
479  27(PCF(u1;vf4;):23(HS_CONSTANT_OUT) Function None 24
480          25(pid):     18(ptr) FunctionParameter
481          26(pos):     20(ptr) FunctionParameter
482               28:             Label
483       98(output):     77(ptr) Variable Function
484              100:     90(ptr) AccessChain 98(output) 32 32
485                               Store 100 99
486              102:     90(ptr) AccessChain 98(output) 32 48
487                               Store 102 101
488              103:23(HS_CONSTANT_OUT) Load 98(output)
489                               ReturnValue 103
490                               FunctionEnd