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

error: SPIRV-Tools Validation Errors
error: Input variable id <20> is used by entry point 'main' id <4>, but is not listed as an interface
  %i_1 = OpVariable %_ptr_Input_ps_in Input

// Module Version 10000
// Generated by (magic number): 80007
// 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
