1hlsl.structIoFourWay.frag
2Shader version: 500
3gl_FragCoord origin is upper left
4using depth_greater
50:? Sequence
60: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})
70:15    Function Parameters:
80:15      't' ( in structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
90:?     Sequence
100:17      Branch: Return with expression
110:17        'local' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
120:15  Function Definition: main( ( temp void)
130:15    Function Parameters:
140:?     Sequence
150:15      Sequence
160:15        move second child to first child ( temp float)
170:15          f: direct index for structure ( temp float)
180:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
190:15            Constant:
200:15              0 (const int)
210:?           't.f' (layout( location=0) in float)
220:15        move second child to first child ( temp float)
230:15          g: direct index for structure ( temp float)
240:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
250:15            Constant:
260:15              1 (const int)
270:?           't.g' (layout( location=1) centroid in float)
280:15        move second child to first child ( temp float)
290:15          d: direct index for structure ( temp float)
300:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
310:15            Constant:
320:15              2 (const int)
330:?           't.d' (layout( location=2) in float)
340:15        move second child to first child ( temp 4-component vector of float)
350:15          normal: direct index for structure ( temp 4-component vector of float)
360:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
370:15            Constant:
380:15              3 (const int)
390:?           't.normal' (layout( location=3) in 4-component vector of float)
400:15      Sequence
410: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})
420:15          'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
430: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})
440:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
450:15        move second child to first child ( temp float)
460:?           '@entryPointOutput.f' (layout( location=0) out float)
470:15          f: direct index for structure ( temp float)
480:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
490:15            Constant:
500:15              0 (const int)
510:15        move second child to first child ( temp float)
520:?           '@entryPointOutput.g' (layout( location=1) out float)
530:15          g: direct index for structure ( temp float)
540:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
550:15            Constant:
560:15              1 (const int)
570:15        move second child to first child ( temp float)
580:?           '@entryPointOutput.d' ( out float FragDepth)
590:15          d: direct index for structure ( temp float)
600:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
610:15            Constant:
620:15              2 (const int)
630:15        move second child to first child ( temp 4-component vector of float)
640:?           '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float)
650:15          normal: direct index for structure ( temp 4-component vector of float)
660:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
670:15            Constant:
680:15              3 (const int)
690:?   Linker Objects
700:?     '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})
710:?     'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{layout( offset=68) temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} t})
720:?     '@entryPointOutput.d' ( out float FragDepth)
730:?     '@entryPointOutput.f' (layout( location=0) out float)
740:?     '@entryPointOutput.g' (layout( location=1) out float)
750:?     '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float)
760:?     't.f' (layout( location=0) in float)
770:?     't.g' (layout( location=1) centroid in float)
780:?     't.d' (layout( location=2) in float)
790:?     't.normal' (layout( location=3) in 4-component vector of float)
80
81
82Linked fragment stage:
83
84
85Shader version: 500
86gl_FragCoord origin is upper left
87using depth_greater
880:? Sequence
890: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})
900:15    Function Parameters:
910:15      't' ( in structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
920:?     Sequence
930:17      Branch: Return with expression
940:17        'local' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
950:15  Function Definition: main( ( temp void)
960:15    Function Parameters:
970:?     Sequence
980:15      Sequence
990:15        move second child to first child ( temp float)
1000:15          f: direct index for structure ( temp float)
1010:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1020:15            Constant:
1030:15              0 (const int)
1040:?           't.f' (layout( location=0) in float)
1050:15        move second child to first child ( temp float)
1060:15          g: direct index for structure ( temp float)
1070:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1080:15            Constant:
1090:15              1 (const int)
1100:?           't.g' (layout( location=1) centroid in float)
1110:15        move second child to first child ( temp float)
1120:15          d: direct index for structure ( temp float)
1130:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1140:15            Constant:
1150:15              2 (const int)
1160:?           't.d' (layout( location=2) in float)
1170:15        move second child to first child ( temp 4-component vector of float)
1180:15          normal: direct index for structure ( temp 4-component vector of float)
1190:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1200:15            Constant:
1210:15              3 (const int)
1220:?           't.normal' (layout( location=3) in 4-component vector of float)
1230:15      Sequence
1240: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})
1250:15          'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1260: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})
1270:?             't' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1280:15        move second child to first child ( temp float)
1290:?           '@entryPointOutput.f' (layout( location=0) out float)
1300:15          f: direct index for structure ( temp float)
1310:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1320:15            Constant:
1330:15              0 (const int)
1340:15        move second child to first child ( temp float)
1350:?           '@entryPointOutput.g' (layout( location=1) out float)
1360:15          g: direct index for structure ( temp float)
1370:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1380:15            Constant:
1390:15              1 (const int)
1400:15        move second child to first child ( temp float)
1410:?           '@entryPointOutput.d' ( out float FragDepth)
1420:15          d: direct index for structure ( temp float)
1430:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1440:15            Constant:
1450:15              2 (const int)
1460:15        move second child to first child ( temp 4-component vector of float)
1470:?           '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float)
1480:15          normal: direct index for structure ( temp 4-component vector of float)
1490:15            'flattenTemp' ( temp structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal})
1500:15            Constant:
1510:15              3 (const int)
1520:?   Linker Objects
1530:?     '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})
1540:?     'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{layout( offset=68) temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} t})
1550:?     '@entryPointOutput.d' ( out float FragDepth)
1560:?     '@entryPointOutput.f' (layout( location=0) out float)
1570:?     '@entryPointOutput.g' (layout( location=1) out float)
1580:?     '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float)
1590:?     't.f' (layout( location=0) in float)
1600:?     't.g' (layout( location=1) centroid in float)
1610:?     't.d' (layout( location=2) in float)
1620:?     't.normal' (layout( location=3) in 4-component vector of float)
163
164// Module Version 10000
165// Generated by (magic number): 80007
166// Id's are bound by 65
167
168                              Capability Shader
169               1:             ExtInstImport  "GLSL.std.450"
170                              MemoryModel Logical GLSL450
171                              EntryPoint Fragment 4  "main" 22 27 31 36 45 48 51 55
172                              ExecutionMode 4 OriginUpperLeft
173                              ExecutionMode 4 DepthGreater
174                              ExecutionMode 4 DepthReplacing
175                              Source HLSL 500
176                              Name 4  "main"
177                              Name 8  "T"
178                              MemberName 8(T) 0  "f"
179                              MemberName 8(T) 1  "g"
180                              MemberName 8(T) 2  "d"
181                              MemberName 8(T) 3  "normal"
182                              Name 12  "@main(struct-T-f1-f1-f1-vf41;"
183                              Name 11  "t"
184                              Name 14  "local"
185                              Name 18  "t"
186                              Name 22  "t.f"
187                              Name 27  "t.g"
188                              Name 31  "t.d"
189                              Name 36  "t.normal"
190                              Name 40  "flattenTemp"
191                              Name 41  "param"
192                              Name 45  "@entryPointOutput.f"
193                              Name 48  "@entryPointOutput.g"
194                              Name 51  "@entryPointOutput.d"
195                              Name 55  "@entryPointOutput.normal"
196                              Name 58  "T"
197                              MemberName 58(T) 0  "f"
198                              MemberName 58(T) 1  "g"
199                              MemberName 58(T) 2  "d"
200                              MemberName 58(T) 3  "normal"
201                              Name 59  "$Global"
202                              MemberName 59($Global) 0  "s"
203                              Name 61  ""
204                              Name 62  "buff"
205                              MemberName 62(buff) 0  "t"
206                              Name 64  ""
207                              Decorate 22(t.f) Location 0
208                              Decorate 27(t.g) Centroid
209                              Decorate 27(t.g) Location 1
210                              Decorate 31(t.d) Location 2
211                              Decorate 36(t.normal) Location 3
212                              Decorate 45(@entryPointOutput.f) Location 0
213                              Decorate 48(@entryPointOutput.g) Location 1
214                              Decorate 51(@entryPointOutput.d) BuiltIn FragDepth
215                              Decorate 55(@entryPointOutput.normal) Location 2
216                              MemberDecorate 58(T) 0 Offset 68
217                              MemberDecorate 58(T) 1 Offset 72
218                              MemberDecorate 58(T) 2 Offset 76
219                              MemberDecorate 58(T) 3 Offset 80
220                              MemberDecorate 59($Global) 0 Offset 0
221                              Decorate 59($Global) Block
222                              Decorate 61 DescriptorSet 0
223                              MemberDecorate 62(buff) 0 Offset 96
224                              Decorate 62(buff) Block
225                              Decorate 64 DescriptorSet 0
226               2:             TypeVoid
227               3:             TypeFunction 2
228               6:             TypeFloat 32
229               7:             TypeVector 6(float) 4
230            8(T):             TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
231               9:             TypePointer Function 8(T)
232              10:             TypeFunction 8(T) 9(ptr)
233              19:             TypeInt 32 1
234              20:     19(int) Constant 0
235              21:             TypePointer Input 6(float)
236         22(t.f):     21(ptr) Variable Input
237              24:             TypePointer Function 6(float)
238              26:     19(int) Constant 1
239         27(t.g):     21(ptr) Variable Input
240              30:     19(int) Constant 2
241         31(t.d):     21(ptr) Variable Input
242              34:     19(int) Constant 3
243              35:             TypePointer Input 7(fvec4)
244    36(t.normal):     35(ptr) Variable Input
245              38:             TypePointer Function 7(fvec4)
246              44:             TypePointer Output 6(float)
24745(@entryPointOutput.f):     44(ptr) Variable Output
24848(@entryPointOutput.g):     44(ptr) Variable Output
24951(@entryPointOutput.d):     44(ptr) Variable Output
250              54:             TypePointer Output 7(fvec4)
25155(@entryPointOutput.normal):     54(ptr) Variable Output
252           58(T):             TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
253     59($Global):             TypeStruct 58(T)
254              60:             TypePointer Uniform 59($Global)
255              61:     60(ptr) Variable Uniform
256        62(buff):             TypeStruct 58(T)
257              63:             TypePointer Uniform 62(buff)
258              64:     63(ptr) Variable Uniform
259         4(main):           2 Function None 3
260               5:             Label
261           18(t):      9(ptr) Variable Function
262 40(flattenTemp):      9(ptr) Variable Function
263       41(param):      9(ptr) Variable Function
264              23:    6(float) Load 22(t.f)
265              25:     24(ptr) AccessChain 18(t) 20
266                              Store 25 23
267              28:    6(float) Load 27(t.g)
268              29:     24(ptr) AccessChain 18(t) 26
269                              Store 29 28
270              32:    6(float) Load 31(t.d)
271              33:     24(ptr) AccessChain 18(t) 30
272                              Store 33 32
273              37:    7(fvec4) Load 36(t.normal)
274              39:     38(ptr) AccessChain 18(t) 34
275                              Store 39 37
276              42:        8(T) Load 18(t)
277                              Store 41(param) 42
278              43:        8(T) FunctionCall 12(@main(struct-T-f1-f1-f1-vf41;) 41(param)
279                              Store 40(flattenTemp) 43
280              46:     24(ptr) AccessChain 40(flattenTemp) 20
281              47:    6(float) Load 46
282                              Store 45(@entryPointOutput.f) 47
283              49:     24(ptr) AccessChain 40(flattenTemp) 26
284              50:    6(float) Load 49
285                              Store 48(@entryPointOutput.g) 50
286              52:     24(ptr) AccessChain 40(flattenTemp) 30
287              53:    6(float) Load 52
288                              Store 51(@entryPointOutput.d) 53
289              56:     38(ptr) AccessChain 40(flattenTemp) 34
290              57:    7(fvec4) Load 56
291                              Store 55(@entryPointOutput.normal) 57
292                              Return
293                              FunctionEnd
29412(@main(struct-T-f1-f1-f1-vf41;):        8(T) Function None 10
295           11(t):      9(ptr) FunctionParameter
296              13:             Label
297       14(local):      9(ptr) Variable Function
298              15:        8(T) Load 14(local)
299                              ReturnValue 15
300                              FunctionEnd
301