hlsl.emptystructreturn.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:10  Function Definition: @main(struct-ps_in1; ( temp structure{})
0:10    Function Parameters: 
0:10      'i' ( in structure{})
0:?     Sequence
0:12      Branch: Return with expression
0:12        'o' ( temp structure{})
0:10  Function Definition: main( ( temp void)
0:10    Function Parameters: 
0:?     Sequence
0:10      Sequence
0:10        move second child to first child ( temp structure{})
0:?           'i' ( temp structure{})
0:?           'i' ( in structure{})
0:10      Sequence
0:10        move second child to first child ( temp structure{})
0:?           '@entryPointOutput' ( out structure{})
0:10          Function Call: @main(struct-ps_in1; ( temp structure{})
0:?             'i' ( temp structure{})
0:?   Linker Objects


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:10  Function Definition: @main(struct-ps_in1; ( temp structure{})
0:10    Function Parameters: 
0:10      'i' ( in structure{})
0:?     Sequence
0:12      Branch: Return with expression
0:12        'o' ( temp structure{})
0:10  Function Definition: main( ( temp void)
0:10    Function Parameters: 
0:?     Sequence
0:10      Sequence
0:10        move second child to first child ( temp structure{})
0:?           'i' ( temp structure{})
0:?           'i' ( in structure{})
0:10      Sequence
0:10        move second child to first child ( temp structure{})
0:?           '@entryPointOutput' ( out structure{})
0:10          Function Call: @main(struct-ps_in1; ( temp structure{})
0:?             'i' ( temp structure{})
0:?   Linker Objects

// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 27

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 6  "ps_in"
                              Name 8  "ps_out"
                              Name 11  "@main(struct-ps_in1;"
                              Name 10  "i"
                              Name 14  "o"
                              Name 18  "i"
                              Name 20  "i"
                              Name 23  "@entryPointOutput"
                              Name 24  "param"
               2:             TypeVoid
               3:             TypeFunction 2
        6(ps_in):             TypeStruct
               7:             TypePointer Function 6(ps_in)
       8(ps_out):             TypeStruct
               9:             TypeFunction 8(ps_out) 7(ptr)
              13:             TypePointer Function 8(ps_out)
              19:             TypePointer Input 6(ps_in)
           20(i):     19(ptr) Variable Input
              22:             TypePointer Output 8(ps_out)
23(@entryPointOutput):     22(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           18(i):      7(ptr) Variable Function
       24(param):      7(ptr) Variable Function
              21:    6(ps_in) Load 20(i)
                              Store 18(i) 21
              25:    6(ps_in) Load 18(i)
                              Store 24(param) 25
              26:   8(ps_out) FunctionCall 11(@main(struct-ps_in1;) 24(param)
                              Store 23(@entryPointOutput) 26
                              Return
                              FunctionEnd
11(@main(struct-ps_in1;):   8(ps_out) Function None 9
           10(i):      7(ptr) FunctionParameter
              12:             Label
           14(o):     13(ptr) Variable Function
              15:   8(ps_out) Load 14(o)
                              ReturnValue 15
                              FunctionEnd
