64c60ed671fe945ffb9f3b5860f0f1f19936b962
[platform/upstream/glslang.git] / Test / baseResults / hlsl.structIoFourWay.frag.out
1 hlsl.structIoFourWay.frag
2 Shader version: 450
3 gl_FragCoord origin is upper left
4 using depth_greater
5 0:? Sequence
6 0:15  Function Definition: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
7 0:15    Function Parameters: 
8 0:15      't' ( in structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
9 0:?     Sequence
10 0:17      Branch: Return with expression
11 0:17        'local' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
12 0:15  Function Definition: main( ( temp void)
13 0:15    Function Parameters: 
14 0:?     Sequence
15 0:15      move second child to first child ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
16 0:?         't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
17 0:?         't' (layout( location=0) in structure{ temp float f,  centroid temp float g,  temp float d,  temp 4-component vector of float normal})
18 0:15      Sequence
19 0:15        move second child to first child ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
20 0:15          'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
21 0:15          Function Call: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
22 0:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
23 0:15        move second child to first child ( temp float)
24 0:?           'f' (layout( location=0) out float)
25 0:15          f: direct index for structure ( temp float)
26 0:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
27 0:15            Constant:
28 0:15              0 (const int)
29 0:15        move second child to first child ( temp float)
30 0:?           'g' (layout( location=1) out float)
31 0:15          g: direct index for structure ( temp float)
32 0:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
33 0:15            Constant:
34 0:15              1 (const int)
35 0:15        move second child to first child ( temp float)
36 0:?           'd' ( out float FragDepth)
37 0:15          d: direct index for structure ( temp float)
38 0:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
39 0:15            Constant:
40 0:15              2 (const int)
41 0:15        move second child to first child ( temp 4-component vector of float)
42 0:?           'normal' (layout( location=2) out 4-component vector of float)
43 0:15          normal: direct index for structure ( temp 4-component vector of float)
44 0:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
45 0:15            Constant:
46 0:15              3 (const int)
47 0:?   Linker Objects
48 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{layout( offset=68) temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} s})
49 0:?     'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} t})
50 0:?     'f' (layout( location=0) out float)
51 0:?     'g' (layout( location=1) out float)
52 0:?     'd' ( out float FragDepth)
53 0:?     'normal' (layout( location=2) out 4-component vector of float)
54 0:?     't' (layout( location=0) in structure{ temp float f,  centroid temp float g,  temp float d,  temp 4-component vector of float normal})
55
56
57 Linked fragment stage:
58
59
60 Shader version: 450
61 gl_FragCoord origin is upper left
62 using depth_greater
63 0:? Sequence
64 0:15  Function Definition: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
65 0:15    Function Parameters: 
66 0:15      't' ( in structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
67 0:?     Sequence
68 0:17      Branch: Return with expression
69 0:17        'local' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
70 0:15  Function Definition: main( ( temp void)
71 0:15    Function Parameters: 
72 0:?     Sequence
73 0:15      move second child to first child ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
74 0:?         't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
75 0:?         't' (layout( location=0) in structure{ temp float f,  centroid temp float g,  temp float d,  temp 4-component vector of float normal})
76 0:15      Sequence
77 0:15        move second child to first child ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
78 0:15          'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
79 0:15          Function Call: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
80 0:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
81 0:15        move second child to first child ( temp float)
82 0:?           'f' (layout( location=0) out float)
83 0:15          f: direct index for structure ( temp float)
84 0:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
85 0:15            Constant:
86 0:15              0 (const int)
87 0:15        move second child to first child ( temp float)
88 0:?           'g' (layout( location=1) out float)
89 0:15          g: direct index for structure ( temp float)
90 0:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
91 0:15            Constant:
92 0:15              1 (const int)
93 0:15        move second child to first child ( temp float)
94 0:?           'd' ( out float FragDepth)
95 0:15          d: direct index for structure ( temp float)
96 0:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
97 0:15            Constant:
98 0:15              2 (const int)
99 0:15        move second child to first child ( temp 4-component vector of float)
100 0:?           'normal' (layout( location=2) out 4-component vector of float)
101 0:15          normal: direct index for structure ( temp 4-component vector of float)
102 0:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
103 0:15            Constant:
104 0:15              3 (const int)
105 0:?   Linker Objects
106 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{layout( offset=68) temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} s})
107 0:?     'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} t})
108 0:?     'f' (layout( location=0) out float)
109 0:?     'g' (layout( location=1) out float)
110 0:?     'd' ( out float FragDepth)
111 0:?     'normal' (layout( location=2) out 4-component vector of float)
112 0:?     't' (layout( location=0) in structure{ temp float f,  centroid temp float g,  temp float d,  temp 4-component vector of float normal})
113
114 // Module Version 10000
115 // Generated by (magic number): 80001
116 // Id's are bound by 64
117
118                               Capability Shader
119                1:             ExtInstImport  "GLSL.std.450"
120                               MemoryModel Logical GLSL450
121                               EntryPoint Fragment 4  "main" 21 43 46 49 53
122                               ExecutionMode 4 OriginUpperLeft
123                               ExecutionMode 4 DepthGreater
124                               Name 4  "main"
125                               Name 8  "T"
126                               MemberName 8(T) 0  "f"
127                               MemberName 8(T) 1  "g"
128                               MemberName 8(T) 2  "d"
129                               MemberName 8(T) 3  "normal"
130                               Name 12  "@main(struct-T-f1-f1-f1-vf41;"
131                               Name 11  "t"
132                               Name 14  "local"
133                               Name 18  "t"
134                               Name 19  "T"
135                               MemberName 19(T) 0  "f"
136                               MemberName 19(T) 1  "g"
137                               MemberName 19(T) 2  "d"
138                               MemberName 19(T) 3  "normal"
139                               Name 21  "t"
140                               Name 38  "flattenTemp"
141                               Name 39  "param"
142                               Name 43  "f"
143                               Name 46  "g"
144                               Name 49  "d"
145                               Name 53  "normal"
146                               Name 56  "T"
147                               MemberName 56(T) 0  "f"
148                               MemberName 56(T) 1  "g"
149                               MemberName 56(T) 2  "d"
150                               MemberName 56(T) 3  "normal"
151                               Name 57  "$Global"
152                               MemberName 57($Global) 0  "s"
153                               Name 59  ""
154                               Name 60  "T"
155                               MemberName 60(T) 0  "f"
156                               MemberName 60(T) 1  "g"
157                               MemberName 60(T) 2  "d"
158                               MemberName 60(T) 3  "normal"
159                               Name 61  "buff"
160                               MemberName 61(buff) 0  "t"
161                               Name 63  ""
162                               MemberDecorate 19(T) 1 Centroid
163                               Decorate 21(t) Location 0
164                               Decorate 43(f) Location 0
165                               Decorate 46(g) Location 1
166                               Decorate 49(d) BuiltIn FragDepth
167                               Decorate 53(normal) Location 2
168                               MemberDecorate 56(T) 0 Offset 68
169                               MemberDecorate 56(T) 1 Offset 72
170                               MemberDecorate 56(T) 2 Offset 76
171                               MemberDecorate 56(T) 3 Offset 80
172                               MemberDecorate 57($Global) 0 Offset 0
173                               Decorate 57($Global) Block
174                               Decorate 59 DescriptorSet 0
175                               MemberDecorate 60(T) 0 Offset 0
176                               MemberDecorate 60(T) 1 Offset 4
177                               MemberDecorate 60(T) 2 Offset 8
178                               MemberDecorate 60(T) 3 Offset 16
179                               MemberDecorate 61(buff) 0 Offset 96
180                               Decorate 61(buff) Block
181                               Decorate 63 DescriptorSet 0
182                2:             TypeVoid
183                3:             TypeFunction 2
184                6:             TypeFloat 32
185                7:             TypeVector 6(float) 4
186             8(T):             TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
187                9:             TypePointer Function 8(T)
188               10:             TypeFunction 8(T) 9(ptr)
189            19(T):             TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
190               20:             TypePointer Input 19(T)
191            21(t):     20(ptr) Variable Input
192               24:             TypeInt 32 1
193               25:     24(int) Constant 0
194               26:             TypePointer Function 6(float)
195               29:     24(int) Constant 1
196               32:     24(int) Constant 2
197               35:     24(int) Constant 3
198               36:             TypePointer Function 7(fvec4)
199               42:             TypePointer Output 6(float)
200            43(f):     42(ptr) Variable Output
201            46(g):     42(ptr) Variable Output
202            49(d):     42(ptr) Variable Output
203               52:             TypePointer Output 7(fvec4)
204       53(normal):     52(ptr) Variable Output
205            56(T):             TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
206      57($Global):             TypeStruct 56(T)
207               58:             TypePointer Uniform 57($Global)
208               59:     58(ptr) Variable Uniform
209            60(T):             TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
210         61(buff):             TypeStruct 60(T)
211               62:             TypePointer Uniform 61(buff)
212               63:     62(ptr) Variable Uniform
213          4(main):           2 Function None 3
214                5:             Label
215            18(t):      9(ptr) Variable Function
216  38(flattenTemp):      9(ptr) Variable Function
217        39(param):      9(ptr) Variable Function
218               22:       19(T) Load 21(t)
219               23:    6(float) CompositeExtract 22 0
220               27:     26(ptr) AccessChain 18(t) 25
221                               Store 27 23
222               28:    6(float) CompositeExtract 22 1
223               30:     26(ptr) AccessChain 18(t) 29
224                               Store 30 28
225               31:    6(float) CompositeExtract 22 2
226               33:     26(ptr) AccessChain 18(t) 32
227                               Store 33 31
228               34:    7(fvec4) CompositeExtract 22 3
229               37:     36(ptr) AccessChain 18(t) 35
230                               Store 37 34
231               40:        8(T) Load 18(t)
232                               Store 39(param) 40
233               41:        8(T) FunctionCall 12(@main(struct-T-f1-f1-f1-vf41;) 39(param)
234                               Store 38(flattenTemp) 41
235               44:     26(ptr) AccessChain 38(flattenTemp) 25
236               45:    6(float) Load 44
237                               Store 43(f) 45
238               47:     26(ptr) AccessChain 38(flattenTemp) 29
239               48:    6(float) Load 47
240                               Store 46(g) 48
241               50:     26(ptr) AccessChain 38(flattenTemp) 32
242               51:    6(float) Load 50
243                               Store 49(d) 51
244               54:     36(ptr) AccessChain 38(flattenTemp) 35
245               55:    7(fvec4) Load 54
246                               Store 53(normal) 55
247                               Return
248                               FunctionEnd
249 12(@main(struct-T-f1-f1-f1-vf41;):        8(T) Function None 10
250            11(t):      9(ptr) FunctionParameter
251               13:             Label
252        14(local):      9(ptr) Variable Function
253               15:        8(T) Load 14(local)
254                               ReturnValue 15
255                               FunctionEnd