hlsl.fraggeom.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:9  Function Definition: GS_Draw(struct-myVertex-vf41;struct-myVertex-vf41; ( temp void)
0:9    Function Parameters: 
0:9      'IN' ( in structure{ temp 4-component vector of float pos})
0:9      'OutputStream' ( out structure{ temp 4-component vector of float pos})
0:?     Sequence
0:10      Constant:
0:10        0.000000
0:11      Constant:
0:11        0.000000
0:15  Function Definition: @main( ( temp 4-component vector of float)
0:15    Function Parameters: 
0:?     Sequence
0:16      Branch: Return with expression
0:16        Constant:
0:16          0.000000
0:16          0.000000
0:16          0.000000
0:16          0.000000
0:15  Function Definition: main( ( temp void)
0:15    Function Parameters: 
0:?     Sequence
0:15      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:15        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:9  Function Definition: GS_Draw(struct-myVertex-vf41;struct-myVertex-vf41; ( temp void)
0:9    Function Parameters: 
0:9      'IN' ( in structure{ temp 4-component vector of float pos})
0:9      'OutputStream' ( out structure{ temp 4-component vector of float pos})
0:?     Sequence
0:10      Constant:
0:10        0.000000
0:11      Constant:
0:11        0.000000
0:15  Function Definition: @main( ( temp 4-component vector of float)
0:15    Function Parameters: 
0:?     Sequence
0:16      Branch: Return with expression
0:16        Constant:
0:16          0.000000
0:16          0.000000
0:16          0.000000
0:16          0.000000
0:15  Function Definition: main( ( temp void)
0:15    Function Parameters: 
0:?     Sequence
0:15      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:15        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 23
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "myVertex"
                              MemberName 8(myVertex) 0  "pos"
                              Name 13  "GS_Draw(struct-myVertex-vf41;struct-myVertex-vf41;"
                              Name 11  "IN"
                              Name 12  "OutputStream"
                              Name 16  "@main("
                              Name 23  "@entryPointOutput"
                              Decorate 23(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
     8(myVertex):             TypeStruct 7(fvec4)
               9:             TypePointer Function 8(myVertex)
              10:             TypeFunction 2 9(ptr) 9(ptr)
              15:             TypeFunction 7(fvec4)
              18:    6(float) Constant 0
              19:    7(fvec4) ConstantComposite 18 18 18 18
              22:             TypePointer Output 7(fvec4)
23(@entryPointOutput):     22(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              24:    7(fvec4) FunctionCall 16(@main()
                              Store 23(@entryPointOutput) 24
                              Return
                              FunctionEnd
13(GS_Draw(struct-myVertex-vf41;struct-myVertex-vf41;):           2 Function None 10
          11(IN):      9(ptr) FunctionParameter
12(OutputStream):      9(ptr) FunctionParameter
              14:             Label
                              Return
                              FunctionEnd
      16(@main():    7(fvec4) Function None 15
              17:             Label
                              ReturnValue 19
                              FunctionEnd
