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