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

Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// 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
